WHO SMART Guidelines - HIV
0.4.3 - ci-build

WHO SMART Guidelines - HIV - Local Development build (v0.4.3) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: HIV.IND.42 Logic - XML Representation

Draft as of 2025-02-07

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="HIVIND42Logic"/>
  <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;">HIV.IND.42 Logic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">HIVIND42Logic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">0.4.3</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="Library-HIVIND42Logic.html">HIV.IND.42 Logic</a></td>
        </tr>
        

        

        

        
        <tr>
            <th scope="row"><b>Status: </b></th>
            <td style="padding-left: 4px;">draft</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Experimental: </b></th>
            <td style="padding-left: 4px;">true</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/6.0.2/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;">2025-02-07 14:15:45+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>% of HIV-exposed infants whose final HIV outcome status is known</p>
</div></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: HIV.IND.42 Logic
 * Ref No: VER.6
 * Short Name: Final outcome of PMTCT
 *
 * Definition: % of HIV-exposed infants whose final HIV outcome status is known
 *
 * Numerator: HIV-exposed infants born within the past 12 months (or 24 months in breastfeeding settings) who have known final HIV outcome status
 * Numerator Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(with an &quot;Infant date of birth&quot; in past 12 months) OR (with an &quot;Infant date of birth&quot; in past 24 months IF mothers are &quot;Breastfeeding&quot;)] AND &quot;Registered in birth cohort&quot;=True AND with a &quot;Final diagnosis of HIV-exposed infant&quot; of NOT NULL
 * Numerator Exclusions: 
 *
 * Denominator: a) Programme-based/service delivery denominator | Number of HIV-exposed infants who were born within the 12 months (or 24 months in breastfeeding settings) prior to the reporting period and registered in the birth cohort | For example, for the reporting period January to December 2021 the denominator would be the number of HIV-exposed infants born between January to December 2020 in non-breast feeding settings and January to December 2019 in breastfeeding settings. |  | b) Population-based denominator | Estimated number of HIV-positive women who delivered within the past 12 months | (or 24 months in breastfeeding settings)
 * Denominator Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(with an &quot;Infant date of birth&quot; within past 12 months) OR (with an &quot;Infant date of birth&quot; within past 24 months IF mothers are &quot;Breastfeeding&quot;)] AND &quot;Registered in birth cohort&quot;=True
 * Denominator Exclusions: 
 *
 * Disaggregations:
 * • Outcome status (HIV-positive, HIV-negative, no longer breastfeeding) 
 *  • Cities and other administrative regions of epidemiologic importance
 *
 * Disaggregation Elements: Infant HIV status
 *
 * Numerator and Denominator Elements:
 * Breastfeeding 
 *  Final diagnosis of HIV-exposed infant 
 *  HIV-exposed infant or child 
 *  Infant date of birth 
 *  Registered in birth cohort
 *
 * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022
 * 
 * Data Concepts:
 * HIV.B.DE32: Breastfeeding | Infant is being breastfed by mother
 * HIV.D.DE32: Breastfeeding | Client is giving infant breast milk
 * HIV.E.DE87: Infant date of birth | The infant's date of birth (DOB) if known
 * HIV.E.DE112: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure
 * HIV.E.DE179: Registered in birth cohort | Whether the infant has been registered in a birth cohort
 * HIV.E.DE225: Infant HIV status | HIV status reported after applying the HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.
 * HIV.E.DE226: HIV-positive | Infant is HIV-positive
 * HIV.E.DE227: HIV-negative | Infant is HIV-negative
 * HIV.E.DE228: Unknown | Infant has unknown HIV status
 * HIV.E.DE230: Final diagnosis of HIV-exposed infant | HIV-exposed infant final status at 18 months or 3 months after cessation of breastfeeding (whichever is later).
 * HIV.E.DE231: HIV-positive | The infant is HIV-positive
 * HIV.E.DE232: HIV-negative and no longer breastfeeding | The infant is HIV-negative and the mother has quit breastfeeding
 * HIV.E.DE233: HIV status unknown | The final HIV status of the child is unknown because the infant died, was lost to follow-up or transferred out without ever having an HIV-positive diagnosis or is active in care but was not tested at 18 months
 * HIV.SRV.DE20: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure
 * HIV.SRV.DE22: Final diagnosis of HIV-exposed infant | HIV-exposed infant final status at 18 months or 3 months after cessation of breastfeeding (whichever is later).
 *
 * Additional Context
 * - what it measures: This indicator measures quality of programme follow-up to track exposed infants and ascertain final HIV status.
 * - rationale: • Effective PMTCT programmes must follow HIV-exposed infants until the end of the breastfeeding period to ensure that the full cascade of services and support is provided to HIV-positive mothers and their infants. | • The ability to ascertain final outcome status through routine programme data across multiple points of care is a key challenge.
 * - method: This indicator measures quality of programme follow-up to track exposed infants and ascertain final HIV status.
 * 
 * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm
 */

library HIVIND42Logic

// Included Libraries
using FHIR version '4.0.1'

include HIVCommon version '0.0.1' called HIC
include FHIRHelpers version '4.0.1'

include WHOCommon called WCom

include HIVElements called HE
include HIVIndicatorElements called HIE


// Indicator Definition
parameter &quot;Measurement Period&quot; Interval&lt;Date&gt; default Interval[@2023-01-01, @2023-01-30]

context Patient
/* Populations */

/*
 *Initial Population
 */

define &quot;Initial Population&quot;:
  true

/**
 * Numerator
 * 
 * Definition: HIV-exposed infants born within the past 12 months (or 24 months in breastfeeding settings) who have known final HIV outcome status
 * Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(with an &quot;Infant date of birth&quot; in past 12 months) OR (with an &quot;Infant date of birth&quot; in past 24 months IF mothers are &quot;Breastfeeding&quot;)] AND &quot;Registered in birth cohort&quot;=True AND with a &quot;Final diagnosis of HIV-exposed infant&quot; of NOT NULL
 */

define &quot;Numerator&quot;:
  HIE.&quot;is HIV-exposed infant or child E.DE112&quot;
  and
  (exists(HIE.&quot;Live Birth Delivery&quot; B where months between end of B.effective.toInterval() and end of  &quot;Measurement Period&quot; &lt; 12 months)
  or 
  (
  exists(HIE.&quot;Breastfeeding B.DE32&quot; B) and
  exists(HIE.&quot;Live Birth Delivery&quot; B where months between end of B.effective.toInterval() and end of  &quot;Measurement Period&quot; &lt; 24 months)
  )
  )
  and HIE.&quot;Registered in birth cohort&quot;
  and HE.&quot;Final diagnosis of HIV-exposed infant E.DE230&quot; is not null


/**
 * Denominator
 *
 * Definition: a) Programme-based/service delivery denominator | Number of HIV-exposed infants who were born within the 12 months (or 24 months in breastfeeding settings) prior to the reporting period and registered in the birth cohort | For example, for the reporting period January to December 2021 the denominator would be the number of HIV-exposed infants born between January to December 2020 in non-breast feeding settings and January to December 2019 in breastfeeding settings. |  | b) Population-based denominator | Estimated number of HIV-positive women who delivered within the past 12 months | (or 24 months in breastfeeding settings)
 * Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(with an &quot;Infant date of birth&quot; within past 12 months) OR (with an &quot;Infant date of birth&quot; within past 24 months IF mothers are &quot;Breastfeeding&quot;)] AND &quot;Registered in birth cohort&quot;=True
 */

define &quot;Denominator&quot;:
  HIE.&quot;is HIV-exposed infant or child E.DE112&quot;
  and
  (exists(HIE.&quot;Live Birth Delivery&quot; B where months between end of B.effective.toInterval() and end of  &quot;Measurement Period&quot; &lt; 12 months)
  or 
  (
  exists(HIE.&quot;Breastfeeding B.DE32&quot; B) and
  exists(HIE.&quot;Live Birth Delivery&quot; B where months between end of B.effective.toInterval() and end of  &quot;Measurement Period&quot; &lt; 24 months)
  )
  )
  and HIE.&quot;Registered in birth cohort&quot;
    

/* end Populations */

/* 
 * Disaggregators
 */
  
define &quot;Geographic Region Stratifier&quot;:
	HIE.&quot;By Geographic Region Stratifier&quot;

define &quot;HIV Status Stratifier infant&quot;:
  HIE.&quot;HIV Status Stratifier infant&quot;

define &quot;Stratification&quot;:
HIE.&quot;HIV Status Stratifier infant&quot;.code
+ ':' + HIE.&quot;By Geographic Region Stratifier&quot;




</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/hiv/Library/HIVIND42Logic"/>
  <version value="0.4.3"/>
  <name value="HIVIND42Logic"/>
  <title value="HIV.IND.42 Logic"/>
  <status value="draft"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2025-02-07T14:15:45+00:00"/>
  <publisher value="WHO"/>
  <contact>
    <name value="WHO"/>
    <telecom>
      <system value="url"/>
      <value value="http://who.int"/>
    </telecom>
  </contact>
  <description
               value="% of HIV-exposed infants whose final HIV outcome status is known"/>
  <content>
    <contentType value="text/cql"/>
    <data
          value="LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNDIgTG9naWMKICogUmVmIE5vOiBWRVIuNgogKiBTaG9ydCBOYW1lOiBGaW5hbCBvdXRjb21lIG9mIFBNVENUCiAqCiAqIERlZmluaXRpb246ICUgb2YgSElWLWV4cG9zZWQgaW5mYW50cyB3aG9zZSBmaW5hbCBISVYgb3V0Y29tZSBzdGF0dXMgaXMga25vd24KICoKICogTnVtZXJhdG9yOiBISVYtZXhwb3NlZCBpbmZhbnRzIGJvcm4gd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyAob3IgMjQgbW9udGhzIGluIGJyZWFzdGZlZWRpbmcgc2V0dGluZ3MpIHdobyBoYXZlIGtub3duIGZpbmFsIEhJViBvdXRjb21lIHN0YXR1cwogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgWyh3aXRoIGFuICJJbmZhbnQgZGF0ZSBvZiBiaXJ0aCIgaW4gcGFzdCAxMiBtb250aHMpIE9SICh3aXRoIGFuICJJbmZhbnQgZGF0ZSBvZiBiaXJ0aCIgaW4gcGFzdCAyNCBtb250aHMgSUYgbW90aGVycyBhcmUgIkJyZWFzdGZlZWRpbmciKV0gQU5EICJSZWdpc3RlcmVkIGluIGJpcnRoIGNvaG9ydCI9VHJ1ZSBBTkQgd2l0aCBhICJGaW5hbCBkaWFnbm9zaXMgb2YgSElWLWV4cG9zZWQgaW5mYW50IiBvZiBOT1QgTlVMTAogKiBOdW1lcmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERlbm9taW5hdG9yOiBhKSBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvciB8IE51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIHdobyB3ZXJlIGJvcm4gd2l0aGluIHRoZSAxMiBtb250aHMgKG9yIDI0IG1vbnRocyBpbiBicmVhc3RmZWVkaW5nIHNldHRpbmdzKSBwcmlvciB0byB0aGUgcmVwb3J0aW5nIHBlcmlvZCBhbmQgcmVnaXN0ZXJlZCBpbiB0aGUgYmlydGggY29ob3J0IHwgRm9yIGV4YW1wbGUsIGZvciB0aGUgcmVwb3J0aW5nIHBlcmlvZCBKYW51YXJ5IHRvIERlY2VtYmVyIDIwMjEgdGhlIGRlbm9taW5hdG9yIHdvdWxkIGJlIHRoZSBudW1iZXIgb2YgSElWLWV4cG9zZWQgaW5mYW50cyBib3JuIGJldHdlZW4gSmFudWFyeSB0byBEZWNlbWJlciAyMDIwIGluIG5vbi1icmVhc3QgZmVlZGluZyBzZXR0aW5ncyBhbmQgSmFudWFyeSB0byBEZWNlbWJlciAyMDE5IGluIGJyZWFzdGZlZWRpbmcgc2V0dGluZ3MuIHwgIHwgYikgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvciB8IEVzdGltYXRlZCBudW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB8IChvciAyNCBtb250aHMgaW4gYnJlYXN0ZmVlZGluZyBzZXR0aW5ncykKICogRGVub21pbmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgWyh3aXRoIGFuICJJbmZhbnQgZGF0ZSBvZiBiaXJ0aCIgd2l0aGluIHBhc3QgMTIgbW9udGhzKSBPUiAod2l0aCBhbiAiSW5mYW50IGRhdGUgb2YgYmlydGgiIHdpdGhpbiBwYXN0IDI0IG1vbnRocyBJRiBtb3RoZXJzIGFyZSAiQnJlYXN0ZmVlZGluZyIpXSBBTkQgIlJlZ2lzdGVyZWQgaW4gYmlydGggY29ob3J0Ij1UcnVlCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAosKgT3V0Y29tZSBzdGF0dXMgKEhJVi1wb3NpdGl2ZSwgSElWLW5lZ2F0aXZlLCBubyBsb25nZXIgYnJlYXN0ZmVlZGluZykgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgcmVnaW9ucyBvZiBlcGlkZW1pb2xvZ2ljIGltcG9ydGFuY2UKICoKICogRGlzYWdncmVnYXRpb24gRWxlbWVudHM6IEluZmFudCBISVYgc3RhdHVzCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIEJyZWFzdGZlZWRpbmcgCiAqICBGaW5hbCBkaWFnbm9zaXMgb2YgSElWLWV4cG9zZWQgaW5mYW50IAogKiAgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIAogKiAgSW5mYW50IGRhdGUgb2YgYmlydGggCiAqICBSZWdpc3RlcmVkIGluIGJpcnRoIGNvaG9ydAogKgogKiBSZWZlcmVuY2U6IENvbnNvbGlkYXRlZCBndWlkZWxpbmVzIG9uIHBlcnNvbi1jZW50cmVkIEhJViBzdHJhdGVnaWMgaW5mb3JtYXRpb246IHN0cmVuZ3RoZW5pbmcgcm91dGluZSBkYXRhIGZvciBpbXBhY3QuIEdlbmV2YTogV29ybGQgSGVhbHRoIE9yZ2FuaXphdGlvbjsgMjAyMgogKiAKICogRGF0YSBDb25jZXB0czoKICogSElWLkIuREUzMjogQnJlYXN0ZmVlZGluZyB8IEluZmFudCBpcyBiZWluZyBicmVhc3RmZWQgYnkgbW90aGVyCiAqIEhJVi5ELkRFMzI6IEJyZWFzdGZlZWRpbmcgfCBDbGllbnQgaXMgZ2l2aW5nIGluZmFudCBicmVhc3QgbWlsawogKiBISVYuRS5ERTg3OiBJbmZhbnQgZGF0ZSBvZiBiaXJ0aCB8IFRoZSBpbmZhbnQncyBkYXRlIG9mIGJpcnRoIChET0IpIGlmIGtub3duCiAqIEhJVi5FLkRFMTEyOiBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgfCBXaGV0aGVyIHRoZSBpbmZhbnQgb3IgY2hpbGQgd2FzIGRldGVybWluZWQgdG8gaGF2ZSBoYWQgSElWIGV4cG9zdXJlCiAqIEhJVi5FLkRFMTc5OiBSZWdpc3RlcmVkIGluIGJpcnRoIGNvaG9ydCB8IFdoZXRoZXIgdGhlIGluZmFudCBoYXMgYmVlbiByZWdpc3RlcmVkIGluIGEgYmlydGggY29ob3J0CiAqIEhJVi5FLkRFMjI1OiBJbmZhbnQgSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuCiAqIEhJVi5FLkRFMjI2OiBISVYtcG9zaXRpdmUgfCBJbmZhbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5FLkRFMjI3OiBISVYtbmVnYXRpdmUgfCBJbmZhbnQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5FLkRFMjI4OiBVbmtub3duIHwgSW5mYW50IGhhcyB1bmtub3duIEhJViBzdGF0dXMKICogSElWLkUuREUyMzA6IEZpbmFsIGRpYWdub3NpcyBvZiBISVYtZXhwb3NlZCBpbmZhbnQgfCBISVYtZXhwb3NlZCBpbmZhbnQgZmluYWwgc3RhdHVzIGF0IDE4IG1vbnRocyBvciAzIG1vbnRocyBhZnRlciBjZXNzYXRpb24gb2YgYnJlYXN0ZmVlZGluZyAod2hpY2hldmVyIGlzIGxhdGVyKS4KICogSElWLkUuREUyMzE6IEhJVi1wb3NpdGl2ZSB8IFRoZSBpbmZhbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5FLkRFMjMyOiBISVYtbmVnYXRpdmUgYW5kIG5vIGxvbmdlciBicmVhc3RmZWVkaW5nIHwgVGhlIGluZmFudCBpcyBISVYtbmVnYXRpdmUgYW5kIHRoZSBtb3RoZXIgaGFzIHF1aXQgYnJlYXN0ZmVlZGluZwogKiBISVYuRS5ERTIzMzogSElWIHN0YXR1cyB1bmtub3duIHwgVGhlIGZpbmFsIEhJViBzdGF0dXMgb2YgdGhlIGNoaWxkIGlzIHVua25vd24gYmVjYXVzZSB0aGUgaW5mYW50IGRpZWQsIHdhcyBsb3N0IHRvIGZvbGxvdy11cCBvciB0cmFuc2ZlcnJlZCBvdXQgd2l0aG91dCBldmVyIGhhdmluZyBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzIG9yIGlzIGFjdGl2ZSBpbiBjYXJlIGJ1dCB3YXMgbm90IHRlc3RlZCBhdCAxOCBtb250aHMKICogSElWLlNSVi5ERTIwOiBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgfCBXaGV0aGVyIHRoZSBpbmZhbnQgb3IgY2hpbGQgd2FzIGRldGVybWluZWQgdG8gaGF2ZSBoYWQgSElWIGV4cG9zdXJlCiAqIEhJVi5TUlYuREUyMjogRmluYWwgZGlhZ25vc2lzIG9mIEhJVi1leHBvc2VkIGluZmFudCB8IEhJVi1leHBvc2VkIGluZmFudCBmaW5hbCBzdGF0dXMgYXQgMTggbW9udGhzIG9yIDMgbW9udGhzIGFmdGVyIGNlc3NhdGlvbiBvZiBicmVhc3RmZWVkaW5nICh3aGljaGV2ZXIgaXMgbGF0ZXIpLgogKgogKiBBZGRpdGlvbmFsIENvbnRleHQKICogLSB3aGF0IGl0IG1lYXN1cmVzOiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyBxdWFsaXR5IG9mIHByb2dyYW1tZSBmb2xsb3ctdXAgdG8gdHJhY2sgZXhwb3NlZCBpbmZhbnRzIGFuZCBhc2NlcnRhaW4gZmluYWwgSElWIHN0YXR1cy4KICogLSByYXRpb25hbGU6IOKAosKgRWZmZWN0aXZlIFBNVENUIHByb2dyYW1tZXMgbXVzdCBmb2xsb3cgSElWLWV4cG9zZWQgaW5mYW50cyB1bnRpbCB0aGUgZW5kIG9mIHRoZSBicmVhc3RmZWVkaW5nIHBlcmlvZCB0byBlbnN1cmUgdGhhdCB0aGUgZnVsbCBjYXNjYWRlIG9mIHNlcnZpY2VzIGFuZCBzdXBwb3J0IGlzIHByb3ZpZGVkIHRvIEhJVi1wb3NpdGl2ZSBtb3RoZXJzIGFuZCB0aGVpciBpbmZhbnRzLiB8IOKAosKgVGhlIGFiaWxpdHkgdG8gYXNjZXJ0YWluIGZpbmFsIG91dGNvbWUgc3RhdHVzIHRocm91Z2ggcm91dGluZSBwcm9ncmFtbWUgZGF0YSBhY3Jvc3MgbXVsdGlwbGUgcG9pbnRzIG9mIGNhcmUgaXMgYSBrZXkgY2hhbGxlbmdlLgogKiAtIG1ldGhvZDogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgcXVhbGl0eSBvZiBwcm9ncmFtbWUgZm9sbG93LXVwIHRvIHRyYWNrIGV4cG9zZWQgaW5mYW50cyBhbmQgYXNjZXJ0YWluIGZpbmFsIEhJViBzdGF0dXMuCiAqIAogKiBTdWdnZXN0ZWQgU2NvcmluZyBNZXRob2Q6IHByb3BvcnRpb24gfCBodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NxZm1lYXN1cmVzL1N0cnVjdHVyZURlZmluaXRpb24vcHJvcG9ydGlvbi1tZWFzdXJlLWNxZm0KICovCgpsaWJyYXJ5IEhJVklORDQyTG9naWMKCi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBISVZDb21tb24gdmVyc2lvbiAnMC4wLjEnIGNhbGxlZCBISUMKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tCgppbmNsdWRlIEhJVkVsZW1lbnRzIGNhbGxlZCBIRQppbmNsdWRlIEhJVkluZGljYXRvckVsZW1lbnRzIGNhbGxlZCBISUUKCgovLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdCgpjb250ZXh0IFBhdGllbnQKLyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogIHRydWUKCi8qKgogKiBOdW1lcmF0b3IKICogCiAqIERlZmluaXRpb246IEhJVi1leHBvc2VkIGluZmFudHMgYm9ybiB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzIChvciAyNCBtb250aHMgaW4gYnJlYXN0ZmVlZGluZyBzZXR0aW5ncykgd2hvIGhhdmUga25vd24gZmluYWwgSElWIG91dGNvbWUgc3RhdHVzCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gIkhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCIgQU5EIFsod2l0aCBhbiAiSW5mYW50IGRhdGUgb2YgYmlydGgiIGluIHBhc3QgMTIgbW9udGhzKSBPUiAod2l0aCBhbiAiSW5mYW50IGRhdGUgb2YgYmlydGgiIGluIHBhc3QgMjQgbW9udGhzIElGIG1vdGhlcnMgYXJlICJCcmVhc3RmZWVkaW5nIildIEFORCAiUmVnaXN0ZXJlZCBpbiBiaXJ0aCBjb2hvcnQiPVRydWUgQU5EIHdpdGggYSAiRmluYWwgZGlhZ25vc2lzIG9mIEhJVi1leHBvc2VkIGluZmFudCIgb2YgTk9UIE5VTEwKICovCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgSElFLiJpcyBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgRS5ERTExMiIKICBhbmQKICAoZXhpc3RzKEhJRS4iTGl2ZSBCaXJ0aCBEZWxpdmVyeSIgQiB3aGVyZSBtb250aHMgYmV0d2VlbiBlbmQgb2YgQi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpIGFuZCBlbmQgb2YgICJNZWFzdXJlbWVudCBQZXJpb2QiIDwgMTIgbW9udGhzKQogIG9yIAogICgKICBleGlzdHMoSElFLiJCcmVhc3RmZWVkaW5nIEIuREUzMiIgQikgYW5kCiAgZXhpc3RzKEhJRS4iTGl2ZSBCaXJ0aCBEZWxpdmVyeSIgQiB3aGVyZSBtb250aHMgYmV0d2VlbiBlbmQgb2YgQi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpIGFuZCBlbmQgb2YgICJNZWFzdXJlbWVudCBQZXJpb2QiIDwgMjQgbW9udGhzKQogICkKICApCiAgYW5kIEhJRS4iUmVnaXN0ZXJlZCBpbiBiaXJ0aCBjb2hvcnQiCiAgYW5kIEhFLiJGaW5hbCBkaWFnbm9zaXMgb2YgSElWLWV4cG9zZWQgaW5mYW50IEUuREUyMzAiIGlzIG5vdCBudWxsCgoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IGEpIFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yIHwgTnVtYmVyIG9mIEhJVi1leHBvc2VkIGluZmFudHMgd2hvIHdlcmUgYm9ybiB3aXRoaW4gdGhlIDEyIG1vbnRocyAob3IgMjQgbW9udGhzIGluIGJyZWFzdGZlZWRpbmcgc2V0dGluZ3MpIHByaW9yIHRvIHRoZSByZXBvcnRpbmcgcGVyaW9kIGFuZCByZWdpc3RlcmVkIGluIHRoZSBiaXJ0aCBjb2hvcnQgfCBGb3IgZXhhbXBsZSwgZm9yIHRoZSByZXBvcnRpbmcgcGVyaW9kIEphbnVhcnkgdG8gRGVjZW1iZXIgMjAyMSB0aGUgZGVub21pbmF0b3Igd291bGQgYmUgdGhlIG51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIGJvcm4gYmV0d2VlbiBKYW51YXJ5IHRvIERlY2VtYmVyIDIwMjAgaW4gbm9uLWJyZWFzdCBmZWVkaW5nIHNldHRpbmdzIGFuZCBKYW51YXJ5IHRvIERlY2VtYmVyIDIwMTkgaW4gYnJlYXN0ZmVlZGluZyBzZXR0aW5ncy4gfCAgfCBiKSBQb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yIHwgRXN0aW1hdGVkIG51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzIHwgKG9yIDI0IG1vbnRocyBpbiBicmVhc3RmZWVkaW5nIHNldHRpbmdzKQogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICJISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQiIEFORCBbKHdpdGggYW4gIkluZmFudCBkYXRlIG9mIGJpcnRoIiB3aXRoaW4gcGFzdCAxMiBtb250aHMpIE9SICh3aXRoIGFuICJJbmZhbnQgZGF0ZSBvZiBiaXJ0aCIgd2l0aGluIHBhc3QgMjQgbW9udGhzIElGIG1vdGhlcnMgYXJlICJCcmVhc3RmZWVkaW5nIildIEFORCAiUmVnaXN0ZXJlZCBpbiBiaXJ0aCBjb2hvcnQiPVRydWUKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICBISUUuImlzIEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCBFLkRFMTEyIgogIGFuZAogIChleGlzdHMoSElFLiJMaXZlIEJpcnRoIERlbGl2ZXJ5IiBCIHdoZXJlIG1vbnRocyBiZXR3ZWVuIGVuZCBvZiBCLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgYW5kIGVuZCBvZiAgIk1lYXN1cmVtZW50IFBlcmlvZCIgPCAxMiBtb250aHMpCiAgb3IgCiAgKAogIGV4aXN0cyhISUUuIkJyZWFzdGZlZWRpbmcgQi5ERTMyIiBCKSBhbmQKICBleGlzdHMoSElFLiJMaXZlIEJpcnRoIERlbGl2ZXJ5IiBCIHdoZXJlIG1vbnRocyBiZXR3ZWVuIGVuZCBvZiBCLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgYW5kIGVuZCBvZiAgIk1lYXN1cmVtZW50IFBlcmlvZCIgPCAyNCBtb250aHMpCiAgKQogICkKICBhbmQgSElFLiJSZWdpc3RlcmVkIGluIGJpcnRoIGNvaG9ydCIKICAgIAoKLyogZW5kIFBvcHVsYXRpb25zICovCgovKiAKICogRGlzYWdncmVnYXRvcnMKICovCiAgCmRlZmluZSAiR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciI6CglISUUuIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCgpkZWZpbmUgIkhJViBTdGF0dXMgU3RyYXRpZmllciBpbmZhbnQiOgogIEhJRS4iSElWIFN0YXR1cyBTdHJhdGlmaWVyIGluZmFudCIKCmRlZmluZSAiU3RyYXRpZmljYXRpb24iOgpISUUuIkhJViBTdGF0dXMgU3RyYXRpZmllciBpbmZhbnQiLmNvZGUKKyAnOicgKyBISUUuIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCgoKCgo="/>
  </content>
</Library>