eCQM QICore Content Implementation Guide
2025.0.0 - CI Build

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

: OncologyPainIntensityQuantifiedFHIR - TTL Representation

Active as of 2025-04-16

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "OncologyPainIntensityQuantifiedFHIR"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library>     ] )
  ] ; # 
  fhir:language [ fhir:v "en"] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">OncologyPainIntensityQuantifiedFHIR</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">OncologyPainIntensityQuantifiedFHIR</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.3.000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\">https://madie.cms.gov/Library/OncologyPainIntensityQuantifiedFHIR</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\">\n                <b>\n                    \n                        official\n                    \n                </b>\n            </th>\n            <td style=\"padding-left: 4px;\">\n                \n                <p style=\"margin-bottom: 5px;\">\n                    <span>OncologyPainIntensityQuantifiedFHIR</span>\n                </p>\n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span>http://terminology.hl7.org/CodeSystem/library-type</span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2025-04-16T15:15:42+00:00</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">American Society of Clinical Oncology</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\">OncologyPainIntensityQuantifiedFHIR</td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                \n                <p><b>Dependencies</b></p>\n                <ul>\n                  \n                    <li>https://madie.cms.gov/Library/QICoreCommon|4.0.000</li>\n                  \n                    <li>http://www.ama-assn.org/go/cpt</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1026</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1010</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.1444.5.215</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1027</li>\n                  \n                    <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1028</li>\n                  \n                </ul>\n                \n                \n                \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n          <th scope=\"row\"><b>Data Requirements:</b></th>\n          <td style=\"padding-left: 4px;\">\n            <table class=\"grid-dict\">\n              <tr><th><b>Type</b></th><th><b>Profile</b></th><th><b>MS</b></th><th><b>Code Filter</b></th></tr>\n              \n                <tr>\n                  <th>Encounter</th>\n                  <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n                  <th>;;</th>\n                  <th>\n                    \n                      <b>code filter: </b>\n                      \n                      <br/>\n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>path: </b><span>type</span>\n                      </span>\n                      \n                      <br/>\n                      \n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span>\n                      </span>\n                      \n                      \n                    \n                  </th>\n                </tr>\n              \n                <tr>\n                  <th>Encounter</th>\n                  <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n                  <th>;;</th>\n                  <th>\n                    \n                      <b>code filter: </b>\n                      \n                      <br/>\n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>path: </b><span>type</span>\n                      </span>\n                      \n                      <br/>\n                      \n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.1444.5.215</span>\n                      </span>\n                      \n                      \n                    \n                  </th>\n                </tr>\n              \n                <tr>\n                  <th>Observation</th>\n                  <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-screening-assessment</th>\n                  <th>;;;;;</th>\n                  <th>\n                    \n                      <b>code filter: </b>\n                      \n                      <br/>\n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>path: </b><span>code</span>\n                      </span>\n                      \n                      <br/>\n                      \n                      \n                      \n                      <span style=\"padding-left: 4px;\">\n                          <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1028</span>\n                      </span>\n                      \n                      \n                    \n                  </th>\n                </tr>\n              \n            </table>\n          </td>\n        </tr>\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">library OncologyPainIntensityQuantifiedFHIR version '0.3.000'#xD;\n#xD;\nusing QICore version '6.0.0'#xD;\n#xD;\ninclude FHIRHelpers version '4.4.000' called FHIRHelpers#xD;\ninclude CQMCommon version '4.0.000' called CQMCommon#xD;\ninclude QICoreCommon version '4.0.000' called QICoreCommon#xD;\ninclude SupplementalDataElements version '5.1.000' called SDE#xD;\n#xD;\ncodesystem \"CPT\": 'http://www.ama-assn.org/go/cpt'#xD;\n#xD;\nvalueset \"Audio Visual Telehealth Encounter\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.1444.5.215'#xD;\nvalueset \"Cancer\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1010'#xD;\nvalueset \"Chemotherapy Administration\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1027'#xD;\nvalueset \"Office Visit\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'#xD;\nvalueset \"Radiation Treatment Management\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1026'#xD;\nvalueset \"Standardized Pain Assessment Tool\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1028'#xD;\n#xD;\ncode \"Radiation treatment management, 5 treatments\": '77427' from \"CPT\" display 'Radiation treatment management, 5 treatments'#xD;\n#xD;\nparameter \"Measurement Period\" Interval&lt;DateTime&gt;#xD;\n#xD;\ncontext Patient#xD;\n#xD;\ndefine \"Denominator 1\":#xD;\n  \"Initial Population 1\"#xD;\n#xD;\ndefine \"Denominator 2\":#xD;\n  \"Initial Population 2\"#xD;\n#xD;\ndefine \"Initial Population 1\":#xD;\n  \"Face to Face or Telehealth Encounter with Ongoing Chemotherapy\"#xD;\n#xD;\ndefine \"Initial Population 2\":#xD;\n  \"Radiation Treatment Management During Measurement Period with Cancer Diagnosis\"#xD;\n#xD;\ndefine \"Chemotherapy Within 31 Days Prior and During Measurement Period\":#xD;\n  [Procedure: \"Chemotherapy Administration\"] ChemoAdministration#xD;\n    where ChemoAdministration.performed.toInterval ( ) during Interval[start of \"Measurement Period\" - 31 days, end of \"Measurement Period\"]#xD;\n      and ChemoAdministration.status = 'completed'#xD;\n#xD;\ndefine \"Face to Face or Telehealth Encounter with Ongoing Chemotherapy\":#xD;\n  from#xD;\n    ( [Encounter: \"Office Visit\"]#xD;\n      union [Encounter: \"Audio Visual Telehealth Encounter\"] ) FaceToFaceOrTelehealthEncounter,#xD;\n    \"Chemotherapy Within 31 Days Prior and During Measurement Period\" ChemoBeforeEncounter,#xD;\n    \"Chemotherapy Within 31 Days Prior and During Measurement Period\" ChemoAfterEncounter,#xD;\n    [ConditionProblemsHealthConcerns: \"Cancer\"] CancerDx#xD;\n    where CancerDx.prevalenceInterval ( ) overlaps FaceToFaceOrTelehealthEncounter.period#xD;\n      and ChemoBeforeEncounter.performed.toInterval ( ) starts 30 days or less on or before day of end of FaceToFaceOrTelehealthEncounter.period#xD;\n      and ChemoAfterEncounter.performed.toInterval ( ) starts 30 days or less on or after day of end of FaceToFaceOrTelehealthEncounter.period#xD;\n      and not ( ChemoAfterEncounter.performed.toInterval ( ) same day as ChemoBeforeEncounter.performed.toInterval ( ) )#xD;\n      and FaceToFaceOrTelehealthEncounter.period during \"Measurement Period\"#xD;\n      and FaceToFaceOrTelehealthEncounter.status = 'finished'#xD;\n    return FaceToFaceOrTelehealthEncounter#xD;\n#xD;\ndefine \"Numerator 1\":#xD;\n  \"Face to Face or Telehealth Encounter with Ongoing Chemotherapy\" FaceToFaceOrTelehealthEncounterWithChemo#xD;\n    with \"Standard Pain Assessment with Result\" PainAssessed#xD;\n      such that PainAssessed.effective.toInterval ( ) during FaceToFaceOrTelehealthEncounterWithChemo.period#xD;\n#xD;\ndefine \"Radiation Treatment Management During Measurement Period with Cancer Diagnosis\":#xD;\n  ( [Encounter: \"Radiation Treatment Management\"] ) RadiationTreatmentManagement#xD;\n    with [ConditionProblemsHealthConcerns: \"Cancer\"] CancerDx#xD;\n      such that CancerDx.isActive ( )#xD;\n        and CancerDx.prevalenceInterval ( ) overlaps RadiationTreatmentManagement.period#xD;\n    where RadiationTreatmentManagement.period during \"Measurement Period\"#xD;\n      and RadiationTreatmentManagement.status = 'finished'#xD;\n#xD;\ndefine \"Numerator 2\":#xD;\n  \"Radiation Treatment Management During Measurement Period with Cancer Diagnosis\" RadiationManagementEncounter#xD;\n    with \"Standard Pain Assessment with Result\" PainAssessed#xD;\n      such that case#xD;\n        when exists ( ( RadiationManagementEncounter.type ) RadiationManagement#xD;\n            where RadiationManagement ~ \"Radiation treatment management, 5 treatments\"#xD;\n        ) then PainAssessed.effective.toInterval ( ) 6 days or less on or before day of start of RadiationManagementEncounter.period #xD;\n        else PainAssessed.effective.toInterval ( ) during day of RadiationManagementEncounter.period end#xD;\n#xD;\ndefine \"SDE Ethnicity\":#xD;\n  SDE.\"SDE Ethnicity\"#xD;\n#xD;\ndefine \"SDE Payer\":#xD;\n  SDE.\"SDE Payer\"#xD;\n#xD;\ndefine \"SDE Race\":#xD;\n  SDE.\"SDE Race\"#xD;\n#xD;\ndefine \"SDE Sex\":#xD;\n  SDE.\"SDE Sex\"#xD;\n#xD;\ndefine \"Standard Pain Assessment with Result\":#xD;\n  [ObservationScreeningAssessment: \"Standardized Pain Assessment Tool\"] AssessedPain#xD;\n    where AssessedPain.value is not null#xD;\n      and AssessedPain.status = 'final'</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n    </table>\n</div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:contained ( [
a fhir:Parameters ;
fhir:id [ fhir:v "options" ] ;
    ( fhir:parameter [
fhir:name [ fhir:v "translatorVersion" ] ;
fhir:value [
a fhir:string ;
fhir:v "3.25.0"       ]     ] [
fhir:name [ fhir:v "option" ] ;
fhir:value [
a fhir:string ;
fhir:v "EnableAnnotations"       ]     ] [
fhir:name [ fhir:v "option" ] ;
fhir:value [
a fhir:string ;
fhir:v "EnableLocators"       ]     ] [
fhir:name [ fhir:v "option" ] ;
fhir:value [
a fhir:string ;
fhir:v "DisableListDemotion"       ]     ] [
fhir:name [ fhir:v "option" ] ;
fhir:value [
a fhir:string ;
fhir:v "DisableListPromotion"       ]     ] [
fhir:name [ fhir:v "format" ] ;
fhir:value [
a fhir:string ;
fhir:v "JSON"       ]     ] [
fhir:name [ fhir:v "format" ] ;
fhir:value [
a fhir:string ;
fhir:v "XML"       ]     ] [
fhir:name [ fhir:v "analyzeDataRequirements" ] ;
fhir:value [
a fhir:boolean ;
fhir:v false       ]     ] [
fhir:name [ fhir:v "collapseDataRequirements" ] ;
fhir:value [
a fhir:boolean ;
fhir:v false       ]     ] [
fhir:name [ fhir:v "compatibilityLevel" ] ;
fhir:value [
a fhir:string ;
fhir:v "1.5"       ]     ] [
fhir:name [ fhir:v "enableCqlOnly" ] ;
fhir:value [
a fhir:boolean ;
fhir:v false       ]     ] [
fhir:name [ fhir:v "errorLevel" ] ;
fhir:value [
a fhir:string ;
fhir:v "Info"       ]     ] [
fhir:name [ fhir:v "signatureLevel" ] ;
fhir:value [
a fhir:string ;
fhir:v "Overloads"       ]     ] [
fhir:name [ fhir:v "validateUnits" ] ;
fhir:value [
a fhir:boolean ;
fhir:v true       ]     ] [
fhir:name [ fhir:v "verifyOnly" ] ;
fhir:value [
a fhir:boolean ;
fhir:v false       ]     ] )
  ] ) ; # 
  fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ;
fhir:value [
a fhir:Coding ;
fhir:system [ fhir:v "http://www.ama-assn.org/go/cpt"^^xsd:anyURI ] ;
fhir:code [ fhir:v "77427" ] ;
fhir:display [ fhir:v "Radiation treatment management, 5 treatments" ]     ]
  ] [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:reference [ fhir:v "#options" ]     ]
  ] [
fhir:url [ fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:reference [ fhir:v "Device/cqf-tooling" ]     ]
  ] ) ; # 
  fhir:url [ fhir:v "https://madie.cms.gov/Library/OncologyPainIntensityQuantifiedFHIR"^^xsd:anyURI] ; # 
  fhir:identifier ( [
fhir:use [ fhir:v "official" ] ;
fhir:system [ fhir:v "https://madie.cms.gov/login"^^xsd:anyURI ] ;
fhir:value [ fhir:v "OncologyPainIntensityQuantifiedFHIR" ]
  ] ) ; # 
  fhir:version [ fhir:v "0.3.000"] ; # 
  fhir:name [ fhir:v "OncologyPainIntensityQuantifiedFHIR"] ; # 
  fhir:title [ fhir:v "OncologyPainIntensityQuantifiedFHIR"] ; # 
  fhir:status [ fhir:v "active"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ;
fhir:code [ fhir:v "logic-library" ]     ] )
  ] ; # 
  fhir:date [ fhir:v "2025-04-16T15:15:42+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "American Society of Clinical Oncology"] ; # 
  fhir:description [ fhir:v "OncologyPainIntensityQuantifiedFHIR"] ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "bGlicmFyeSBPbmNvbG9neVBhaW5JbnRlbnNpdHlRdWFudGlmaWVkRkhJUiB2ZXJzaW9uICcwLjMuMDAwJw0KDQp1c2luZyBRSUNvcmUgdmVyc2lvbiAnNi4wLjAnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC40LjAwMCcgY2FsbGVkIEZISVJIZWxwZXJzDQppbmNsdWRlIENRTUNvbW1vbiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgQ1FNQ29tbW9uDQppbmNsdWRlIFFJQ29yZUNvbW1vbiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgUUlDb3JlQ29tbW9uDQppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50cyB2ZXJzaW9uICc1LjEuMDAwJyBjYWxsZWQgU0RFDQoNCmNvZGVzeXN0ZW0gIkNQVCI6ICdodHRwOi8vd3d3LmFtYS1hc3NuLm9yZy9nby9jcHQnDQoNCnZhbHVlc2V0ICJBdWRpbyBWaXN1YWwgVGVsZWhlYWx0aCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTQ0NC41LjIxNScNCnZhbHVlc2V0ICJDYW5jZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTAxMCcNCnZhbHVlc2V0ICJDaGVtb3RoZXJhcHkgQWRtaW5pc3RyYXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTAyNycNCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnDQp2YWx1ZXNldCAiUmFkaWF0aW9uIFRyZWF0bWVudCBNYW5hZ2VtZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMjYnDQp2YWx1ZXNldCAiU3RhbmRhcmRpemVkIFBhaW4gQXNzZXNzbWVudCBUb29sIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMjgnDQoNCmNvZGUgIlJhZGlhdGlvbiB0cmVhdG1lbnQgbWFuYWdlbWVudCwgNSB0cmVhdG1lbnRzIjogJzc3NDI3JyBmcm9tICJDUFQiIGRpc3BsYXkgJ1JhZGlhdGlvbiB0cmVhdG1lbnQgbWFuYWdlbWVudCwgNSB0cmVhdG1lbnRzJw0KDQpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+DQoNCmNvbnRleHQgUGF0aWVudA0KDQpkZWZpbmUgIkRlbm9taW5hdG9yIDEiOg0KICAiSW5pdGlhbCBQb3B1bGF0aW9uIDEiDQoNCmRlZmluZSAiRGVub21pbmF0b3IgMiI6DQogICJJbml0aWFsIFBvcHVsYXRpb24gMiINCg0KZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24gMSI6DQogICJGYWNlIHRvIEZhY2Ugb3IgVGVsZWhlYWx0aCBFbmNvdW50ZXIgd2l0aCBPbmdvaW5nIENoZW1vdGhlcmFweSINCg0KZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24gMiI6DQogICJSYWRpYXRpb24gVHJlYXRtZW50IE1hbmFnZW1lbnQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCB3aXRoIENhbmNlciBEaWFnbm9zaXMiDQoNCmRlZmluZSAiQ2hlbW90aGVyYXB5IFdpdGhpbiAzMSBEYXlzIFByaW9yIGFuZCBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoNCiAgW1Byb2NlZHVyZTogIkNoZW1vdGhlcmFweSBBZG1pbmlzdHJhdGlvbiJdIENoZW1vQWRtaW5pc3RyYXRpb24NCiAgICB3aGVyZSBDaGVtb0FkbWluaXN0cmF0aW9uLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBkdXJpbmcgSW50ZXJ2YWxbc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgLSAzMSBkYXlzLCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCJdDQogICAgICBhbmQgQ2hlbW9BZG1pbmlzdHJhdGlvbi5zdGF0dXMgPSAnY29tcGxldGVkJw0KDQpkZWZpbmUgIkZhY2UgdG8gRmFjZSBvciBUZWxlaGVhbHRoIEVuY291bnRlciB3aXRoIE9uZ29pbmcgQ2hlbW90aGVyYXB5IjoNCiAgZnJvbQ0KICAgICggW0VuY291bnRlcjogIk9mZmljZSBWaXNpdCJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiQXVkaW8gVmlzdWFsIFRlbGVoZWFsdGggRW5jb3VudGVyIl0gKSBGYWNlVG9GYWNlT3JUZWxlaGVhbHRoRW5jb3VudGVyLA0KICAgICJDaGVtb3RoZXJhcHkgV2l0aGluIDMxIERheXMgUHJpb3IgYW5kIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIENoZW1vQmVmb3JlRW5jb3VudGVyLA0KICAgICJDaGVtb3RoZXJhcHkgV2l0aGluIDMxIERheXMgUHJpb3IgYW5kIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIENoZW1vQWZ0ZXJFbmNvdW50ZXIsDQogICAgW0NvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnM6ICJDYW5jZXIiXSBDYW5jZXJEeA0KICAgIHdoZXJlIENhbmNlckR4LnByZXZhbGVuY2VJbnRlcnZhbCAoICkgb3ZlcmxhcHMgRmFjZVRvRmFjZU9yVGVsZWhlYWx0aEVuY291bnRlci5wZXJpb2QNCiAgICAgIGFuZCBDaGVtb0JlZm9yZUVuY291bnRlci5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgc3RhcnRzIDMwIGRheXMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiBGYWNlVG9GYWNlT3JUZWxlaGVhbHRoRW5jb3VudGVyLnBlcmlvZA0KICAgICAgYW5kIENoZW1vQWZ0ZXJFbmNvdW50ZXIucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyAzMCBkYXlzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgZGF5IG9mIGVuZCBvZiBGYWNlVG9GYWNlT3JUZWxlaGVhbHRoRW5jb3VudGVyLnBlcmlvZA0KICAgICAgYW5kIG5vdCAoIENoZW1vQWZ0ZXJFbmNvdW50ZXIucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApIHNhbWUgZGF5IGFzIENoZW1vQmVmb3JlRW5jb3VudGVyLnBlcmZvcm1lZC50b0ludGVydmFsICggKSApDQogICAgICBhbmQgRmFjZVRvRmFjZU9yVGVsZWhlYWx0aEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiDQogICAgICBhbmQgRmFjZVRvRmFjZU9yVGVsZWhlYWx0aEVuY291bnRlci5zdGF0dXMgPSAnZmluaXNoZWQnDQogICAgcmV0dXJuIEZhY2VUb0ZhY2VPclRlbGVoZWFsdGhFbmNvdW50ZXINCg0KZGVmaW5lICJOdW1lcmF0b3IgMSI6DQogICJGYWNlIHRvIEZhY2Ugb3IgVGVsZWhlYWx0aCBFbmNvdW50ZXIgd2l0aCBPbmdvaW5nIENoZW1vdGhlcmFweSIgRmFjZVRvRmFjZU9yVGVsZWhlYWx0aEVuY291bnRlcldpdGhDaGVtbw0KICAgIHdpdGggIlN0YW5kYXJkIFBhaW4gQXNzZXNzbWVudCB3aXRoIFJlc3VsdCIgUGFpbkFzc2Vzc2VkDQogICAgICBzdWNoIHRoYXQgUGFpbkFzc2Vzc2VkLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBkdXJpbmcgRmFjZVRvRmFjZU9yVGVsZWhlYWx0aEVuY291bnRlcldpdGhDaGVtby5wZXJpb2QNCg0KZGVmaW5lICJSYWRpYXRpb24gVHJlYXRtZW50IE1hbmFnZW1lbnQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCB3aXRoIENhbmNlciBEaWFnbm9zaXMiOg0KICAoIFtFbmNvdW50ZXI6ICJSYWRpYXRpb24gVHJlYXRtZW50IE1hbmFnZW1lbnQiXSApIFJhZGlhdGlvblRyZWF0bWVudE1hbmFnZW1lbnQNCiAgICB3aXRoIFtDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zOiAiQ2FuY2VyIl0gQ2FuY2VyRHgNCiAgICAgIHN1Y2ggdGhhdCBDYW5jZXJEeC5pc0FjdGl2ZSAoICkNCiAgICAgICAgYW5kIENhbmNlckR4LnByZXZhbGVuY2VJbnRlcnZhbCAoICkgb3ZlcmxhcHMgUmFkaWF0aW9uVHJlYXRtZW50TWFuYWdlbWVudC5wZXJpb2QNCiAgICB3aGVyZSBSYWRpYXRpb25UcmVhdG1lbnRNYW5hZ2VtZW50LnBlcmlvZCBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCINCiAgICAgIGFuZCBSYWRpYXRpb25UcmVhdG1lbnRNYW5hZ2VtZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcNCg0KZGVmaW5lICJOdW1lcmF0b3IgMiI6DQogICJSYWRpYXRpb24gVHJlYXRtZW50IE1hbmFnZW1lbnQgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCB3aXRoIENhbmNlciBEaWFnbm9zaXMiIFJhZGlhdGlvbk1hbmFnZW1lbnRFbmNvdW50ZXINCiAgICB3aXRoICJTdGFuZGFyZCBQYWluIEFzc2Vzc21lbnQgd2l0aCBSZXN1bHQiIFBhaW5Bc3Nlc3NlZA0KICAgICAgc3VjaCB0aGF0IGNhc2UNCiAgICAgICAgd2hlbiBleGlzdHMgKCAoIFJhZGlhdGlvbk1hbmFnZW1lbnRFbmNvdW50ZXIudHlwZSApIFJhZGlhdGlvbk1hbmFnZW1lbnQNCiAgICAgICAgICAgIHdoZXJlIFJhZGlhdGlvbk1hbmFnZW1lbnQgfiAiUmFkaWF0aW9uIHRyZWF0bWVudCBtYW5hZ2VtZW50LCA1IHRyZWF0bWVudHMiDQogICAgICAgICkgdGhlbiBQYWluQXNzZXNzZWQuZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApIDYgZGF5cyBvciBsZXNzIG9uIG9yIGJlZm9yZSBkYXkgb2Ygc3RhcnQgb2YgUmFkaWF0aW9uTWFuYWdlbWVudEVuY291bnRlci5wZXJpb2QgDQogICAgICAgIGVsc2UgUGFpbkFzc2Vzc2VkLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBkdXJpbmcgZGF5IG9mIFJhZGlhdGlvbk1hbmFnZW1lbnRFbmNvdW50ZXIucGVyaW9kIGVuZA0KDQpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOg0KICBTREUuIlNERSBFdGhuaWNpdHkiDQoNCmRlZmluZSAiU0RFIFBheWVyIjoNCiAgU0RFLiJTREUgUGF5ZXIiDQoNCmRlZmluZSAiU0RFIFJhY2UiOg0KICBTREUuIlNERSBSYWNlIg0KDQpkZWZpbmUgIlNERSBTZXgiOg0KICBTREUuIlNERSBTZXgiDQoNCmRlZmluZSAiU3RhbmRhcmQgUGFpbiBBc3Nlc3NtZW50IHdpdGggUmVzdWx0IjoNCiAgW09ic2VydmF0aW9uU2NyZWVuaW5nQXNzZXNzbWVudDogIlN0YW5kYXJkaXplZCBQYWluIEFzc2Vzc21lbnQgVG9vbCJdIEFzc2Vzc2VkUGFpbg0KICAgIHdoZXJlIEFzc2Vzc2VkUGFpbi52YWx1ZSBpcyBub3QgbnVsbA0KICAgICAgYW5kIEFzc2Vzc2VkUGFpbi5zdGF0dXMgPSAnZmluYWwn"^^xsd:base64Binary ]
  ] ) . #