Draft dQM CMS Content Implementation Guide
2025.1.0 - CI Build

Draft dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2025/ and changes regularly. See the Directory of published versions

: NHSNGlycemicControlHypoglycemiaInitialPopulation - JSON Representation

Active as of 2025-08-21

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
  "meta" : {
    "profile" : [
      🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"🔗 ,
      "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"
    ]
  },
  "language" : "en",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n  <table class=\"narrative-table\">\n    <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"metadata\"> </a>Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">NHSNGlycemicControlHypoglycemiaInitialPopulation</td>\n\n\n</tr>\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">1.1.000</td>\n\n\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">NHSNGlycemicControlHypoglycemiaInitialPopulation</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">FHIR\n</td>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">CQL\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">Centers for Disease Control and Prevention (CDC)</td>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>NHSNGlycemicControlHypoglycemiaInitialPopulation</p>\n</div></td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n    <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <a name=\"cql-content\"> </a>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.\n*/\nlibrary NHSNGlycemicControlHypoglycemiaInitialPopulation version '1.1.000'\n\nusing USQualityCore version '0.1.0-cibuild'\nusing USCore version '6.1.0-derived'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon\ninclude hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude CQMCommon version '5.1.000' called CQMCommon\n\ncodesystem &quot;ActCode&quot;: 'http://terminology.hl7.org/CodeSystem/v3-ActCode'\ncodesystem &quot;HSLOC&quot;: 'https://www.cdc.gov/nhsn/cdaportal/terminology/codesystem/hsloc.html'\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\ncodesystem &quot;RxNorm&quot;: 'https://www.nlm.nih.gov/research/umls/rxnorm/index.html'\ncodesystem &quot;SNOMEDCT&quot;: 'http://snomed.info/sct'\n\nvalueset &quot;Blood Glucose Laboratory and Point of Care Tests&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38'\nvalueset &quot;Diabetes Medications&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58'\nvalueset &quot;Encounter Inpatient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset &quot;Inpatient, Emergency, and Observation Locations&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265'\nvalueset &quot;NHSN Inpatient Encounter Class Codes&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274'\n\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\n  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\n// Initial Population\n\n\ndefine &quot;Initial Population&quot;:\n  ( &quot;Inpatient Encounters During Measurement Period&quot;\n    union &quot;Encounters with Patient Hospital Locations&quot; ) InpatientEncounters\n    with &quot;Antidiabetic Drugs Administered or Ordered&quot; ADD\n      such that Coalesce(start of ADD.effective.toInterval(), ADD.authoredOn) during InpatientEncounters.&quot;hospitalizationWithObservation&quot; ( )\n    where ( InpatientEncounters.status = 'finished'\n        or InpatientEncounters.status = 'in-progress'\n        or InpatientEncounters.status = 'triaged'\n        or InpatientEncounters.status = 'onleave'\n        or InpatientEncounters.status = 'entered-in-error'\n    )\n\ndefine &quot;Inpatient Encounters During Measurement Period&quot;:\n  [Encounter: &quot;Encounter Inpatient&quot;] InpatientEncounters\n    where InpatientEncounters.period ends during day of &quot;Measurement Period&quot;\n      and ( InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient non-acute&quot;\n          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient non-acute&quot;\n          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;short stay&quot;\n          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient acute&quot;\n          or InpatientEncounters.class ~ USQualityCoreCommon.&quot;inpatient encounter&quot;\n      )\n\ndefine &quot;Encounters with Patient Hospital Locations&quot;:\n  &quot;Inpatient Encounters During Measurement Period&quot; InpatientEncounter\n    where exists ( InpatientEncounter.location HospitalLocation\n        where HospitalLocation.location.getLocation ( ).type in &quot;Inpatient, Emergency, and Observation Locations&quot;\n          and HospitalLocation.period during day of InpatientEncounter.period\n    )\n\ndefine &quot;Antidiabetic Drugs Administered or Ordered&quot;:\n  ( &quot;MedicationRequests&quot;\n    union &quot;MedicationAdministrations&quot; ) MedReqOrAdmin\n    where MedReqOrAdmin.getMedicationCode() in &quot;Diabetes Medications&quot;\n\n//Supplemental Data Elements\n\n\ndefine &quot;SDE Blood Glucose Observation&quot;:\n  ( [&quot;LaboratoryResultObservation&quot;: &quot;Blood Glucose Laboratory and Point of Care Tests&quot;] GlucoseTest\n      where exists ( &quot;Initial Population&quot; InitialPopulation\n          where start of GlucoseTest.effective.toInterval ( ) during day of InitialPopulation.period\n            or GlucoseTest.issued during day of InitialPopulation.period\n      )\n      return { GlucoseTest.id, GlucoseTest.extension, GlucoseTest.text, GlucoseTest.referenceRange, GlucoseTest.component, GlucoseTest.basedOn, GlucoseTest.partOf, GlucoseTest.category, GlucoseTest.status, GlucoseTest.subject, GlucoseTest.focus, GlucoseTest.encounter, GlucoseTest.effective, GlucoseTest.issued, GlucoseTest.performer, GlucoseTest.value, GlucoseTest.dataAbsentReason, GlucoseTest.interpretation, GlucoseTest.note, GlucoseTest.bodySite, GlucoseTest.method, GlucoseTest.specimen, GlucoseTest.device, GlucoseTest.hasMember, GlucoseTest.derivedFrom }\n  )\n\ndefine &quot;SDE Chief Complaint&quot;:\n  &quot;Initial Population&quot; IP\n    where exists ( IP.diagnosis InitialPopulationDiagnosis\n        where InitialPopulationDiagnosis.use ~ FHIRCommon.&quot;CC&quot;\n    )\n    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine &quot;Conditions&quot;:\n  [&quot;ConditionProblemsHealthConcerns&quot;]\n    union [&quot;ConditionEncounterDiagnosis&quot;]\n\ndefine &quot;SDE Condition&quot;:\n  [&quot;ConditionProblemsHealthConcerns&quot;] Diagnosis\n    where exists ( &quot;Initial Population&quot; IP\n        where Diagnosis.prevalenceInterval ( ) overlaps day of IP.period\n    )\n    return { Diagnosis.id, Diagnosis.meta, Diagnosis.clinicalStatus, Diagnosis.verificationStatus, Diagnosis.category, Diagnosis.severity, Diagnosis.code, Diagnosis.bodySite, Diagnosis.subject, Diagnosis.encounter.reference.getId(), Diagnosis.onset, Diagnosis.stage, Diagnosis.evidence, Diagnosis.note }\n\ndefine &quot;SDE Coverage&quot;:\n  [Coverage] Coverages\n    where exists ( &quot;Initial Population&quot; IP\n        where Coverages.period starts before or on day of IP.period\n          and end of Coverages.period on or after day of end of IP.period\n    )\n    return { Coverages.id, Coverages.meta, Coverages.status, Coverages.type, Coverages.policyHolder, Coverages.subscriber, Coverages.subscriberId, Coverages.beneficiary, Coverages.dependent, Coverages.relationship, Coverages.period, Coverages.payor, Coverages.class, Coverages.order, Coverages.network, Coverages.subrogation, Coverages.contract }\n\ndefine &quot;Encounters&quot;:\n  [Encounter]\n\ndefine &quot;SDE Encounter Locations&quot;:\n  &quot;Initial Population&quot; IP\n    where exists ( IP.location InitialPopulationLocation\n        let types: ( InitialPopulationLocation.location ).getLocation ( ).type\n        where exists ( types type\n            where type in &quot;Inpatient, Emergency, and Observation Locations&quot;\n        )\n          and InitialPopulationLocation.period during IP.period\n    )\n    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine &quot;Get Locations from Initial Population&quot;:\n  flatten ( &quot;Initial Population&quot; IP\n      let locationElements: IP.location\n      return locationElements LE\n        let locationReference: LE.location\n        return ( locationReference.getLocation ( ) )\n  )\n\ndefine &quot;SDE Location&quot;:\n  &quot;Get Locations from Initial Population&quot; Locations\n    where exists &quot;Initial Population&quot;\n      and Locations is not null\n    return { Locations.id, Locations.meta, Locations.extension, Locations.status, Locations.operationalStatus, Locations.name, Locations.alias, Locations.description, Locations.mode, Locations.type, Locations.telecom, Locations.address, Locations.physicalType, Locations.position, Locations.managingOrganization, Locations.partOf, Locations.hoursOfOperation, Locations.availabilityExceptions, Locations.endpoint }\n\ndefine &quot;SDE Initial Population Encounters&quot;:\n  &quot;Initial Population&quot; IP\n    return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine &quot;SDE Medication&quot;:\n  ( &quot;MedicationRequests&quot;\n    union &quot;MedicationAdministrations&quot; ) MedReqOrAdmin\n    let medication: GetMedication(MedReqOrAdmin.medication as Reference)\n    where medication is not null\n      and exists ( &quot;Initial Population&quot; IP\n          where Coalesce(MedReqOrAdmin.effective.toInterval(), MedReqOrAdmin.authoredOn.toInterval()) overlaps IP.&quot;hospitalizationWithObservation&quot; ( )\n      )\n    return { medication.id, medication.meta, medication.code, medication.status, medication.manufacturer, medication.form, medication.amount, medication.ingredient, medication.batch }\n\ndefine function &quot;GetMedication&quot;(reference Reference):\n  singleton from ( [Medication] Medication\n      where reference.references ( Medication )\n  )\n\ndefine &quot;MedicationAdministrations&quot;:\n  [MedicationAdministration]\n\ndefine &quot;SDE Medication Administration&quot;:\n  &quot;MedicationAdministrations&quot; MedAdministrations\n    where exists ( &quot;Initial Population&quot; InitialPopulation\n        where MedAdministrations.effective.toInterval ( ) overlaps InitialPopulation.&quot;hospitalizationWithObservation&quot; ( )\n    )\n    return { MedAdministrations.id, MedAdministrations.meta, MedAdministrations.instantiates, MedAdministrations.partOf, MedAdministrations.status, MedAdministrations.statusReason, MedAdministrations.category, MedAdministrations.medication, MedAdministrations.subject, MedAdministrations.context, MedAdministrations.supportingInformation, MedAdministrations.effective, MedAdministrations.performer, MedAdministrations.reasonCode, MedAdministrations.reasonReference, MedAdministrations.request, MedAdministrations.device, MedAdministrations.note, MedAdministrations.dosage }\n\ndefine &quot;MedicationRequests&quot;:\n  [MedicationRequest]\n\ndefine &quot;SDE Medication Request&quot;:\n  &quot;MedicationRequests&quot; MedRequests\n    where exists ( &quot;Initial Population&quot; InitialPopulation\n        where MedRequests.authoredOn during InitialPopulation.&quot;hospitalizationWithObservation&quot; ( )\n    )\n    return { MedRequests.id, MedRequests.meta, MedRequests.status, MedRequests.statusReason, MedRequests.intent, MedRequests.category, MedRequests.priority, MedRequests.doNotPerform, MedRequests.reported, MedRequests.medication, MedRequests.subject, MedRequests.encounter, MedRequests.authoredOn, MedRequests.requester, MedRequests.recorder, MedRequests.reasonCode, MedRequests.reasonReference, MedRequests.instantiatesCanonical, MedRequests.instantiatesUri, MedRequests.courseOfTherapyType, MedRequests.dosageInstruction }\n\ndefine &quot;SDE Minimal Patient&quot;:\n  [Patient] MinPt\n    where exists &quot;Initial Population&quot;\n    return { MinPt.id, MinPt.meta, MinPt.extension, MinPt.identifier, MinPt.active, MinPt.name, MinPt.telecom, MinPt.gender, MinPt.birthDate, MinPt.deceased, MinPt.address, MinPt.maritalStatus, MinPt.multipleBirth, MinPt.photo, MinPt.contact, MinPt.communication, MinPt.generalPractitioner, MinPt.managingOrganization, MinPt.link }\n\ndefine &quot;SDE Service Request&quot;:\n  [ServiceRequest] ServiceRequests\n    where exists ( &quot;Initial Population&quot; InitialPopulation\n        where ServiceRequests.authoredOn during InitialPopulation.period\n    )\n    return { ServiceRequests.id, ServiceRequests.meta, ServiceRequests.instantiatesCanonical, ServiceRequests.instantiatesUri, ServiceRequests.basedOn, ServiceRequests.replaces, ServiceRequests.requisition, ServiceRequests.status, ServiceRequests.intent, ServiceRequests.category, ServiceRequests.priority, ServiceRequests.doNotPerform, ServiceRequests.code, ServiceRequests.orderDetail, ServiceRequests.quantity, ServiceRequests.subject, ServiceRequests.encounter, ServiceRequests.occurrence, ServiceRequests.asNeeded, ServiceRequests.authoredOn, ServiceRequests.requester, ServiceRequests.performerType, ServiceRequests.performer, ServiceRequests.locationCode, ServiceRequests.reasonCode, ServiceRequests.reasonReference, ServiceRequests.insurance, ServiceRequests.bodySite, ServiceRequests.note, ServiceRequests.patientInstruction }\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;</code></pre>\n      </td>\n    </tr>\n    \n  \n\n\n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
      "valueReference" : {
        "reference" : "Device/cqf-tooling"
      }
    }
  ],
  "url" : "https://madie.cms.gov/Library/NHSNGlycemicControlHypoglycemiaInitialPopulation",
  "identifier" : [
    {
      "use" : "official",
      "system" : "https://madie.cms.gov/login",
      "value" : "NHSNGlycemicControlHypoglycemiaInitialPopulation"
    }
  ],
  "version" : "1.1.000",
  "name" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
  "title" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
  "status" : "active",
  "experimental" : false,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2025-08-21T20:27:13+00:00",
  "publisher" : "Centers for Disease Control and Prevention (CDC)",
  "description" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
  "topic" : [
    {
      "text" : "FHIR"
    },
    {
      "text" : "CQL"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBOSFNOR2x5Y2VtaWNDb250cm9sSHlwb2dseWNlbWlhSW5pdGlhbFBvcHVsYXRpb24gdmVyc2lvbiAnMS4xLjAwMCcKCnVzaW5nIFVTUXVhbGl0eUNvcmUgdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCmluY2x1ZGUgaGw3LmZoaXIudXMuY3FsLlVTQ29yZUNvbW1vbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAtYmFsbG90JyBjYWxsZWQgVVNDb3JlRWxlbWVudHMKCmluY2x1ZGUgVVNRdWFsaXR5Q29yZUNvbW1vbiB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJyBjYWxsZWQgVVNRdWFsaXR5Q29yZUNvbW1vbgppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50cyB2ZXJzaW9uICc2LjEuMDAwJyBjYWxsZWQgU0RFCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KCmNvZGVzeXN0ZW0gIkFjdENvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1BY3RDb2RlJwpjb2Rlc3lzdGVtICJIU0xPQyI6ICdodHRwczovL3d3dy5jZGMuZ292L25oc24vY2RhcG9ydGFsL3Rlcm1pbm9sb2d5L2NvZGVzeXN0ZW0vaHNsb2MuaHRtbCcKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiUnhOb3JtIjogJ2h0dHBzOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtL2luZGV4Lmh0bWwnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnCgp2YWx1ZXNldCAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC4zOCcKdmFsdWVzZXQgIkRpYWJldGVzIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC41OCcKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSW5wYXRpZW50LCBFbWVyZ2VuY3ksIGFuZCBPYnNlcnZhdGlvbiBMb2NhdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI2NScKdmFsdWVzZXQgIk5IU04gSW5wYXRpZW50IEVuY291bnRlciBDbGFzcyBDb2RlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDYuMjc0JwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWiwgQDIwMjctMDEtMDFUMDA6MDA6MDAuMDAwWikKCmNvbnRleHQgUGF0aWVudAoKLy8gSW5pdGlhbCBQb3B1bGF0aW9uCgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogICggIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiCiAgICB1bmlvbiAiRW5jb3VudGVycyB3aXRoIFBhdGllbnQgSG9zcGl0YWwgTG9jYXRpb25zIiApIElucGF0aWVudEVuY291bnRlcnMKICAgIHdpdGggIkFudGlkaWFiZXRpYyBEcnVncyBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgQURECiAgICAgIHN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBBREQuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSwgQURELmF1dGhvcmVkT24pIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXJzLiJob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iICggKQogICAgd2hlcmUgKCBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdmaW5pc2hlZCcKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdpbi1wcm9ncmVzcycKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICd0cmlhZ2VkJwogICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuc3RhdHVzID0gJ29ubGVhdmUnCiAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5zdGF0dXMgPSAnZW50ZXJlZC1pbi1lcnJvcicKICAgICkKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlcnMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6CiAgW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXJzCiAgICB3aGVyZSBJbnBhdGllbnRFbmNvdW50ZXJzLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kICggSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBub24tYWN1dGUiCiAgICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLmNsYXNzIH4gVVNRdWFsaXR5Q29yZUNvbW1vbi4iaW5wYXRpZW50IG5vbi1hY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJzaG9ydCBzdGF5IgogICAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBhY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJpbnBhdGllbnQgZW5jb3VudGVyIgogICAgICApCgpkZWZpbmUgIkVuY291bnRlcnMgd2l0aCBQYXRpZW50IEhvc3BpdGFsIExvY2F0aW9ucyI6CiAgIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIElucGF0aWVudEVuY291bnRlcgogICAgd2hlcmUgZXhpc3RzICggSW5wYXRpZW50RW5jb3VudGVyLmxvY2F0aW9uIEhvc3BpdGFsTG9jYXRpb24KICAgICAgICB3aGVyZSBIb3NwaXRhbExvY2F0aW9uLmxvY2F0aW9uLmdldExvY2F0aW9uICggKS50eXBlIGluICJJbnBhdGllbnQsIEVtZXJnZW5jeSwgYW5kIE9ic2VydmF0aW9uIExvY2F0aW9ucyIKICAgICAgICAgIGFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgZGF5IG9mIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCmRlZmluZSAiQW50aWRpYWJldGljIERydWdzIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKICAoICJNZWRpY2F0aW9uUmVxdWVzdHMiCiAgICB1bmlvbiAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyIgKSBNZWRSZXFPckFkbWluCiAgICB3aGVyZSBNZWRSZXFPckFkbWluLmdldE1lZGljYXRpb25Db2RlKCkgaW4gIkRpYWJldGVzIE1lZGljYXRpb25zIgoKLy9TdXBwbGVtZW50YWwgRGF0YSBFbGVtZW50cwoKCmRlZmluZSAiU0RFIEJsb29kIEdsdWNvc2UgT2JzZXJ2YXRpb24iOgogICggWyJMYWJvcmF0b3J5UmVzdWx0T2JzZXJ2YXRpb24iOiAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIl0gR2x1Y29zZVRlc3QKICAgICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICAgIHdoZXJlIHN0YXJ0IG9mIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBkdXJpbmcgZGF5IG9mIEluaXRpYWxQb3B1bGF0aW9uLnBlcmlvZAogICAgICAgICAgICBvciBHbHVjb3NlVGVzdC5pc3N1ZWQgZHVyaW5nIGRheSBvZiBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICAgKQogICAgICByZXR1cm4geyBHbHVjb3NlVGVzdC5pZCwgR2x1Y29zZVRlc3QuZXh0ZW5zaW9uLCBHbHVjb3NlVGVzdC50ZXh0LCBHbHVjb3NlVGVzdC5yZWZlcmVuY2VSYW5nZSwgR2x1Y29zZVRlc3QuY29tcG9uZW50LCBHbHVjb3NlVGVzdC5iYXNlZE9uLCBHbHVjb3NlVGVzdC5wYXJ0T2YsIEdsdWNvc2VUZXN0LmNhdGVnb3J5LCBHbHVjb3NlVGVzdC5zdGF0dXMsIEdsdWNvc2VUZXN0LnN1YmplY3QsIEdsdWNvc2VUZXN0LmZvY3VzLCBHbHVjb3NlVGVzdC5lbmNvdW50ZXIsIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZSwgR2x1Y29zZVRlc3QuaXNzdWVkLCBHbHVjb3NlVGVzdC5wZXJmb3JtZXIsIEdsdWNvc2VUZXN0LnZhbHVlLCBHbHVjb3NlVGVzdC5kYXRhQWJzZW50UmVhc29uLCBHbHVjb3NlVGVzdC5pbnRlcnByZXRhdGlvbiwgR2x1Y29zZVRlc3Qubm90ZSwgR2x1Y29zZVRlc3QuYm9keVNpdGUsIEdsdWNvc2VUZXN0Lm1ldGhvZCwgR2x1Y29zZVRlc3Quc3BlY2ltZW4sIEdsdWNvc2VUZXN0LmRldmljZSwgR2x1Y29zZVRlc3QuaGFzTWVtYmVyLCBHbHVjb3NlVGVzdC5kZXJpdmVkRnJvbSB9CiAgKQoKZGVmaW5lICJTREUgQ2hpZWYgQ29tcGxhaW50IjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAuZGlhZ25vc2lzIEluaXRpYWxQb3B1bGF0aW9uRGlhZ25vc2lzCiAgICAgICAgd2hlcmUgSW5pdGlhbFBvcHVsYXRpb25EaWFnbm9zaXMudXNlIH4gRkhJUkNvbW1vbi4iQ0MiCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiQ29uZGl0aW9ucyI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIl0KCmRlZmluZSAiU0RFIENvbmRpdGlvbiI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0gRGlhZ25vc2lzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgIHdoZXJlIERpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIG92ZXJsYXBzIGRheSBvZiBJUC5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IERpYWdub3Npcy5pZCwgRGlhZ25vc2lzLm1ldGEsIERpYWdub3Npcy5jbGluaWNhbFN0YXR1cywgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cywgRGlhZ25vc2lzLmNhdGVnb3J5LCBEaWFnbm9zaXMuc2V2ZXJpdHksIERpYWdub3Npcy5jb2RlLCBEaWFnbm9zaXMuYm9keVNpdGUsIERpYWdub3Npcy5zdWJqZWN0LCBEaWFnbm9zaXMuZW5jb3VudGVyLnJlZmVyZW5jZS5nZXRJZCgpLCBEaWFnbm9zaXMub25zZXQsIERpYWdub3Npcy5zdGFnZSwgRGlhZ25vc2lzLmV2aWRlbmNlLCBEaWFnbm9zaXMubm90ZSB9CgpkZWZpbmUgIlNERSBDb3ZlcmFnZSI6CiAgW0NvdmVyYWdlXSBDb3ZlcmFnZXMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgICAgd2hlcmUgQ292ZXJhZ2VzLnBlcmlvZCBzdGFydHMgYmVmb3JlIG9yIG9uIGRheSBvZiBJUC5wZXJpb2QKICAgICAgICAgIGFuZCBlbmQgb2YgQ292ZXJhZ2VzLnBlcmlvZCBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIElQLnBlcmlvZAogICAgKQogICAgcmV0dXJuIHsgQ292ZXJhZ2VzLmlkLCBDb3ZlcmFnZXMubWV0YSwgQ292ZXJhZ2VzLnN0YXR1cywgQ292ZXJhZ2VzLnR5cGUsIENvdmVyYWdlcy5wb2xpY3lIb2xkZXIsIENvdmVyYWdlcy5zdWJzY3JpYmVyLCBDb3ZlcmFnZXMuc3Vic2NyaWJlcklkLCBDb3ZlcmFnZXMuYmVuZWZpY2lhcnksIENvdmVyYWdlcy5kZXBlbmRlbnQsIENvdmVyYWdlcy5yZWxhdGlvbnNoaXAsIENvdmVyYWdlcy5wZXJpb2QsIENvdmVyYWdlcy5wYXlvciwgQ292ZXJhZ2VzLmNsYXNzLCBDb3ZlcmFnZXMub3JkZXIsIENvdmVyYWdlcy5uZXR3b3JrLCBDb3ZlcmFnZXMuc3Vicm9nYXRpb24sIENvdmVyYWdlcy5jb250cmFjdCB9CgpkZWZpbmUgIkVuY291bnRlcnMiOgogIFtFbmNvdW50ZXJdCgpkZWZpbmUgIlNERSBFbmNvdW50ZXIgTG9jYXRpb25zIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAubG9jYXRpb24gSW5pdGlhbFBvcHVsYXRpb25Mb2NhdGlvbgogICAgICAgIGxldCB0eXBlczogKCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLmxvY2F0aW9uICkuZ2V0TG9jYXRpb24gKCApLnR5cGUKICAgICAgICB3aGVyZSBleGlzdHMgKCB0eXBlcyB0eXBlCiAgICAgICAgICAgIHdoZXJlIHR5cGUgaW4gIklucGF0aWVudCwgRW1lcmdlbmN5LCBhbmQgT2JzZXJ2YXRpb24gTG9jYXRpb25zIgogICAgICAgICkKICAgICAgICAgIGFuZCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLnBlcmlvZCBkdXJpbmcgSVAucGVyaW9kCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiI6CiAgZmxhdHRlbiAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgIGxldCBsb2NhdGlvbkVsZW1lbnRzOiBJUC5sb2NhdGlvbgogICAgICByZXR1cm4gbG9jYXRpb25FbGVtZW50cyBMRQogICAgICAgIGxldCBsb2NhdGlvblJlZmVyZW5jZTogTEUubG9jYXRpb24KICAgICAgICByZXR1cm4gKCBsb2NhdGlvblJlZmVyZW5jZS5nZXRMb2NhdGlvbiAoICkgKQogICkKCmRlZmluZSAiU0RFIExvY2F0aW9uIjoKICAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiIgTG9jYXRpb25zCiAgICB3aGVyZSBleGlzdHMgIkluaXRpYWwgUG9wdWxhdGlvbiIKICAgICAgYW5kIExvY2F0aW9ucyBpcyBub3QgbnVsbAogICAgcmV0dXJuIHsgTG9jYXRpb25zLmlkLCBMb2NhdGlvbnMubWV0YSwgTG9jYXRpb25zLmV4dGVuc2lvbiwgTG9jYXRpb25zLnN0YXR1cywgTG9jYXRpb25zLm9wZXJhdGlvbmFsU3RhdHVzLCBMb2NhdGlvbnMubmFtZSwgTG9jYXRpb25zLmFsaWFzLCBMb2NhdGlvbnMuZGVzY3JpcHRpb24sIExvY2F0aW9ucy5tb2RlLCBMb2NhdGlvbnMudHlwZSwgTG9jYXRpb25zLnRlbGVjb20sIExvY2F0aW9ucy5hZGRyZXNzLCBMb2NhdGlvbnMucGh5c2ljYWxUeXBlLCBMb2NhdGlvbnMucG9zaXRpb24sIExvY2F0aW9ucy5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTG9jYXRpb25zLnBhcnRPZiwgTG9jYXRpb25zLmhvdXJzT2ZPcGVyYXRpb24sIExvY2F0aW9ucy5hdmFpbGFiaWxpdHlFeGNlcHRpb25zLCBMb2NhdGlvbnMuZW5kcG9pbnQgfQoKZGVmaW5lICJTREUgSW5pdGlhbCBQb3B1bGF0aW9uIEVuY291bnRlcnMiOgogICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24iOgogICggIk1lZGljYXRpb25SZXF1ZXN0cyIKICAgIHVuaW9uICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiApIE1lZFJlcU9yQWRtaW4KICAgIGxldCBtZWRpY2F0aW9uOiBHZXRNZWRpY2F0aW9uKE1lZFJlcU9yQWRtaW4ubWVkaWNhdGlvbiBhcyBSZWZlcmVuY2UpCiAgICB3aGVyZSBtZWRpY2F0aW9uIGlzIG5vdCBudWxsCiAgICAgIGFuZCBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgICAgd2hlcmUgQ29hbGVzY2UoTWVkUmVxT3JBZG1pbi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpLCBNZWRSZXFPckFkbWluLmF1dGhvcmVkT24udG9JbnRlcnZhbCgpKSBvdmVybGFwcyBJUC4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICAgKQogICAgcmV0dXJuIHsgbWVkaWNhdGlvbi5pZCwgbWVkaWNhdGlvbi5tZXRhLCBtZWRpY2F0aW9uLmNvZGUsIG1lZGljYXRpb24uc3RhdHVzLCBtZWRpY2F0aW9uLm1hbnVmYWN0dXJlciwgbWVkaWNhdGlvbi5mb3JtLCBtZWRpY2F0aW9uLmFtb3VudCwgbWVkaWNhdGlvbi5pbmdyZWRpZW50LCBtZWRpY2F0aW9uLmJhdGNoIH0KCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbiIocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKCBbTWVkaWNhdGlvbl0gTWVkaWNhdGlvbgogICAgICB3aGVyZSByZWZlcmVuY2UucmVmZXJlbmNlcyAoIE1lZGljYXRpb24gKQogICkKCmRlZmluZSAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyI6CiAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iOgogICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiBNZWRBZG1pbmlzdHJhdGlvbnMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIEluaXRpYWxQb3B1bGF0aW9uCiAgICAgICAgd2hlcmUgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBvdmVybGFwcyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZEFkbWluaXN0cmF0aW9ucy5pZCwgTWVkQWRtaW5pc3RyYXRpb25zLm1ldGEsIE1lZEFkbWluaXN0cmF0aW9ucy5pbnN0YW50aWF0ZXMsIE1lZEFkbWluaXN0cmF0aW9ucy5wYXJ0T2YsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXMsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXNSZWFzb24sIE1lZEFkbWluaXN0cmF0aW9ucy5jYXRlZ29yeSwgTWVkQWRtaW5pc3RyYXRpb25zLm1lZGljYXRpb24sIE1lZEFkbWluaXN0cmF0aW9ucy5zdWJqZWN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuY29udGV4dCwgTWVkQWRtaW5pc3RyYXRpb25zLnN1cHBvcnRpbmdJbmZvcm1hdGlvbiwgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZSwgTWVkQWRtaW5pc3RyYXRpb25zLnBlcmZvcm1lciwgTWVkQWRtaW5pc3RyYXRpb25zLnJlYXNvbkNvZGUsIE1lZEFkbWluaXN0cmF0aW9ucy5yZWFzb25SZWZlcmVuY2UsIE1lZEFkbWluaXN0cmF0aW9ucy5yZXF1ZXN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuZGV2aWNlLCBNZWRBZG1pbmlzdHJhdGlvbnMubm90ZSwgTWVkQWRtaW5pc3RyYXRpb25zLmRvc2FnZSB9CgpkZWZpbmUgIk1lZGljYXRpb25SZXF1ZXN0cyI6CiAgW01lZGljYXRpb25SZXF1ZXN0XQoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKICAiTWVkaWNhdGlvblJlcXVlc3RzIiBNZWRSZXF1ZXN0cwogICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICB3aGVyZSBNZWRSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZFJlcXVlc3RzLmlkLCBNZWRSZXF1ZXN0cy5tZXRhLCBNZWRSZXF1ZXN0cy5zdGF0dXMsIE1lZFJlcXVlc3RzLnN0YXR1c1JlYXNvbiwgTWVkUmVxdWVzdHMuaW50ZW50LCBNZWRSZXF1ZXN0cy5jYXRlZ29yeSwgTWVkUmVxdWVzdHMucHJpb3JpdHksIE1lZFJlcXVlc3RzLmRvTm90UGVyZm9ybSwgTWVkUmVxdWVzdHMucmVwb3J0ZWQsIE1lZFJlcXVlc3RzLm1lZGljYXRpb24sIE1lZFJlcXVlc3RzLnN1YmplY3QsIE1lZFJlcXVlc3RzLmVuY291bnRlciwgTWVkUmVxdWVzdHMuYXV0aG9yZWRPbiwgTWVkUmVxdWVzdHMucmVxdWVzdGVyLCBNZWRSZXF1ZXN0cy5yZWNvcmRlciwgTWVkUmVxdWVzdHMucmVhc29uQ29kZSwgTWVkUmVxdWVzdHMucmVhc29uUmVmZXJlbmNlLCBNZWRSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIE1lZFJlcXVlc3RzLmluc3RhbnRpYXRlc1VyaSwgTWVkUmVxdWVzdHMuY291cnNlT2ZUaGVyYXB5VHlwZSwgTWVkUmVxdWVzdHMuZG9zYWdlSW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgTWluaW1hbCBQYXRpZW50IjoKICBbUGF0aWVudF0gTWluUHQKICAgIHdoZXJlIGV4aXN0cyAiSW5pdGlhbCBQb3B1bGF0aW9uIgogICAgcmV0dXJuIHsgTWluUHQuaWQsIE1pblB0Lm1ldGEsIE1pblB0LmV4dGVuc2lvbiwgTWluUHQuaWRlbnRpZmllciwgTWluUHQuYWN0aXZlLCBNaW5QdC5uYW1lLCBNaW5QdC50ZWxlY29tLCBNaW5QdC5nZW5kZXIsIE1pblB0LmJpcnRoRGF0ZSwgTWluUHQuZGVjZWFzZWQsIE1pblB0LmFkZHJlc3MsIE1pblB0Lm1hcml0YWxTdGF0dXMsIE1pblB0Lm11bHRpcGxlQmlydGgsIE1pblB0LnBob3RvLCBNaW5QdC5jb250YWN0LCBNaW5QdC5jb21tdW5pY2F0aW9uLCBNaW5QdC5nZW5lcmFsUHJhY3RpdGlvbmVyLCBNaW5QdC5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTWluUHQubGluayB9CgpkZWZpbmUgIlNERSBTZXJ2aWNlIFJlcXVlc3QiOgogIFtTZXJ2aWNlUmVxdWVzdF0gU2VydmljZVJlcXVlc3RzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogICAgICAgIHdoZXJlIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IFNlcnZpY2VSZXF1ZXN0cy5pZCwgU2VydmljZVJlcXVlc3RzLm1ldGEsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNVcmksIFNlcnZpY2VSZXF1ZXN0cy5iYXNlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVwbGFjZXMsIFNlcnZpY2VSZXF1ZXN0cy5yZXF1aXNpdGlvbiwgU2VydmljZVJlcXVlc3RzLnN0YXR1cywgU2VydmljZVJlcXVlc3RzLmludGVudCwgU2VydmljZVJlcXVlc3RzLmNhdGVnb3J5LCBTZXJ2aWNlUmVxdWVzdHMucHJpb3JpdHksIFNlcnZpY2VSZXF1ZXN0cy5kb05vdFBlcmZvcm0sIFNlcnZpY2VSZXF1ZXN0cy5jb2RlLCBTZXJ2aWNlUmVxdWVzdHMub3JkZXJEZXRhaWwsIFNlcnZpY2VSZXF1ZXN0cy5xdWFudGl0eSwgU2VydmljZVJlcXVlc3RzLnN1YmplY3QsIFNlcnZpY2VSZXF1ZXN0cy5lbmNvdW50ZXIsIFNlcnZpY2VSZXF1ZXN0cy5vY2N1cnJlbmNlLCBTZXJ2aWNlUmVxdWVzdHMuYXNOZWVkZWQsIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVxdWVzdGVyLCBTZXJ2aWNlUmVxdWVzdHMucGVyZm9ybWVyVHlwZSwgU2VydmljZVJlcXVlc3RzLnBlcmZvcm1lciwgU2VydmljZVJlcXVlc3RzLmxvY2F0aW9uQ29kZSwgU2VydmljZVJlcXVlc3RzLnJlYXNvbkNvZGUsIFNlcnZpY2VSZXF1ZXN0cy5yZWFzb25SZWZlcmVuY2UsIFNlcnZpY2VSZXF1ZXN0cy5pbnN1cmFuY2UsIFNlcnZpY2VSZXF1ZXN0cy5ib2R5U2l0ZSwgU2VydmljZVJlcXVlc3RzLm5vdGUsIFNlcnZpY2VSZXF1ZXN0cy5wYXRpZW50SW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgi",
      "url" : "https://madie.cms.gov/Library-NHSNGlycemicControlHypoglycemiaInitialPopulation.cql"
    }
  ]
}