Using CQL with FHIR, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cql-ig/ and changes regularly. See the Directory of published versions
Active as of 2024-06-10 |
<Library xmlns="http://hl7.org/fhir">
<id value="ELMExample"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"/>
</meta>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><h2>Related Artifacts</h2><table class="grid"><tr><td>depends-on</td><td>FHIR model information</td><td><code>http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</code></td></tr><tr><td>depends-on</td><td>Library FHIRHelpers</td><td><code>http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1</code></td></tr><tr><td>depends-on</td><td>Code system LOINC</td><td><a href="http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a></td></tr></table><h2>Parameters</h2><table class="grid"><tr><td>GlucoseThreshold</td><td>in</td><td>0</td><td>1</td><td>Quantity</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Blood Glucose Observations</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr></table><h2>Data Requirements</h2><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/patient.html">Patient</a> (<a href="http://hl7.org/fhir/R4/patient.html">Patient</a>)</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/2339-0">Logical Observation Identifiers, Names and Codes (LOINC)</a> 2339-0: Glucose Bld-mCnc</td></tr></table><h2>Contents</h2><p><code>application/elm+xml</code></p><pre><code><?xml version='1.1' encoding='UTF-8'?>
<Library type="Library" localId="0">
<wstxns1:identifier xmlns:wstxns1="urn:hl7-org:elm:r1" wstxns1:type="VersionedIdentifier" id="ELMExample" system="http://hl7.org/fhir/uv/cql"/>
<wstxns2:schemaIdentifier xmlns:wstxns2="urn:hl7-org:elm:r1" wstxns2:type="VersionedIdentifier" id="urn:hl7-org:elm" version="r1"/>
<wstxns3:usings xmlns:wstxns3="urn:hl7-org:elm:r1" wstxns3:type="Library$Usings">
<wstxns3:def>
<wstxns3:def wstxns3:type="UsingDef" localId="1" localIdentifier="System" uri="urn:hl7-org:elm-types:r1"/>
<wstxns3:def wstxns3:type="UsingDef" localId="206" locator="3:1-3:26" localIdentifier="FHIR" uri="http://hl7.org/fhir" version="4.0.1">
<wstxns3:annotation>
<wstxns3:annotation wstxns3:type="Annotation">
<wstxns4:s xmlns:wstxns4="urn:hl7-org:cql-annotations:r1" r="206">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>using </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>FHIR</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s> version '4.0.1'</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns4:s>
</wstxns3:annotation>
</wstxns3:annotation>
</wstxns3:def>
</wstxns3:def>
</wstxns3:usings>
<wstxns5:includes xmlns:wstxns5="urn:hl7-org:elm:r1" wstxns5:type="Library$Includes">
<wstxns5:def>
<wstxns5:def wstxns5:type="IncludeDef" localId="207" locator="5:1-5:35" localIdentifier="FHIRHelpers" path="http://hl7.org/fhir/FHIRHelpers" version="4.0.1">
<wstxns5:annotation>
<wstxns5:annotation wstxns5:type="Annotation">
<wstxns6:s xmlns:wstxns6="urn:hl7-org:cql-annotations:r1" r="207">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>include </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>FHIRHelpers</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s> version </s>
<s>'4.0.1'</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns6:s>
</wstxns5:annotation>
</wstxns5:annotation>
</wstxns5:def>
</wstxns5:def>
</wstxns5:includes>
<wstxns7:parameters xmlns:wstxns7="urn:hl7-org:elm:r1" wstxns7:type="Library$Parameters">
<wstxns7:def>
<wstxns7:def wstxns7:type="ParameterDef" localId="211" locator="10:1-10:35" name="GlucoseThreshold" accessLevel="Public">
<wstxns7:parameterTypeSpecifier wstxns7:type="NamedTypeSpecifier" localId="212" locator="10:28-10:35" name="{http://hl7.org/fhir}Quantity"/>
<wstxns7:annotation>
<wstxns7:annotation wstxns7:type="Annotation">
<wstxns8:s xmlns:wstxns8="urn:hl7-org:cql-annotations:r1" r="211">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>parameter </s>
<s>GlucoseThreshold</s>
<s> </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="212">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>Quantity</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns8:s>
</wstxns7:annotation>
</wstxns7:annotation>
</wstxns7:def>
</wstxns7:def>
</wstxns7:parameters>
<wstxns9:codeSystems xmlns:wstxns9="urn:hl7-org:elm:r1" wstxns9:type="Library$CodeSystems">
<wstxns9:def>
<wstxns9:def wstxns9:type="CodeSystemDef" localId="208" locator="7:1-7:36" name="LOINC" id="http://loinc.org" accessLevel="Public">
<wstxns9:annotation>
<wstxns9:annotation wstxns9:type="Annotation">
<wstxns10:s xmlns:wstxns10="urn:hl7-org:cql-annotations:r1" r="208">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>codesystem </s>
<s>LOINC</s>
<s>: </s>
<s>'http://loinc.org'</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns10:s>
</wstxns9:annotation>
</wstxns9:annotation>
</wstxns9:def>
</wstxns9:def>
</wstxns9:codeSystems>
<wstxns11:codes xmlns:wstxns11="urn:hl7-org:elm:r1" wstxns11:type="Library$Codes">
<wstxns11:def>
<wstxns11:def wstxns11:type="CodeDef" localId="209" locator="8:1-8:68" name="Blood Glucose" id="2339-0" display="Glucose Bld-mCnc" accessLevel="Public">
<wstxns11:codeSystem wstxns11:type="CodeSystemRef" localId="210" locator="8:37-8:41" name="LOINC"/>
<wstxns11:annotation>
<wstxns11:annotation wstxns11:type="Annotation">
<wstxns12:s xmlns:wstxns12="urn:hl7-org:cql-annotations:r1" r="209">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>code </s>
<s>"Blood Glucose"</s>
<s>: </s>
<s>'2339-0'</s>
<s> from </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="210">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>LOINC</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s> display </s>
<s>'Glucose Bld-mCnc'</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns12:s>
</wstxns11:annotation>
</wstxns11:annotation>
</wstxns11:def>
</wstxns11:def>
</wstxns11:codes>
<wstxns13:contexts xmlns:wstxns13="urn:hl7-org:elm:r1" wstxns13:type="Library$Contexts">
<wstxns13:def>
<wstxns13:def wstxns13:type="ContextDef" localId="216" locator="12:1-12:15" name="Patient"/>
</wstxns13:def>
</wstxns13:contexts>
<wstxns14:statements xmlns:wstxns14="urn:hl7-org:elm:r1" wstxns14:type="Library$Statements">
<wstxns14:def>
<wstxns14:def wstxns14:type="ExpressionDef" localId="214" locator="12:1-12:15" name="Patient" context="Patient">
<wstxns14:expression wstxns14:type="SingletonFrom" localId="215">
<wstxns14:operand wstxns14:type="Retrieve" localId="213" locator="12:1-12:15" dataType="{http://hl7.org/fhir}Patient" templateId="http://hl7.org/fhir/StructureDefinition/Patient"/>
</wstxns14:expression>
</wstxns14:def>
<wstxns14:def wstxns14:type="ExpressionDef" localId="218" locator="14:1-16:37" name="Blood Glucose Observations" context="Patient" accessLevel="Public">
<wstxns14:expression wstxns14:type="Query" localId="239" locator="15:3-16:37">
<wstxns14:source>
<wstxns14:source wstxns14:type="AliasedQuerySource" localId="219" locator="15:3-15:35" alias="BG">
<wstxns14:expression wstxns14:type="Retrieve" localId="222" locator="15:3-15:32" dataType="{http://hl7.org/fhir}Observation" templateId="http://hl7.org/fhir/StructureDefinition/Observation" codeProperty="code" codeComparator="~">
<wstxns14:codes wstxns14:type="ToList" localId="229">
<wstxns14:operand wstxns14:type="CodeRef" localId="221" locator="15:17-15:31" name="Blood Glucose"/>
</wstxns14:codes>
</wstxns14:expression>
</wstxns14:source>
</wstxns14:source>
<wstxns14:where wstxns14:type="Greater" localId="230" locator="16:5-16:37">
<wstxns14:signature>
<wstxns14:signature wstxns14:type="NamedTypeSpecifier" localId="237" name="{urn:hl7-org:elm-types:r1}Quantity"/>
<wstxns14:signature wstxns14:type="NamedTypeSpecifier" localId="238" name="{urn:hl7-org:elm-types:r1}Quantity"/>
</wstxns14:signature>
<wstxns14:operand>
<wstxns14:operand wstxns14:type="FunctionRef" localId="235" name="ToQuantity" libraryName="FHIRHelpers">
<wstxns14:operand>
<wstxns14:operand wstxns14:type="As" localId="234" asType="{http://hl7.org/fhir}Quantity">
<wstxns14:operand wstxns14:type="Property" localId="232" locator="16:11-16:18" path="value" scope="BG"/>
</wstxns14:operand>
</wstxns14:operand>
</wstxns14:operand>
<wstxns14:operand wstxns14:type="FunctionRef" localId="236" name="ToQuantity" libraryName="FHIRHelpers">
<wstxns14:operand>
<wstxns14:operand wstxns14:type="ParameterRef" localId="233" locator="16:22-16:37" name="GlucoseThreshold"/>
</wstxns14:operand>
</wstxns14:operand>
</wstxns14:operand>
</wstxns14:where>
</wstxns14:expression>
<wstxns14:annotation>
<wstxns14:annotation wstxns14:type="Annotation">
<wstxns15:s xmlns:wstxns15="urn:hl7-org:cql-annotations:r1" r="218">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>define </s>
<s>"Blood Glucose Observations"</s>
<s>:
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="239">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="219">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="222">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="222">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>[</s>
<s>Observation</s>
<s>: </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>"Blood Glucose"</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>]</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s> </s>
<s>BG</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="230">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>where </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="230">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="232">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="231">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>BG</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>.</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="232">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>value</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s> </s>
<s>&gt;</s>
<s> </s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value r="233">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s>GlucoseThreshold</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns15:s>
</wstxns14:annotation>
</wstxns14:annotation>
</wstxns14:def>
</wstxns14:def>
</wstxns14:statements>
<wstxns16:annotation xmlns:wstxns16="urn:hl7-org:elm:r1">
<wstxns16:annotation wstxns16:type="CqlToElmInfo" translatorVersion="3.9.0" translatorOptions="EnableAnnotations,EnableLocators" signatureLevel="Overloads"/>
<wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>
<wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>
<wstxns16:annotation wstxns16:type="CqlToElmError" message="An operand identifier [reference] is hiding another identifier of the same name." errorType="semantic" errorSeverity="warning"/>
<wstxns16:annotation wstxns16:type="Annotation">
<wstxns17:s xmlns:wstxns17="urn:hl7-org:cql-annotations:r1" r="218">
<s>
<s>
<name>{urn:hl7-org:cql-annotations:r1}s</name>
<declaredType>org.hl7.cql_annotations.r1.Narrative</declaredType>
<scope>jakarta.xml.bind.JAXBElement$GlobalScope</scope>
<value>
<s>
<s></s>
<s>library ELMExample</s>
</s>
</value>
<nil>false</nil>
<globalScope>true</globalScope>
<typeSubstituted>false</typeSubstituted>
</s>
</s>
</wstxns17:s>
</wstxns16:annotation>
</wstxns16:annotation>
</Library>
</code></pre><p><code>application/elm+json</code></p><pre><code>{
"library" : {
"type" : "Library",
"identifier" : {
"type" : "VersionedIdentifier",
"id" : "ELMExample",
"system" : "http://hl7.org/fhir/uv/cql"
},
"schemaIdentifier" : {
"type" : "VersionedIdentifier",
"id" : "urn:hl7-org:elm",
"version" : "r1"
},
"usings" : {
"type" : "Library$Usings",
"def" : [ {
"type" : "UsingDef",
"localId" : "1",
"localIdentifier" : "System",
"uri" : "urn:hl7-org:elm-types:r1"
}, {
"type" : "UsingDef",
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "using " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "FHIR" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ " version '4.0.1'" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "206"
}
} ],
"localId" : "206",
"locator" : "3:1-3:26",
"localIdentifier" : "FHIR",
"uri" : "http://hl7.org/fhir",
"version" : "4.0.1"
} ]
},
"includes" : {
"type" : "Library$Includes",
"def" : [ {
"type" : "IncludeDef",
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "include " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "FHIRHelpers" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ " version ", "'4.0.1'" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "207"
}
} ],
"localId" : "207",
"locator" : "5:1-5:35",
"localIdentifier" : "FHIRHelpers",
"path" : "http://hl7.org/fhir/FHIRHelpers",
"version" : "4.0.1"
} ]
},
"parameters" : {
"type" : "Library$Parameters",
"def" : [ {
"type" : "ParameterDef",
"parameterTypeSpecifier" : {
"type" : "NamedTypeSpecifier",
"localId" : "212",
"locator" : "10:28-10:35",
"name" : "{http://hl7.org/fhir}Quantity"
},
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "parameter ", "GlucoseThreshold", " " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "Quantity" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "212"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "211"
}
} ],
"localId" : "211",
"locator" : "10:1-10:35",
"name" : "GlucoseThreshold",
"accessLevel" : "Public"
} ]
},
"codeSystems" : {
"type" : "Library$CodeSystems",
"def" : [ {
"type" : "CodeSystemDef",
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "codesystem ", "LOINC", ": ", "'http://loinc.org'" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "208"
}
} ],
"localId" : "208",
"locator" : "7:1-7:36",
"name" : "LOINC",
"id" : "http://loinc.org",
"accessLevel" : "Public"
} ]
},
"codes" : {
"type" : "Library$Codes",
"def" : [ {
"type" : "CodeDef",
"codeSystem" : {
"type" : "CodeSystemRef",
"localId" : "210",
"locator" : "8:37-8:41",
"name" : "LOINC"
},
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "code ", "\"Blood Glucose\"", ": ", "'2339-0'", " from " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "LOINC" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "210"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ " display ", "'Glucose Bld-mCnc'" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "209"
}
} ],
"localId" : "209",
"locator" : "8:1-8:68",
"name" : "Blood Glucose",
"id" : "2339-0",
"display" : "Glucose Bld-mCnc",
"accessLevel" : "Public"
} ]
},
"contexts" : {
"type" : "Library$Contexts",
"def" : [ {
"type" : "ContextDef",
"localId" : "216",
"locator" : "12:1-12:15",
"name" : "Patient"
} ]
},
"statements" : {
"type" : "Library$Statements",
"def" : [ {
"type" : "ExpressionDef",
"expression" : {
"type" : "SingletonFrom",
"operand" : {
"type" : "Retrieve",
"localId" : "213",
"locator" : "12:1-12:15",
"dataType" : "{http://hl7.org/fhir}Patient",
"templateId" : "http://hl7.org/fhir/StructureDefinition/Patient"
},
"localId" : "215"
},
"localId" : "214",
"locator" : "12:1-12:15",
"name" : "Patient",
"context" : "Patient"
}, {
"type" : "ExpressionDef",
"expression" : {
"type" : "Query",
"source" : [ {
"type" : "AliasedQuerySource",
"expression" : {
"type" : "Retrieve",
"codes" : {
"type" : "ToList",
"operand" : {
"type" : "CodeRef",
"localId" : "221",
"locator" : "15:17-15:31",
"name" : "Blood Glucose"
},
"localId" : "229"
},
"localId" : "222",
"locator" : "15:3-15:32",
"dataType" : "{http://hl7.org/fhir}Observation",
"templateId" : "http://hl7.org/fhir/StructureDefinition/Observation",
"codeProperty" : "code",
"codeComparator" : "~"
},
"localId" : "219",
"locator" : "15:3-15:35",
"alias" : "BG"
} ],
"where" : {
"type" : "Greater",
"signature" : [ {
"type" : "NamedTypeSpecifier",
"localId" : "237",
"name" : "{urn:hl7-org:elm-types:r1}Quantity"
}, {
"type" : "NamedTypeSpecifier",
"localId" : "238",
"name" : "{urn:hl7-org:elm-types:r1}Quantity"
} ],
"operand" : [ {
"type" : "FunctionRef",
"operand" : [ {
"type" : "As",
"operand" : {
"type" : "Property",
"localId" : "232",
"locator" : "16:11-16:18",
"path" : "value",
"scope" : "BG"
},
"localId" : "234",
"asType" : "{http://hl7.org/fhir}Quantity"
} ],
"localId" : "235",
"name" : "ToQuantity",
"libraryName" : "FHIRHelpers"
}, {
"type" : "FunctionRef",
"operand" : [ {
"type" : "ParameterRef",
"localId" : "233",
"locator" : "16:22-16:37",
"name" : "GlucoseThreshold"
} ],
"localId" : "236",
"name" : "ToQuantity",
"libraryName" : "FHIRHelpers"
} ],
"localId" : "230",
"locator" : "16:5-16:37"
},
"localId" : "239",
"locator" : "15:3-16:37"
},
"annotation" : [ {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "define ", "\"Blood Glucose Observations\"", ":\n " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "[", "Observation", ": " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "\"Blood Glucose\"" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "]" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "222"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "222"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ " ", "BG" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "219"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "\n " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "where " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "BG" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "231"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "." ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "value" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "232"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "232"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ " ", ">", " " ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}, {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "GlucoseThreshold" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "233"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "230"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "230"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "239"
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "218"
}
} ],
"localId" : "218",
"locator" : "14:1-16:37",
"name" : "Blood Glucose Observations",
"context" : "Patient",
"accessLevel" : "Public"
} ]
},
"annotation" : [ {
"type" : "CqlToElmInfo",
"translatorVersion" : "3.9.0",
"translatorOptions" : "EnableAnnotations,EnableLocators",
"signatureLevel" : "Overloads"
}, {
"type" : "CqlToElmError",
"message" : "An operand identifier [reference] is hiding another identifier of the same name.",
"errorType" : "semantic",
"errorSeverity" : "warning"
}, {
"type" : "CqlToElmError",
"message" : "An operand identifier [reference] is hiding another identifier of the same name.",
"errorType" : "semantic",
"errorSeverity" : "warning"
}, {
"type" : "CqlToElmError",
"message" : "An operand identifier [reference] is hiding another identifier of the same name.",
"errorType" : "semantic",
"errorSeverity" : "warning"
}, {
"type" : "Annotation",
"s" : {
"s" : [ {
"name" : "{urn:hl7-org:cql-annotations:r1}s",
"declaredType" : "org.hl7.cql_annotations.r1.Narrative",
"scope" : "jakarta.xml.bind.JAXBElement$GlobalScope",
"value" : {
"s" : [ "", "library ELMExample" ]
},
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
} ],
"r" : "218"
}
} ],
"localId" : "0"
}
}</code></pre></div>
</text>
<contained>
<Parameters>
<id value="options"/>
<parameter>
<name value="translatorVersion"/>
<valueString value="3.9.0"/>
</parameter>
<parameter>
<name value="enableAnnotations"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="enableLocators"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="disableListDemotion"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="disableListPromotion"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="format"/>
<valueString value="JSON"/>
</parameter>
<parameter>
<name value="format"/>
<valueString value="XML"/>
</parameter>
<parameter>
<name value="analyzeDataRequirements"/>
<valueBoolean value="false"/>
</parameter>
<parameter>
<name value="collapseDataRequirements"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="compatibilityLevel"/>
<valueString value="1.5"/>
</parameter>
<parameter>
<name value="enableCqlOnly"/>
<valueBoolean value="false"/>
</parameter>
<parameter>
<name value="errorLevel"/>
<valueString value="Info"/>
</parameter>
<parameter>
<name value="signatureLevel"/>
<valueString value="Overloads"/>
</parameter>
<parameter>
<name value="validateUnits"/>
<valueBoolean value="true"/>
</parameter>
<parameter>
<name value="verifyOnly"/>
<valueBoolean value="false"/>
</parameter>
</Parameters>
</contained>
<extension url="http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions">
<valueReference>
<reference value="#options"/>
</valueReference>
</extension>
<url value="http://hl7.org/fhir/uv/cql/Library/ELMExample"/>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:2.16.840.1.113883.4.642.40.37.28.3"/>
</identifier>
<version value="1.1.0-cibuild"/>
<name value="ELMExample"/>
<title value="ELM Example"/>
<status value="active"/>
<experimental value="true"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2024-06-10T16:43:49+00:00"/>
<publisher value="HL7 International / Clinical Decision Support"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/dss"/>
</telecom>
</contact>
<description
value="Example ELM library demonstrating the ELM XML and ELM JSON profiles (a CQL library with only ELM)"/>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
<display value="World"/>
</coding>
</jurisdiction>
<relatedArtifact>
<type value="depends-on"/>
<display value="FHIR model information"/>
<resource
value="http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system LOINC"/>
<resource value="http://loinc.org"/>
</relatedArtifact>
<parameter>
<name value="GlucoseThreshold"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Quantity"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Blood Glucose Observations"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Observation"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="2339-0"/>
<display value="Glucose Bld-mCnc"/>
</code>
</codeFilter>
</dataRequirement>
<content>
<contentType value="application/elm+xml"/>
<data
value="PD94bWwgdmVyc2lvbj0nMS4xJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxMaWJyYXJ5IHR5cGU9IkxpYnJhcnkiIGxvY2FsSWQ9IjAiPg0KICA8d3N0eG5zMTppZGVudGlmaWVyIHhtbG5zOndzdHhuczE9InVybjpobDctb3JnOmVsbTpyMSIgd3N0eG5zMTp0eXBlPSJWZXJzaW9uZWRJZGVudGlmaWVyIiBpZD0iRUxNRXhhbXBsZSIgc3lzdGVtPSJodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NxbCIvPg0KICA8d3N0eG5zMjpzY2hlbWFJZGVudGlmaWVyIHhtbG5zOndzdHhuczI9InVybjpobDctb3JnOmVsbTpyMSIgd3N0eG5zMjp0eXBlPSJWZXJzaW9uZWRJZGVudGlmaWVyIiBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICA8d3N0eG5zMzp1c2luZ3MgeG1sbnM6d3N0eG5zMz0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMzOnR5cGU9IkxpYnJhcnkkVXNpbmdzIj4NCiAgICA8d3N0eG5zMzpkZWY+DQogICAgICA8d3N0eG5zMzpkZWYgd3N0eG5zMzp0eXBlPSJVc2luZ0RlZiIgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8d3N0eG5zMzpkZWYgd3N0eG5zMzp0eXBlPSJVc2luZ0RlZiIgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgPHdzdHhuczM6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zMzphbm5vdGF0aW9uIHdzdHhuczM6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zNDpzIHhtbG5zOndzdHhuczQ9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA2Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+dXNpbmcgPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+RkhJUjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IHZlcnNpb24gJzQuMC4xJzwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgIDwvd3N0eG5zNDpzPg0KICAgICAgICAgIDwvd3N0eG5zMzphbm5vdGF0aW9uPg0KICAgICAgICA8L3dzdHhuczM6YW5ub3RhdGlvbj4NCiAgICAgIDwvd3N0eG5zMzpkZWY+DQogICAgPC93c3R4bnMzOmRlZj4NCiAgPC93c3R4bnMzOnVzaW5ncz4NCiAgPHdzdHhuczU6aW5jbHVkZXMgeG1sbnM6d3N0eG5zNT0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnM1OnR5cGU9IkxpYnJhcnkkSW5jbHVkZXMiPg0KICAgIDx3c3R4bnM1OmRlZj4NCiAgICAgIDx3c3R4bnM1OmRlZiB3c3R4bnM1OnR5cGU9IkluY2x1ZGVEZWYiIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iNToxLTU6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgPHdzdHhuczU6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zNTphbm5vdGF0aW9uIHdzdHhuczU6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zNjpzIHhtbG5zOndzdHhuczY9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA3Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+aW5jbHVkZSA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5GSElSSGVscGVyczwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IHZlcnNpb24gPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPic0LjAuMSc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczY6cz4NCiAgICAgICAgICA8L3dzdHhuczU6YW5ub3RhdGlvbj4NCiAgICAgICAgPC93c3R4bnM1OmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczU6ZGVmPg0KICAgIDwvd3N0eG5zNTpkZWY+DQogIDwvd3N0eG5zNTppbmNsdWRlcz4NCiAgPHdzdHhuczc6cGFyYW1ldGVycyB4bWxuczp3c3R4bnM3PSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczc6dHlwZT0iTGlicmFyeSRQYXJhbWV0ZXJzIj4NCiAgICA8d3N0eG5zNzpkZWY+DQogICAgICA8d3N0eG5zNzpkZWYgd3N0eG5zNzp0eXBlPSJQYXJhbWV0ZXJEZWYiIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iMTA6MS0xMDozNSIgbmFtZT0iR2x1Y29zZVRocmVzaG9sZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgIDx3c3R4bnM3OnBhcmFtZXRlclR5cGVTcGVjaWZpZXIgd3N0eG5zNzp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTA6MjgtMTA6MzUiIG5hbWU9IntodHRwOi8vaGw3Lm9yZy9maGlyfVF1YW50aXR5Ii8+DQogICAgICAgIDx3c3R4bnM3OmFubm90YXRpb24+DQogICAgICAgICAgPHdzdHhuczc6YW5ub3RhdGlvbiB3c3R4bnM3OnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczg6cyB4bWxuczp3c3R4bnM4PSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiIHI9IjIxMSI+DQogICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+PC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPnBhcmFtZXRlciA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+R2x1Y29zZVRocmVzaG9sZDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4gPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjEyIj4NCiAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5RdWFudGl0eTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczg6cz4NCiAgICAgICAgICA8L3dzdHhuczc6YW5ub3RhdGlvbj4NCiAgICAgICAgPC93c3R4bnM3OmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczc6ZGVmPg0KICAgIDwvd3N0eG5zNzpkZWY+DQogIDwvd3N0eG5zNzpwYXJhbWV0ZXJzPg0KICA8d3N0eG5zOTpjb2RlU3lzdGVtcyB4bWxuczp3c3R4bnM5PSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczk6dHlwZT0iTGlicmFyeSRDb2RlU3lzdGVtcyI+DQogICAgPHdzdHhuczk6ZGVmPg0KICAgICAgPHdzdHhuczk6ZGVmIHdzdHhuczk6dHlwZT0iQ29kZVN5c3RlbURlZiIgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI3OjEtNzozNiIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczk6YW5ub3RhdGlvbj4NCiAgICAgICAgICA8d3N0eG5zOTphbm5vdGF0aW9uIHdzdHhuczk6dHlwZT0iQW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8d3N0eG5zMTA6cyB4bWxuczp3c3R4bnMxMD0idXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxIiByPSIyMDgiPg0KICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz5jb2Rlc3lzdGVtIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz5MT0lOQzwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz46IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4naHR0cDovL2xvaW5jLm9yZyc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczEwOnM+DQogICAgICAgICAgPC93c3R4bnM5OmFubm90YXRpb24+DQogICAgICAgIDwvd3N0eG5zOTphbm5vdGF0aW9uPg0KICAgICAgPC93c3R4bnM5OmRlZj4NCiAgICA8L3dzdHhuczk6ZGVmPg0KICA8L3dzdHhuczk6Y29kZVN5c3RlbXM+DQogIDx3c3R4bnMxMTpjb2RlcyB4bWxuczp3c3R4bnMxMT0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMxMTp0eXBlPSJMaWJyYXJ5JENvZGVzIj4NCiAgICA8d3N0eG5zMTE6ZGVmPg0KICAgICAgPHdzdHhuczExOmRlZiB3c3R4bnMxMTp0eXBlPSJDb2RlRGVmIiBsb2NhbElkPSIyMDkiIGxvY2F0b3I9Ijg6MS04OjY4IiBuYW1lPSJCbG9vZCBHbHVjb3NlIiBpZD0iMjMzOS0wIiBkaXNwbGF5PSJHbHVjb3NlIEJsZC1tQ25jIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczExOmNvZGVTeXN0ZW0gd3N0eG5zMTE6dHlwZT0iQ29kZVN5c3RlbVJlZiIgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSI4OjM3LTg6NDEiIG5hbWU9IkxPSU5DIi8+DQogICAgICAgIDx3c3R4bnMxMTphbm5vdGF0aW9uPg0KICAgICAgICAgIDx3c3R4bnMxMTphbm5vdGF0aW9uIHdzdHhuczExOnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczEyOnMgeG1sbnM6d3N0eG5zMTI9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjA5Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+Y29kZSA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+IkJsb29kIEdsdWNvc2UiPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjogPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPicyMzM5LTAnPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPiBmcm9tIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIxMCI+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+TE9JTkM8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPiBkaXNwbGF5IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4nR2x1Y29zZSBCbGQtbUNuYyc8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICA8L3dzdHhuczEyOnM+DQogICAgICAgICAgPC93c3R4bnMxMTphbm5vdGF0aW9uPg0KICAgICAgICA8L3dzdHhuczExOmFubm90YXRpb24+DQogICAgICA8L3dzdHhuczExOmRlZj4NCiAgICA8L3dzdHhuczExOmRlZj4NCiAgPC93c3R4bnMxMTpjb2Rlcz4NCiAgPHdzdHhuczEzOmNvbnRleHRzIHhtbG5zOndzdHhuczEzPSJ1cm46aGw3LW9yZzplbG06cjEiIHdzdHhuczEzOnR5cGU9IkxpYnJhcnkkQ29udGV4dHMiPg0KICAgIDx3c3R4bnMxMzpkZWY+DQogICAgICA8d3N0eG5zMTM6ZGVmIHdzdHhuczEzOnR5cGU9IkNvbnRleHREZWYiIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIvPg0KICAgIDwvd3N0eG5zMTM6ZGVmPg0KICA8L3dzdHhuczEzOmNvbnRleHRzPg0KICA8d3N0eG5zMTQ6c3RhdGVtZW50cyB4bWxuczp3c3R4bnMxND0idXJuOmhsNy1vcmc6ZWxtOnIxIiB3c3R4bnMxNDp0eXBlPSJMaWJyYXJ5JFN0YXRlbWVudHMiPg0KICAgIDx3c3R4bnMxNDpkZWY+DQogICAgICA8d3N0eG5zMTQ6ZGVmIHdzdHhuczE0OnR5cGU9IkV4cHJlc3Npb25EZWYiIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgIDx3c3R4bnMxNDpleHByZXNzaW9uIHdzdHhuczE0OnR5cGU9IlNpbmdsZXRvbkZyb20iIGxvY2FsSWQ9IjIxNSI+DQogICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iUmV0cmlldmUiIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTI6MS0xMjoxNSIgZGF0YVR5cGU9IntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50Ii8+DQogICAgICAgIDwvd3N0eG5zMTQ6ZXhwcmVzc2lvbj4NCiAgICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICAgICAgPHdzdHhuczE0OmRlZiB3c3R4bnMxNDp0eXBlPSJFeHByZXNzaW9uRGVmIiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjE0OjEtMTY6MzciIG5hbWU9IkJsb29kIEdsdWNvc2UgT2JzZXJ2YXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgPHdzdHhuczE0OmV4cHJlc3Npb24gd3N0eG5zMTQ6dHlwZT0iUXVlcnkiIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTU6My0xNjozNyI+DQogICAgICAgICAgPHdzdHhuczE0OnNvdXJjZT4NCiAgICAgICAgICAgIDx3c3R4bnMxNDpzb3VyY2Ugd3N0eG5zMTQ6dHlwZT0iQWxpYXNlZFF1ZXJ5U291cmNlIiBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjE1OjMtMTU6MzUiIGFsaWFzPSJCRyI+DQogICAgICAgICAgICAgIDx3c3R4bnMxNDpleHByZXNzaW9uIHdzdHhuczE0OnR5cGU9IlJldHJpZXZlIiBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjE1OjMtMTU6MzIiIGRhdGFUeXBlPSJ7aHR0cDovL2hsNy5vcmcvZmhpcn1PYnNlcnZhdGlvbiIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJ+Ij4NCiAgICAgICAgICAgICAgICA8d3N0eG5zMTQ6Y29kZXMgd3N0eG5zMTQ6dHlwZT0iVG9MaXN0IiBsb2NhbElkPSIyMjkiPg0KICAgICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iQ29kZVJlZiIgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNToxNy0xNTozMSIgbmFtZT0iQmxvb2QgR2x1Y29zZSIvPg0KICAgICAgICAgICAgICAgIDwvd3N0eG5zMTQ6Y29kZXM+DQogICAgICAgICAgICAgIDwvd3N0eG5zMTQ6ZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvd3N0eG5zMTQ6c291cmNlPg0KICAgICAgICAgIDwvd3N0eG5zMTQ6c291cmNlPg0KICAgICAgICAgIDx3c3R4bnMxNDp3aGVyZSB3c3R4bnMxNDp0eXBlPSJHcmVhdGVyIiBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjE2OjUtMTY6MzciPg0KICAgICAgICAgICAgPHdzdHhuczE0OnNpZ25hdHVyZT4NCiAgICAgICAgICAgICAgPHdzdHhuczE0OnNpZ25hdHVyZSB3c3R4bnMxNDp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIGxvY2FsSWQ9IjIzNyIgbmFtZT0ie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1RdWFudGl0eSIvPg0KICAgICAgICAgICAgICA8d3N0eG5zMTQ6c2lnbmF0dXJlIHdzdHhuczE0OnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbG9jYWxJZD0iMjM4IiBuYW1lPSJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ii8+DQogICAgICAgICAgICA8L3dzdHhuczE0OnNpZ25hdHVyZT4NCiAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICA8d3N0eG5zMTQ6b3BlcmFuZCB3c3R4bnMxNDp0eXBlPSJGdW5jdGlvblJlZiIgbG9jYWxJZD0iMjM1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiPg0KICAgICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQgd3N0eG5zMTQ6dHlwZT0iQXMiIGxvY2FsSWQ9IjIzNCIgYXNUeXBlPSJ7aHR0cDovL2hsNy5vcmcvZmhpcn1RdWFudGl0eSI+DQogICAgICAgICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kIHdzdHhuczE0OnR5cGU9IlByb3BlcnR5IiBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE2OjExLTE2OjE4IiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkJHIi8+DQogICAgICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgICAgPC93c3R4bnMxNDpvcGVyYW5kPg0KICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgIDx3c3R4bnMxNDpvcGVyYW5kIHdzdHhuczE0OnR5cGU9IkZ1bmN0aW9uUmVmIiBsb2NhbElkPSIyMzYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyI+DQogICAgICAgICAgICAgICAgPHdzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8d3N0eG5zMTQ6b3BlcmFuZCB3c3R4bnMxNDp0eXBlPSJQYXJhbWV0ZXJSZWYiIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTY6MjItMTY6MzciIG5hbWU9IkdsdWNvc2VUaHJlc2hvbGQiLz4NCiAgICAgICAgICAgICAgICA8L3dzdHhuczE0Om9wZXJhbmQ+DQogICAgICAgICAgICAgIDwvd3N0eG5zMTQ6b3BlcmFuZD4NCiAgICAgICAgICAgIDwvd3N0eG5zMTQ6b3BlcmFuZD4NCiAgICAgICAgICA8L3dzdHhuczE0OndoZXJlPg0KICAgICAgICA8L3dzdHhuczE0OmV4cHJlc3Npb24+DQogICAgICAgIDx3c3R4bnMxNDphbm5vdGF0aW9uPg0KICAgICAgICAgIDx3c3R4bnMxNDphbm5vdGF0aW9uIHdzdHhuczE0OnR5cGU9IkFubm90YXRpb24iPg0KICAgICAgICAgICAgPHdzdHhuczE1OnMgeG1sbnM6d3N0eG5zMTU9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgcj0iMjE4Ij4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz48L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+ZGVmaW5lIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4iQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnMiPC9zPg0KICAgICAgICAgICAgICAgICAgICAgIDxzPjoKICA8L3M+DQogICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMzkiPg0KICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMTkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjIyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIyMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Wzwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5PYnNlcnZhdGlvbjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz46IDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiJCbG9vZCBHbHVjb3NlIjwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+XTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Qkc8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4KICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIzMCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+d2hlcmUgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHI9IjIzMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSByPSIyMzEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPkJHPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4uPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz52YWx1ZTwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzPiA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+Jmd0Ozwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4gPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYW1lPnt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9czwvbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWNsYXJlZFR5cGU+b3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlPC9kZWNsYXJlZFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NvcGU+amFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZTwvc2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcj0iMjMzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT57dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXM8L25hbWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVjbGFyZWRUeXBlPm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZTwvZGVjbGFyZWRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjb3BlPmpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGU8L3Njb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cz5HbHVjb3NlVGhyZXNob2xkPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmlsPmZhbHNlPC9uaWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z2xvYmFsU2NvcGU+dHJ1ZTwvZ2xvYmFsU2NvcGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZVN1YnN0aXR1dGVkPmZhbHNlPC90eXBlU3Vic3RpdHV0ZWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG5pbD5mYWxzZTwvbmlsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGdsb2JhbFNjb3BlPnRydWU8L2dsb2JhbFNjb3BlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGVTdWJzdGl0dXRlZD5mYWxzZTwvdHlwZVN1YnN0aXR1dGVkPg0KICAgICAgICAgICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICAgICAgICA8L3M+DQogICAgICAgICAgICAgIDwvcz4NCiAgICAgICAgICAgIDwvd3N0eG5zMTU6cz4NCiAgICAgICAgICA8L3dzdHhuczE0OmFubm90YXRpb24+DQogICAgICAgIDwvd3N0eG5zMTQ6YW5ub3RhdGlvbj4NCiAgICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICAgIDwvd3N0eG5zMTQ6ZGVmPg0KICA8L3dzdHhuczE0OnN0YXRlbWVudHM+DQogIDx3c3R4bnMxNjphbm5vdGF0aW9uIHhtbG5zOndzdHhuczE2PSJ1cm46aGw3LW9yZzplbG06cjEiPg0KICAgIDx3c3R4bnMxNjphbm5vdGF0aW9uIHdzdHhuczE2OnR5cGU9IkNxbFRvRWxtSW5mbyIgdHJhbnNsYXRvclZlcnNpb249IjMuOS4wIiB0cmFuc2xhdG9yT3B0aW9ucz0iRW5hYmxlQW5ub3RhdGlvbnMsRW5hYmxlTG9jYXRvcnMiIHNpZ25hdHVyZUxldmVsPSJPdmVybG9hZHMiLz4NCiAgICA8d3N0eG5zMTY6YW5ub3RhdGlvbiB3c3R4bnMxNjp0eXBlPSJDcWxUb0VsbUVycm9yIiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIvPg0KICAgIDx3c3R4bnMxNjphbm5vdGF0aW9uIHdzdHhuczE2OnR5cGU9IkNxbFRvRWxtRXJyb3IiIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciBbcmVmZXJlbmNlXSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIi8+DQogICAgPHdzdHhuczE2OmFubm90YXRpb24gd3N0eG5zMTY6dHlwZT0iQ3FsVG9FbG1FcnJvciIgbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciLz4NCiAgICA8d3N0eG5zMTY6YW5ub3RhdGlvbiB3c3R4bnMxNjp0eXBlPSJBbm5vdGF0aW9uIj4NCiAgICAgIDx3c3R4bnMxNzpzIHhtbG5zOndzdHhuczE3PSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiIHI9IjIxOCI+DQogICAgICAgIDxzPg0KICAgICAgICAgIDxzPg0KICAgICAgICAgICAgPG5hbWU+e3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zPC9uYW1lPg0KICAgICAgICAgICAgPGRlY2xhcmVkVHlwZT5vcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmU8L2RlY2xhcmVkVHlwZT4NCiAgICAgICAgICAgIDxzY29wZT5qYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlPC9zY29wZT4NCiAgICAgICAgICAgIDx2YWx1ZT4NCiAgICAgICAgICAgICAgPHM+DQogICAgICAgICAgICAgICAgPHM+PC9zPg0KICAgICAgICAgICAgICAgIDxzPmxpYnJhcnkgRUxNRXhhbXBsZTwvcz4NCiAgICAgICAgICAgICAgPC9zPg0KICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgIDxuaWw+ZmFsc2U8L25pbD4NCiAgICAgICAgICAgIDxnbG9iYWxTY29wZT50cnVlPC9nbG9iYWxTY29wZT4NCiAgICAgICAgICAgIDx0eXBlU3Vic3RpdHV0ZWQ+ZmFsc2U8L3R5cGVTdWJzdGl0dXRlZD4NCiAgICAgICAgICA8L3M+DQogICAgICAgIDwvcz4NCiAgICAgIDwvd3N0eG5zMTc6cz4NCiAgICA8L3dzdHhuczE2OmFubm90YXRpb24+DQogIDwvd3N0eG5zMTY6YW5ub3RhdGlvbj4NCjwvTGlicmFyeT4NCg=="/>
</content>
<content>
<contentType value="application/elm+json"/>
<data
value="ew0KICAibGlicmFyeSIgOiB7DQogICAgInR5cGUiIDogIkxpYnJhcnkiLA0KICAgICJpZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAiRUxNRXhhbXBsZSIsDQogICAgICAic3lzdGVtIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NxbCINCiAgICB9LA0KICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJWZXJzaW9uZWRJZGVudGlmaWVyIiwNCiAgICAgICJpZCIgOiAidXJuOmhsNy1vcmc6ZWxtIiwNCiAgICAgICJ2ZXJzaW9uIiA6ICJyMSINCiAgICB9LA0KICAgICJ1c2luZ3MiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkVXNpbmdzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJVc2luZ0RlZiIsDQogICAgICAgICJsb2NhbElkIiA6ICIxIiwNCiAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwNCiAgICAgICAgInVyaSIgOiAidXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIg0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiVXNpbmdEZWYiLA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJ1c2luZyAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiRkhJUiIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIHZlcnNpb24gJzQuMC4xJyIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIwNiINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjIwNiIsDQogICAgICAgICJsb2NhdG9yIiA6ICIzOjEtMzoyNiIsDQogICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLA0KICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwNCiAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAiaW5jbHVkZXMiIDogew0KICAgICAgInR5cGUiIDogIkxpYnJhcnkkSW5jbHVkZXMiLA0KICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgInR5cGUiIDogIkluY2x1ZGVEZWYiLA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJpbmNsdWRlICIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJGSElSSGVscGVycyIgXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIHZlcnNpb24gIiwgIic0LjAuMSciIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIyMDciDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIyMDciLA0KICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6MzUiLA0KICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICJwYXRoIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiwNCiAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAicGFyYW1ldGVycyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRQYXJhbWV0ZXJzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJQYXJhbWV0ZXJEZWYiLA0KICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7DQogICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIsDQogICAgICAgICAgImxvY2FsSWQiIDogIjIxMiIsDQogICAgICAgICAgImxvY2F0b3IiIDogIjEwOjI4LTEwOjM1IiwNCiAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiDQogICAgICAgIH0sDQogICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyAiIiwgInBhcmFtZXRlciAiLCAiR2x1Y29zZVRocmVzaG9sZCIsICIgIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIlF1YW50aXR5IiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAiciIgOiAiMjEyIg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgInIiIDogIjIxMSINCiAgICAgICAgICB9DQogICAgICAgIH0gXSwNCiAgICAgICAgImxvY2FsSWQiIDogIjIxMSIsDQogICAgICAgICJsb2NhdG9yIiA6ICIxMDoxLTEwOjM1IiwNCiAgICAgICAgIm5hbWUiIDogIkdsdWNvc2VUaHJlc2hvbGQiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0gXQ0KICAgIH0sDQogICAgImNvZGVTeXN0ZW1zIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JENvZGVTeXN0ZW1zIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJDb2RlU3lzdGVtRGVmIiwNCiAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLA0KICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbICIiLCAiY29kZXN5c3RlbSAiLCAiTE9JTkMiLCAiOiAiLCAiJ2h0dHA6Ly9sb2luYy5vcmcnIiBdDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiMjA4Ig0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMjA4IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjM2IiwNCiAgICAgICAgIm5hbWUiIDogIkxPSU5DIiwNCiAgICAgICAgImlkIiA6ICJodHRwOi8vbG9pbmMub3JnIiwNCiAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiDQogICAgICB9IF0NCiAgICB9LA0KICAgICJjb2RlcyIgOiB7DQogICAgICAidHlwZSIgOiAiTGlicmFyeSRDb2RlcyIsDQogICAgICAiZGVmIiA6IFsgew0KICAgICAgICAidHlwZSIgOiAiQ29kZURlZiIsDQogICAgICAgICJjb2RlU3lzdGVtIiA6IHsNCiAgICAgICAgICAidHlwZSIgOiAiQ29kZVN5c3RlbVJlZiIsDQogICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsDQogICAgICAgICAgImxvY2F0b3IiIDogIjg6MzctODo0MSIsDQogICAgICAgICAgIm5hbWUiIDogIkxPSU5DIg0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJjb2RlICIsICJcIkJsb29kIEdsdWNvc2VcIiIsICI6ICIsICInMjMzOS0wJyIsICIgZnJvbSAiIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiTE9JTkMiIF0NCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiBkaXNwbGF5ICIsICInR2x1Y29zZSBCbGQtbUNuYyciIF0NCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJyIiA6ICIyMDkiDQogICAgICAgICAgfQ0KICAgICAgICB9IF0sDQogICAgICAgICJsb2NhbElkIiA6ICIyMDkiLA0KICAgICAgICAibG9jYXRvciIgOiAiODoxLTg6NjgiLA0KICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSIsDQogICAgICAgICJpZCIgOiAiMjMzOS0wIiwNCiAgICAgICAgImRpc3BsYXkiIDogIkdsdWNvc2UgQmxkLW1DbmMiLA0KICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyINCiAgICAgIH0gXQ0KICAgIH0sDQogICAgImNvbnRleHRzIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JENvbnRleHRzIiwNCiAgICAgICJkZWYiIDogWyB7DQogICAgICAgICJ0eXBlIiA6ICJDb250ZXh0RGVmIiwNCiAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsDQogICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjE1IiwNCiAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiDQogICAgICB9IF0NCiAgICB9LA0KICAgICJzdGF0ZW1lbnRzIiA6IHsNCiAgICAgICJ0eXBlIiA6ICJMaWJyYXJ5JFN0YXRlbWVudHMiLA0KICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25EZWYiLA0KICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLA0KICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEzIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjoxLTEyOjE1IiwNCiAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UGF0aWVudCIsDQogICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiDQogICAgICAgICAgfSwNCiAgICAgICAgICAibG9jYWxJZCIgOiAiMjE1Ig0KICAgICAgICB9LA0KICAgICAgICAibG9jYWxJZCIgOiAiMjE0IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjEyOjEtMTI6MTUiLA0KICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsDQogICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50Ig0KICAgICAgfSwgew0KICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvbkRlZiIsDQogICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAidHlwZSIgOiAiUXVlcnkiLA0KICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNlZFF1ZXJ5U291cmNlIiwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIiwNCiAgICAgICAgICAgICAgImNvZGVzIiA6IHsNCiAgICAgICAgICAgICAgICAidHlwZSIgOiAiVG9MaXN0IiwNCiAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7DQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ29kZVJlZiIsDQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIxIiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNToxNy0xNTozMSIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjkiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjIiLA0KICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTU6My0xNTozMiIsDQogICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9T2JzZXJ2YXRpb24iLA0KICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uIiwNCiAgICAgICAgICAgICAgImNvZGVQcm9wZXJ0eSIgOiAiY29kZSIsDQogICAgICAgICAgICAgICJjb2RlQ29tcGFyYXRvciIgOiAifiINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE5IiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTozLTE1OjM1IiwNCiAgICAgICAgICAgICJhbGlhcyIgOiAiQkciDQogICAgICAgICAgfSBdLA0KICAgICAgICAgICJ3aGVyZSIgOiB7DQogICAgICAgICAgICAidHlwZSIgOiAiR3JlYXRlciIsDQogICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgew0KICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIiwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIiwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOCIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfVF1YW50aXR5Ig0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsDQogICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsDQogICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlByb3BlcnR5IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzIiLA0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjExLTE2OjE4IiwNCiAgICAgICAgICAgICAgICAgICJwYXRoIiA6ICJ2YWx1ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogIkJHIg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNCIsDQogICAgICAgICAgICAgICAgImFzVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9UXVhbnRpdHkiDQogICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsDQogICAgICAgICAgICAgICJuYW1lIiA6ICJUb1F1YW50aXR5IiwNCiAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwNCiAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgInR5cGUiIDogIlBhcmFtZXRlclJlZiIsDQogICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMyIsDQogICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjE2OjIyLTE2OjM3IiwNCiAgICAgICAgICAgICAgICAibmFtZSIgOiAiR2x1Y29zZVRocmVzaG9sZCINCiAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM2IiwNCiAgICAgICAgICAgICAgIm5hbWUiIDogIlRvUXVhbnRpdHkiLA0KICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkZISVJIZWxwZXJzIg0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMCIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiMTY6NS0xNjozNyINCiAgICAgICAgICB9LA0KICAgICAgICAgICJsb2NhbElkIiA6ICIyMzkiLA0KICAgICAgICAgICJsb2NhdG9yIiA6ICIxNTozLTE2OjM3Ig0KICAgICAgICB9LA0KICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICJzIiA6IFsgIiIsICJkZWZpbmUgIiwgIlwiQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnNcIiIsICI6XG4gICIgXQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIlsiLCAiT2JzZXJ2YXRpb24iLCAiOiAiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiXCJCbG9vZCBHbHVjb3NlXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIl0iIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjIiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICIgIiwgIkJHIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5Ig0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiXG4gICAgIiBdDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgInR5cGVTdWJzdGl0dXRlZCIgOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIndoZXJlICIgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY29wZSIgOiAiamFrYXJ0YS54bWwuYmluZC5KQVhCRWxlbWVudCRHbG9iYWxTY29wZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIkJHIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyAiLiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMX1zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNsYXJlZFR5cGUiIDogIm9yZy5obDcuY3FsX2Fubm90YXRpb25zLnIxLk5hcnJhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbICJ2YWx1ZSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIiAiLCAiPiIsICIgIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6Y3FsLWFubm90YXRpb25zOnIxfXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjbGFyZWRUeXBlIiA6ICJvcmcuaGw3LmNxbF9hbm5vdGF0aW9ucy5yMS5OYXJyYXRpdmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjb3BlIiA6ICJqYWthcnRhLnhtbC5iaW5kLkpBWEJFbGVtZW50JEdsb2JhbFNjb3BlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgIkdsdWNvc2VUaHJlc2hvbGQiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzMiDQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMwIg0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgIm5pbCIgOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsU2NvcGUiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzMCINCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgImdsb2JhbFNjb3BlIiA6IHRydWUsDQogICAgICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICJyIiA6ICIyMzkiDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICJuaWwiIDogZmFsc2UsDQogICAgICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICAgICAidHlwZVN1YnN0aXR1dGVkIiA6IGZhbHNlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiciIgOiAiMjE4Ig0KICAgICAgICAgIH0NCiAgICAgICAgfSBdLA0KICAgICAgICAibG9jYWxJZCIgOiAiMjE4IiwNCiAgICAgICAgImxvY2F0b3IiIDogIjE0OjEtMTY6MzciLA0KICAgICAgICAibmFtZSIgOiAiQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbnMiLA0KICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIg0KICAgICAgfSBdDQogICAgfSwNCiAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iLA0KICAgICAgInRyYW5zbGF0b3JWZXJzaW9uIiA6ICIzLjkuMCIsDQogICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzIiwNCiAgICAgICJzaWduYXR1cmVMZXZlbCIgOiAiT3ZlcmxvYWRzIg0KICAgIH0sIHsNCiAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUVycm9yIiwNCiAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIsDQogICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsDQogICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyINCiAgICB9LCB7DQogICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciIsDQogICAgICAibWVzc2FnZSIgOiAiQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iLA0KICAgICAgImVycm9yVHlwZSIgOiAic2VtYW50aWMiLA0KICAgICAgImVycm9yU2V2ZXJpdHkiIDogIndhcm5pbmciDQogICAgfSwgew0KICAgICAgInR5cGUiIDogIkNxbFRvRWxtRXJyb3IiLA0KICAgICAgIm1lc3NhZ2UiIDogIkFuIG9wZXJhbmQgaWRlbnRpZmllciBbcmVmZXJlbmNlXSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiwNCiAgICAgICJlcnJvclR5cGUiIDogInNlbWFudGljIiwNCiAgICAgICJlcnJvclNldmVyaXR5IiA6ICJ3YXJuaW5nIg0KICAgIH0sIHsNCiAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICJzIiA6IHsNCiAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjF9cyIsDQogICAgICAgICAgImRlY2xhcmVkVHlwZSIgOiAib3JnLmhsNy5jcWxfYW5ub3RhdGlvbnMucjEuTmFycmF0aXZlIiwNCiAgICAgICAgICAic2NvcGUiIDogImpha2FydGEueG1sLmJpbmQuSkFYQkVsZW1lbnQkR2xvYmFsU2NvcGUiLA0KICAgICAgICAgICJ2YWx1ZSIgOiB7DQogICAgICAgICAgICAicyIgOiBbICIiLCAibGlicmFyeSBFTE1FeGFtcGxlIiBdDQogICAgICAgICAgfSwNCiAgICAgICAgICAibmlsIiA6IGZhbHNlLA0KICAgICAgICAgICJnbG9iYWxTY29wZSIgOiB0cnVlLA0KICAgICAgICAgICJ0eXBlU3Vic3RpdHV0ZWQiIDogZmFsc2UNCiAgICAgICAgfSBdLA0KICAgICAgICAiciIgOiAiMjE4Ig0KICAgICAgfQ0KICAgIH0gXSwNCiAgICAibG9jYWxJZCIgOiAiMCINCiAgfQ0KfQ=="/>
</content>
</Library>