WHO Immunization Implementation Guide
1.0.0 - release
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/tree/132/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-31 |
<Library xmlns="http://hl7.org/fhir">
<id value="IMMZD5DTVaricellaContraindicationsLogic"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">IMMZD5DTVaricellaContraindicationsLogic</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">IMMZD5DTVaricellaContraindicationsLogic</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">1.0.0</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Library-IMMZD5DTVaricellaContraindicationsLogic.html">IMMZD5DTVaricellaContraindicationsLogic</a></td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>logic-library</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2026-03-31 13:54:17+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">WHO</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>This library defines decision support logic for the IMMZ.D5.DT.Varicella contraindications decision table in the Immunization CPG</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Related Artifacts: </b></th>
<td style="padding-left: 4px;">
<p><b>Dependencies</b></p>
<ul>
<li><a href="Library-IMMZD5DTVaricellaEncounterElements.html">IMMZD5DTVaricellaEncounterElements</a></li>
</ul>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
<tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Draft Medication Request ID for Varicella dose</th><th>id</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Varicella vaccination is contraindicated</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Varicella vaccination is contraindicated Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Clinical judgement is required. Create clinical note Case 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Clinical judgement is required. Create clinical note Case 2</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Clinical judgement is required. Create clinical note Case 3</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Clinical judgement is required. Create clinical note</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Clinical judgement is required. Create clinical note Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Has Guidance</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
<tr><td><pre><code class="language-cql">/*
* Library: IMMZD5DTVaricellaContraindicationsLogic (IMMZ.D5.DT.Varicella contraindications)
* Rule: Check for contraindications before administering the vaccine(s) due
* Decision Table: IMMZ.D5.DT.Varicella contraindications
* Trigger: IMMZ.D5 Determine vaccine(s) to be administered based on contraindications
*/
library IMMZD5DTVaricellaContraindicationsLogic
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include IMMZD5DTVaricellaEncounterElements called Encounter
parameter Today Date default Today()
context Patient
/*
@dynamicValue: Draft Medication Request ID for Varicella dose
*/
define "Draft Medication Request ID for Varicella dose":
First(Encounter."Draft Medication Request for Varicella dose").id
/*
@dynamicValue: Guidance
*/
define "Guidance":
case
when "Varicella vaccination is contraindicated" then "Varicella vaccination is contraindicated Guidance"
when "Clinical judgement is required. Create clinical note" then "Clinical judgement is required. Create clinical note Guidance"
when "Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note" then "Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note Guidance"
else ''
end
define "Has Guidance":
"Guidance" is not null and "Guidance" != ''
/*
@output: Varicella vaccination is contraindicated
@pseudocode: "Immunization recommendation status" = "Contraindicated"
*/
define "Varicella vaccination is contraindicated":
Encounter."The client is currently pregnant"
/*
@output: Varicella vaccination is contraindicated Guidance
@guidance: Do not vaccinate client with varicella as varicella vaccination is contraindicated for pregnant client.
*/
define "Varicella vaccination is contraindicated Guidance":
'Do not vaccinate client with varicella as varicella vaccination is contraindicated for pregnant client.'
/*
@output: Clinical judgement is required. Create clinical note Case 1
@pseudocode: "Immunization recommendation status" = "Further evaluation needed"
*/
define "Clinical judgement is required. Create clinical note Case 1":
Encounter."The client is planning to get pregnant in the next month"
/*
@output: Clinical judgement is required. Create clinical note Case 2
@pseudocode: '"Immunization recommendation status" = "Further evaluation needed"
*/
define "Clinical judgement is required. Create clinical note Case 2":
Encounter."The client is immunocompromised"
/*
@output: Clinical judgement is required. Create clinical note Case 3
@pseudocode: "Immunization recommendation status" = "Further evaluation needed"
*/
define "Clinical judgement is required. Create clinical note Case 3":
Encounter."The client is receiving or has received medications that may be immunosuppressive"
/*
@output: Clinical judgement is required. Create clinical note
@pseudocode: "Immunization recommendation status" = "Further evaluation needed"
*/
define "Clinical judgement is required. Create clinical note":
"Clinical judgement is required. Create clinical note Case 1"
or "Clinical judgement is required. Create clinical note Case 2"
or "Clinical judgement is required. Create clinical note Case 3"
/*
@output: Clinical judgement is required. Create clinical note Guidance
@guidance = Discuss pregnancy intentions, consider risks of vaccination and make a clinical judgement. It is recommended to delay pregnancy for 4 weeks after vaccination.
@guidance = Client is immunocompromised, consider risks of vaccination and make a judgement. Consider 2 dose schedule.
@guidance = Client is receiving or has received medications that may be immunosuppressive, consider risks of vaccination and make a judgement.
*/
define "Clinical judgement is required. Create clinical note Guidance":
case
when "Clinical judgement is required. Create clinical note Case 1" then 'Discuss pregnancy intentions, consider risks of vaccination and make a clinical judgement. It is recommended to delay pregnancy for 4 weeks after vaccination.'
when "Clinical judgement is required. Create clinical note Case 2" then 'Client is immunocompromised, consider risks of vaccination and make a judgement. Consider 2 dose schedule.'
when "Clinical judgement is required. Create clinical note Case 3" then 'Client is receiving or has received medications that may be immunosuppressive, consider risks of vaccination and make a judgement.'
else ''
end
/*
@output: Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note
@pseudocode: "Immunization recommendation status" = "Further evaluation needed"
*/
define "Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note":
Encounter."The client has immune deficiency"
/*
@output: Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note Guidance
@guidance: Varicella vaccination is usually contraindicated in clients with congenital or acquired immune deficiencies. Consider risks of vaccination and make a judgement.
*/
define "Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note Guidance":
'Varicella vaccination is usually contraindicated in clients with congenital or acquired immune deficiencies. Consider risks of vaccination and make a judgement.'
/*
@test: Test expected results based on example patients
*/
define "Test Validation":
case
when Patient.id = 'Varicella34.1' then "Varicella vaccination is contraindicated" and "Guidance" = 'Do not vaccinate client with varicella as varicella vaccination is contraindicated for pregnant client.'
when Patient.id = 'Varicella35.1' then "Clinical judgement is required. Create clinical note Case 1" and "Guidance" = 'Discuss pregnancy intentions, consider risks of vaccination and make a clinical judgement. It is recommended to delay pregnancy for 4 weeks after vaccination.'
when Patient.id = 'Varicella36.1' then "Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note" and "Guidance" = 'Varicella vaccination is usually contraindicated in clients with congenital or acquired immune deficiencies. Consider risks of vaccination and make a judgement.'
when Patient.id = 'Varicella37.1' then "Clinical judgement is required. Create clinical note Case 2" and "Guidance" = 'Client is immunocompromised, consider risks of vaccination and make a judgement. Consider 2 dose schedule.'
when Patient.id = 'Varicella38.1' then "Clinical judgement is required. Create clinical note Case 3" and "Guidance" = 'Client is receiving or has received medications that may be immunosuppressive, consider risks of vaccination and make a judgement.'
else 'No test case set'
end
</code></pre></td></tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<url
value="http://smart.who.int/immunizations/Library/IMMZD5DTVaricellaContraindicationsLogic"/>
<version value="1.0.0"/>
<name value="IMMZD5DTVaricellaContraindicationsLogic"/>
<title value="IMMZD5DTVaricellaContraindicationsLogic"/>
<status value="draft"/>
<experimental value="false"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-03-31T13:54:17+00:00"/>
<publisher value="WHO"/>
<contact>
<name value="WHO"/>
<telecom>
<system value="url"/>
<value value="http://who.int"/>
</telecom>
</contact>
<description
value="This library defines decision support logic for the IMMZ.D5.DT.Varicella contraindications decision table in the Immunization CPG"/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZD5DTVaricellaEncounterElements"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Draft Medication Request ID for Varicella dose"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="id"/>
</parameter>
<parameter>
<name value="Varicella vaccination is contraindicated"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Varicella vaccination is contraindicated Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name
value="Clinical judgement is required. Create clinical note Case 1"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Clinical judgement is required. Create clinical note Case 2"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Clinical judgement is required. Create clinical note Case 3"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Clinical judgement is required. Create clinical note"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Clinical judgement is required. Create clinical note Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name
value="Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Varicella vaccination could be contraindicated. Clinical judgement is required. Create clinical note Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Has Guidance"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Test Validation"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="LyoKICogTGlicmFyeTogSU1NWkQ1RFRWYXJpY2VsbGFDb250cmFpbmRpY2F0aW9uc0xvZ2ljIChJTU1aLkQ1LkRULlZhcmljZWxsYSBjb250cmFpbmRpY2F0aW9ucykKICogUnVsZTogQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zIGJlZm9yZSBhZG1pbmlzdGVyaW5nIHRoZSB2YWNjaW5lKHMpIGR1ZQogKiBEZWNpc2lvbiBUYWJsZTogSU1NWi5ENS5EVC5WYXJpY2VsbGEgY29udHJhaW5kaWNhdGlvbnMKICogVHJpZ2dlcjogSU1NWi5ENSBEZXRlcm1pbmUgdmFjY2luZShzKSB0byBiZSBhZG1pbmlzdGVyZWQgYmFzZWQgb24gY29udHJhaW5kaWNhdGlvbnMKICovCmxpYnJhcnkgSU1NWkQ1RFRWYXJpY2VsbGFDb250cmFpbmRpY2F0aW9uc0xvZ2ljCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBJTU1aRDVEVFZhcmljZWxsYUVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBFbmNvdW50ZXIKCnBhcmFtZXRlciBUb2RheSBEYXRlIGRlZmF1bHQgVG9kYXkoKQoKY29udGV4dCBQYXRpZW50CgovKgogIEBkeW5hbWljVmFsdWU6IERyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBJRCBmb3IgVmFyaWNlbGxhIGRvc2UKICAqLwogIGRlZmluZSAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBWYXJpY2VsbGEgZG9zZSI6CiAgICBGaXJzdChFbmNvdW50ZXIuIkRyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBmb3IgVmFyaWNlbGxhIGRvc2UiKS5pZAoKCi8qCkBkeW5hbWljVmFsdWU6IEd1aWRhbmNlCiovCmRlZmluZSAiR3VpZGFuY2UiOgogIGNhc2UgCiAgICB3aGVuICJWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIiB0aGVuICJWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIEd1aWRhbmNlIgogICAgd2hlbiAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSIgdGhlbiAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBHdWlkYW5jZSIKICAgIHdoZW4gIlZhcmljZWxsYSB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUiIHRoZW4gIlZhcmljZWxsYSB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgR3VpZGFuY2UiIAogICAgZWxzZSAnJwogIGVuZAogIApkZWZpbmUgIkhhcyBHdWlkYW5jZSI6CiAgIkd1aWRhbmNlIiBpcyBub3QgbnVsbCBhbmQgIkd1aWRhbmNlIiAhPSAnJwoKLyoKQG91dHB1dDogVmFyaWNlbGxhIHZhY2NpbmF0aW9uIGlzIGNvbnRyYWluZGljYXRlZApAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkNvbnRyYWluZGljYXRlZCIKKi8KZGVmaW5lICJWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIjoKICBFbmNvdW50ZXIuIlRoZSBjbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50IgoKLyoKQG91dHB1dDogVmFyaWNlbGxhIHZhY2NpbmF0aW9uIGlzIGNvbnRyYWluZGljYXRlZCBHdWlkYW5jZQpAZ3VpZGFuY2U6IERvIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdmFyaWNlbGxhIGFzIHZhcmljZWxsYSB2YWNjaW5hdGlvbiBpcyBjb250cmFpbmRpY2F0ZWQgZm9yIHByZWduYW50IGNsaWVudC4KKi8KZGVmaW5lICJWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIEd1aWRhbmNlIjoKICAnRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB2YXJpY2VsbGEgYXMgdmFyaWNlbGxhIHZhY2NpbmF0aW9uIGlzIGNvbnRyYWluZGljYXRlZCBmb3IgcHJlZ25hbnQgY2xpZW50LicKCi8qCkBvdXRwdXQ6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAxCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIKKi8KZGVmaW5lICJDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIENhc2UgMSI6CiAgRW5jb3VudGVyLiJUaGUgY2xpZW50IGlzIHBsYW5uaW5nIHRvIGdldCBwcmVnbmFudCBpbiB0aGUgbmV4dCBtb250aCIKCi8qCkBvdXRwdXQ6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAyCkBwc2V1ZG9jb2RlOiAnIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkZ1cnRoZXIgZXZhbHVhdGlvbiBuZWVkZWQiCiovCmRlZmluZSAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBDYXNlIDIiOgogIEVuY291bnRlci4iVGhlIGNsaWVudCBpcyBpbW11bm9jb21wcm9taXNlZCIKCi8qCkBvdXRwdXQ6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAzCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIKKi8KZGVmaW5lICJDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIENhc2UgMyI6CiAgRW5jb3VudGVyLiJUaGUgY2xpZW50IGlzIHJlY2VpdmluZyBvciBoYXMgcmVjZWl2ZWQgbWVkaWNhdGlvbnMgdGhhdCBtYXkgYmUgaW1tdW5vc3VwcHJlc3NpdmUiCgovKgpAb3V0cHV0OiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIKKi8KZGVmaW5lICJDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIjoKICAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBDYXNlIDEiCiAgICBvciAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBDYXNlIDIiCiAgICBvciAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBDYXNlIDMiCgovKgpAb3V0cHV0OiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIEd1aWRhbmNlCkBndWlkYW5jZSA9IERpc2N1c3MgcHJlZ25hbmN5IGludGVudGlvbnMsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LiBJdCBpcyByZWNvbW1lbmRlZCB0byBkZWxheSBwcmVnbmFuY3kgZm9yIDQgd2Vla3MgYWZ0ZXIgdmFjY2luYXRpb24uCkBndWlkYW5jZSA9IENsaWVudCBpcyBpbW11bm9jb21wcm9taXNlZCwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBqdWRnZW1lbnQuIENvbnNpZGVyIDIgZG9zZSBzY2hlZHVsZS4KQGd1aWRhbmNlID0gQ2xpZW50IGlzIHJlY2VpdmluZyBvciBoYXMgcmVjZWl2ZWQgbWVkaWNhdGlvbnMgdGhhdCBtYXkgYmUgaW1tdW5vc3VwcHJlc3NpdmUsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEganVkZ2VtZW50LgoqLwpkZWZpbmUgIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgR3VpZGFuY2UiOgogIGNhc2UKICAgIHdoZW4gIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAxIiB0aGVuICdEaXNjdXNzIHByZWduYW5jeSBpbnRlbnRpb25zLCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4gSXQgaXMgcmVjb21tZW5kZWQgdG8gZGVsYXkgcHJlZ25hbmN5IGZvciA0IHdlZWtzIGFmdGVyIHZhY2NpbmF0aW9uLicKICAgIHdoZW4gIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAyIiB0aGVuICdDbGllbnQgaXMgaW1tdW5vY29tcHJvbWlzZWQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEganVkZ2VtZW50LiBDb25zaWRlciAyIGRvc2Ugc2NoZWR1bGUuJwogICAgd2hlbiAiQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBDYXNlIDMiIHRoZW4gJ0NsaWVudCBpcyByZWNlaXZpbmcgb3IgaGFzIHJlY2VpdmVkIG1lZGljYXRpb25zIHRoYXQgbWF5IGJlIGltbXVub3N1cHByZXNzaXZlLCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGp1ZGdlbWVudC4nCiAgICBlbHNlICcnCiAgZW5kCgovKgpAb3V0cHV0OiBWYXJpY2VsbGEgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIKKi8KZGVmaW5lICJWYXJpY2VsbGEgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIjoKICBFbmNvdW50ZXIuIlRoZSBjbGllbnQgaGFzIGltbXVuZSBkZWZpY2llbmN5IgoKLyoKQG91dHB1dDogVmFyaWNlbGxhIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkLiBDcmVhdGUgY2xpbmljYWwgbm90ZSBHdWlkYW5jZQpAZ3VpZGFuY2U6IFZhcmljZWxsYSB2YWNjaW5hdGlvbiBpcyB1c3VhbGx5IGNvbnRyYWluZGljYXRlZCBpbiBjbGllbnRzIHdpdGggY29uZ2VuaXRhbCBvciBhY3F1aXJlZCBpbW11bmUgZGVmaWNpZW5jaWVzLiBDb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGp1ZGdlbWVudC4KKi8KZGVmaW5lICJWYXJpY2VsbGEgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIEd1aWRhbmNlIjoKICAnVmFyaWNlbGxhIHZhY2NpbmF0aW9uIGlzIHVzdWFsbHkgY29udHJhaW5kaWNhdGVkIGluIGNsaWVudHMgd2l0aCBjb25nZW5pdGFsIG9yIGFjcXVpcmVkIGltbXVuZSBkZWZpY2llbmNpZXMuIENvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEganVkZ2VtZW50LicKCgovKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICJUZXN0IFZhbGlkYXRpb24iOgogIGNhc2UKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdWYXJpY2VsbGEzNC4xJyB0aGVuICJWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIiBhbmQgIkd1aWRhbmNlIiA9ICdEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHZhcmljZWxsYSBhcyB2YXJpY2VsbGEgdmFjY2luYXRpb24gaXMgY29udHJhaW5kaWNhdGVkIGZvciBwcmVnbmFudCBjbGllbnQuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ1ZhcmljZWxsYTM1LjEnIHRoZW4gIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAxIiBhbmQgIkd1aWRhbmNlIiA9ICdEaXNjdXNzIHByZWduYW5jeSBpbnRlbnRpb25zLCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4gSXQgaXMgcmVjb21tZW5kZWQgdG8gZGVsYXkgcHJlZ25hbmN5IGZvciA0IHdlZWtzIGFmdGVyIHZhY2NpbmF0aW9uLicKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdWYXJpY2VsbGEzNi4xJyB0aGVuICJWYXJpY2VsbGEgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQuIENyZWF0ZSBjbGluaWNhbCBub3RlIiBhbmQgIkd1aWRhbmNlIiA9ICdWYXJpY2VsbGEgdmFjY2luYXRpb24gaXMgdXN1YWxseSBjb250cmFpbmRpY2F0ZWQgaW4gY2xpZW50cyB3aXRoIGNvbmdlbml0YWwgb3IgYWNxdWlyZWQgaW1tdW5lIGRlZmljaWVuY2llcy4gQ29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBqdWRnZW1lbnQuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ1ZhcmljZWxsYTM3LjEnIHRoZW4gIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAyIiBhbmQgIkd1aWRhbmNlIiA9ICdDbGllbnQgaXMgaW1tdW5vY29tcHJvbWlzZWQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEganVkZ2VtZW50LiBDb25zaWRlciAyIGRvc2Ugc2NoZWR1bGUuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ1ZhcmljZWxsYTM4LjEnIHRoZW4gIkNsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZC4gQ3JlYXRlIGNsaW5pY2FsIG5vdGUgQ2FzZSAzIiBhbmQgIkd1aWRhbmNlIiA9ICdDbGllbnQgaXMgcmVjZWl2aW5nIG9yIGhhcyByZWNlaXZlZCBtZWRpY2F0aW9ucyB0aGF0IG1heSBiZSBpbW11bm9zdXBwcmVzc2l2ZSwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBqdWRnZW1lbnQuJwogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"/>
</content>
</Library>