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.44 Logic - XML Representation

Draft as of 2025-02-02

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="HIVIND44Logic"/>
  <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.44 Logic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">HIVIND44Logic</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-HIVIND44Logic.html">HIV.IND.44 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-02 03:11:41+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>Number and % of eligible people living with HIV on ART who initiated TB preventive treatment</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.44 Logic
 * Ref No: TBH.1
 * Short Name: TPT initiation
 *
 * Definition: Number and % of eligible people living with HIV on ART who initiated TB preventive treatment
 *
 * Numerator: Number of ART patients who initiated TPT during the reporting period
 * Numerator Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND &quot;On ART&quot;=True AND &quot;TB preventive treatment (TPT) start date&quot; in the reporting period
 * Numerator Exclusions: 
 *
 * Denominator: Number of ART patients who are eligible for TPT during the reporting period
 * Denominator Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND &quot;On ART&quot;=True at end of last reporting period AND &quot;Eligible for TB preventive treatment&quot;=True
 * Denominator Exclusions: 
 *
 * Disaggregations:
 *  • Gender (female, male, other*) 
 *  • Age (0–4, 5–9, 10–14, 15–19, 20–24, 25–29, 30–34, 35–39, 40–44, 45–49, 50+ years)** 
 *  • Type of TPT regimen 
 *  • Cities and other administrative regions of epidemiologic importance
 *
 * Disaggregation Elements: Gender | Age | TPT regimen type
 *
 * Numerator and Denominator Elements:
 * Eligible for TB preventive treatment 
 *  HIV status 
 *  On ART 
 *  TB preventive treatment (TPT) start date
 *
 * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022
 * 
 * Data Concepts:
 * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth
 * HIV.A.DE18: Gender* | Gender of the client*
 * HIV.A.DE19: Female | Client identifies as female
 * HIV.A.DE20: Male | Client identifies as male
 * HIV.A.DE21: Transgender male | Client identifies as transgender male
 * HIV.A.DE22: Transgender female | Client identifies as transgender female
 * HIV.A.DE23: Other | Additional category
 * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.
 * HIV.B.DE116: HIV-positive | Client is HIV-positive
 * HIV.B.DE117: HIV-negative | Client is HIV-negative
 * HIV.B.DE118: Unknown | Client has unknown HIV status
 * HIV.D.DE38: On ART | Client is currently taking ART
 * HIV.D.DE954: TB preventive treatment (TPT) start date | The date on which the client began taking TPT
 * HIV.D.DE1017: Eligible for TB preventive treatment | Client is eligible for tuberculosis preventive treatment (TPT)
 * HIV.D.DE1028: TPT regimen type | Type of TPT regimen the client is currently on
 * HIV.D.DE1029: 3HP | The client's current TPT regimen is 3HP
 * HIV.D.DE1030: 1HP | The client's current TPT regimen is 1HP
 * HIV.D.DE1031: 6H | The client's current TPT regimen is 6H
 * HIV.D.DE1032: Six months of levofloxacin daily | The client's current TPT regimen is six months of levofloxacin daily
 * HIV.D.DE1033: Other TB preventive treatment (TPT) regimen | The client's current TPT regimen is another regimen than those listed above
 * HIV.H.DE47: On ART | Client is currently taking ART 
 *
 * Additional Context
 * - what it measures: This indicator measures the extent to which people on ART initiated treatment for latent TB infection.
 * - rationale: • TB preventive treatment (TPT) is a critical component of preventing TB-related morbidity and mortality among people living with HIV. | • In the wake of recent high-level global commitments and targets, this is a critical period to track the progress that countries have made in scaling up TPT coverage.
 * - method: For the numerator: Programme records (for example, ART registers) | For the denominator: Formula for determining the number of ART patients who are eligible for TPT during the reporting period | Number of people living with HIV on ART at end of last reporting period | minus | Number of notified HIV-positive TB patients in last reporting period | also minus, where possible | Number of people living with HIV who previously received TPT – actual, if available, or based on country estimate | also minus, where possible number/estimate of people living with HIV not eligible for TPT due to co-morbidities, including active hepatitis, chronic alcoholism and/or neuropathy
 * 
 * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm
 */

library HIVIND44Logic

// Included Libraries
using FHIR version '4.0.1'

include HIVCommon 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: Number of ART patients who initiated TPT during the reporting period
 * Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND &quot;On ART&quot;=True AND &quot;TB preventive treatment (TPT) start date&quot; in the reporting period
 */

define &quot;Numerator&quot;:
 HIE.&quot;Has HIV-positive Status&quot; and HIE.&quot;On ART&quot; and exists(HIE.&quot;TB preventive treatment TPT start date in measurement period&quot;)

/**
 * Denominator
 *
 * Definition: Number of ART patients who are eligible for TPT during the reporting period
 * Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND &quot;On ART&quot;=True at end of last reporting period AND &quot;Eligible for TB preventive treatment&quot;=True
 */

define &quot;Denominator&quot;:
 HIE.&quot;Has HIV-positive Status&quot; and HIE.&quot;On ART&quot; and HIE.&quot;Eligible for TB preventive treatment&quot;
    

/* end Populations */

/*
 * Disaggregations:
 *  • Gender (female, male, other*) 
 *  • Age (0–4, 5–9, 10–14, 15–19, 20–24, 25–29, 30–34, 35–39, 40–44, 45–49, 50+ years)** 
 *  • Type of TPT regimen 
 *  • Cities and other administrative regions of epidemiologic importance
 */

define &quot;Administrative Gender Stratifier&quot;:
	HIE.&quot;By Administrative Gender Stratifier&quot;

define &quot;Age Stratifier&quot;:
  HIE.&quot;By Age Stratifier&quot;

define &quot;TPT Regimen Type Stratifier&quot;:
  HIE.&quot;TPT regimen type&quot;

define &quot;Geographic Region Stratifier&quot;:
  HIE.&quot;By Geographic Region Stratifier&quot;

/*
 * Combined stratifiers
 */
define &quot;Stratification&quot;:
  HIE.&quot;By Administrative Gender Stratifier&quot;.code 
    + ':' + HIE.&quot;By Age Stratifier&quot;
    + ':' + Combine(HIE.&quot;TPT regimen type&quot;.coding.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/HIVIND44Logic"/>
  <version value="0.4.3"/>
  <name value="HIVIND44Logic"/>
  <title value="HIV.IND.44 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-02T03:11:41+00:00"/>
  <publisher value="WHO"/>
  <contact>
    <name value="WHO"/>
    <telecom>
      <system value="url"/>
      <value value="http://who.int"/>
    </telecom>
  </contact>
  <description
               value="Number and % of eligible people living with HIV on ART who initiated TB preventive treatment"/>
  <content>
    <contentType value="text/cql"/>
    <data
          value="LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNDQgTG9naWMKICogUmVmIE5vOiBUQkguMQogKiBTaG9ydCBOYW1lOiBUUFQgaW5pdGlhdGlvbgogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgYW5kICUgb2YgZWxpZ2libGUgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBvbiBBUlQgd2hvIGluaXRpYXRlZCBUQiBwcmV2ZW50aXZlIHRyZWF0bWVudAogKgogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBBUlQgcGF0aWVudHMgd2hvIGluaXRpYXRlZCBUUFQgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIk9uIEFSVCI9VHJ1ZSBBTkQgIlRCIHByZXZlbnRpdmUgdHJlYXRtZW50IChUUFQpIHN0YXJ0IGRhdGUiIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiBBUlQgcGF0aWVudHMgd2hvIGFyZSBlbGlnaWJsZSBmb3IgVFBUIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIk9uIEFSVCI9VHJ1ZSBhdCBlbmQgb2YgbGFzdCByZXBvcnRpbmcgcGVyaW9kIEFORCAiRWxpZ2libGUgZm9yIFRCIHByZXZlbnRpdmUgdHJlYXRtZW50Ij1UcnVlCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqICDigKLCoEdlbmRlciAoZmVtYWxlLCBtYWxlLCBvdGhlciopIAogKiAg4oCiwqBBZ2UgKDDigJM0LCA14oCTOSwgMTDigJMxNCwgMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJMzNCwgMzXigJMzOSwgNDDigJM0NCwgNDXigJM0OSwgNTArIHllYXJzKSoqIAogKiAg4oCiwqBUeXBlIG9mIFRQVCByZWdpbWVuIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBHZW5kZXIgfCBBZ2UgfCBUUFQgcmVnaW1lbiB0eXBlCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIEVsaWdpYmxlIGZvciBUQiBwcmV2ZW50aXZlIHRyZWF0bWVudCAKICogIEhJViBzdGF0dXMgCiAqICBPbiBBUlQgCiAqICBUQiBwcmV2ZW50aXZlIHRyZWF0bWVudCAoVFBUKSBzdGFydCBkYXRlCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkEuREUxODogR2VuZGVyKiB8IEdlbmRlciBvZiB0aGUgY2xpZW50KgogKiBISVYuQS5ERTE5OiBGZW1hbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyBmZW1hbGUKICogSElWLkEuREUyMDogTWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIG1hbGUKICogSElWLkEuREUyMTogVHJhbnNnZW5kZXIgbWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIHRyYW5zZ2VuZGVyIG1hbGUKICogSElWLkEuREUyMjogVHJhbnNnZW5kZXIgZmVtYWxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgdHJhbnNnZW5kZXIgZmVtYWxlCiAqIEhJVi5BLkRFMjM6IE90aGVyIHwgQWRkaXRpb25hbCBjYXRlZ29yeQogKiBISVYuQi5ERTExNTogSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5hdGlvbmFsIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuCiAqIEhJVi5CLkRFMTE2OiBISVYtcG9zaXRpdmUgfCBDbGllbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5CLkRFMTE3OiBISVYtbmVnYXRpdmUgfCBDbGllbnQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE4OiBVbmtub3duIHwgQ2xpZW50IGhhcyB1bmtub3duIEhJViBzdGF0dXMKICogSElWLkQuREUzODogT24gQVJUIHwgQ2xpZW50IGlzIGN1cnJlbnRseSB0YWtpbmcgQVJUCiAqIEhJVi5ELkRFOTU0OiBUQiBwcmV2ZW50aXZlIHRyZWF0bWVudCAoVFBUKSBzdGFydCBkYXRlIHwgVGhlIGRhdGUgb24gd2hpY2ggdGhlIGNsaWVudCBiZWdhbiB0YWtpbmcgVFBUCiAqIEhJVi5ELkRFMTAxNzogRWxpZ2libGUgZm9yIFRCIHByZXZlbnRpdmUgdHJlYXRtZW50IHwgQ2xpZW50IGlzIGVsaWdpYmxlIGZvciB0dWJlcmN1bG9zaXMgcHJldmVudGl2ZSB0cmVhdG1lbnQgKFRQVCkKICogSElWLkQuREUxMDI4OiBUUFQgcmVnaW1lbiB0eXBlIHwgVHlwZSBvZiBUUFQgcmVnaW1lbiB0aGUgY2xpZW50IGlzIGN1cnJlbnRseSBvbgogKiBISVYuRC5ERTEwMjk6IDNIUCB8IFRoZSBjbGllbnQncyBjdXJyZW50IFRQVCByZWdpbWVuIGlzIDNIUAogKiBISVYuRC5ERTEwMzA6IDFIUCB8IFRoZSBjbGllbnQncyBjdXJyZW50IFRQVCByZWdpbWVuIGlzIDFIUAogKiBISVYuRC5ERTEwMzE6IDZIIHwgVGhlIGNsaWVudCdzIGN1cnJlbnQgVFBUIHJlZ2ltZW4gaXMgNkgKICogSElWLkQuREUxMDMyOiBTaXggbW9udGhzIG9mIGxldm9mbG94YWNpbiBkYWlseSB8IFRoZSBjbGllbnQncyBjdXJyZW50IFRQVCByZWdpbWVuIGlzIHNpeCBtb250aHMgb2YgbGV2b2Zsb3hhY2luIGRhaWx5CiAqIEhJVi5ELkRFMTAzMzogT3RoZXIgVEIgcHJldmVudGl2ZSB0cmVhdG1lbnQgKFRQVCkgcmVnaW1lbiB8IFRoZSBjbGllbnQncyBjdXJyZW50IFRQVCByZWdpbWVuIGlzIGFub3RoZXIgcmVnaW1lbiB0aGFuIHRob3NlIGxpc3RlZCBhYm92ZQogKiBISVYuSC5ERTQ3OiBPbiBBUlQgfCBDbGllbnQgaXMgY3VycmVudGx5IHRha2luZyBBUlQgCiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IFRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRoZSBleHRlbnQgdG8gd2hpY2ggcGVvcGxlIG9uIEFSVCBpbml0aWF0ZWQgdHJlYXRtZW50IGZvciBsYXRlbnQgVEIgaW5mZWN0aW9uLgogKiAtIHJhdGlvbmFsZTog4oCiIFRCIHByZXZlbnRpdmUgdHJlYXRtZW50IChUUFQpIGlzIGEgY3JpdGljYWwgY29tcG9uZW50IG9mIHByZXZlbnRpbmcgVEItcmVsYXRlZCBtb3JiaWRpdHkgYW5kIG1vcnRhbGl0eSBhbW9uZyBwZW9wbGUgbGl2aW5nIHdpdGggSElWLiB8IOKAosKgSW4gdGhlIHdha2Ugb2YgcmVjZW50IGhpZ2gtbGV2ZWwgZ2xvYmFsIGNvbW1pdG1lbnRzIGFuZCB0YXJnZXRzLCB0aGlzIGlzIGEgY3JpdGljYWwgcGVyaW9kIHRvIHRyYWNrIHRoZSBwcm9ncmVzcyB0aGF0IGNvdW50cmllcyBoYXZlIG1hZGUgaW4gc2NhbGluZyB1cCBUUFQgY292ZXJhZ2UuCiAqIC0gbWV0aG9kOiBGb3IgdGhlIG51bWVyYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMgKGZvciBleGFtcGxlLCBBUlQgcmVnaXN0ZXJzKSB8IEZvciB0aGUgZGVub21pbmF0b3I6IEZvcm11bGEgZm9yIGRldGVybWluaW5nIHRoZSBudW1iZXIgb2YgQVJUIHBhdGllbnRzIHdobyBhcmUgZWxpZ2libGUgZm9yIFRQVCBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2QgfCBOdW1iZXIgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBvbiBBUlQgYXQgZW5kIG9mIGxhc3QgcmVwb3J0aW5nIHBlcmlvZCB8IG1pbnVzIHwgTnVtYmVyIG9mIG5vdGlmaWVkIEhJVi1wb3NpdGl2ZSBUQiBwYXRpZW50cyBpbiBsYXN0IHJlcG9ydGluZyBwZXJpb2QgfCBhbHNvIG1pbnVzLCB3aGVyZSBwb3NzaWJsZSB8IE51bWJlciBvZiBwZW9wbGUgbGl2aW5nIHdpdGggSElWIHdobyBwcmV2aW91c2x5IHJlY2VpdmVkIFRQVCDigJMgYWN0dWFsLCBpZiBhdmFpbGFibGUsIG9yIGJhc2VkIG9uIGNvdW50cnkgZXN0aW1hdGUgfCBhbHNvIG1pbnVzLCB3aGVyZSBwb3NzaWJsZSBudW1iZXIvZXN0aW1hdGUgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBub3QgZWxpZ2libGUgZm9yIFRQVCBkdWUgdG8gY28tbW9yYmlkaXRpZXMsIGluY2x1ZGluZyBhY3RpdmUgaGVwYXRpdGlzLCBjaHJvbmljIGFsY29ob2xpc20gYW5kL29yIG5ldXJvcGF0aHkKICogCiAqIFN1Z2dlc3RlZCBTY29yaW5nIE1ldGhvZDogcHJvcG9ydGlvbiB8IGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FmbWVhc3VyZXMvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9wb3J0aW9uLW1lYXN1cmUtY3FmbQogKi8KCmxpYnJhcnkgSElWSU5ENDRMb2dpYwoKLy8gSW5jbHVkZWQgTGlicmFyaWVzCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEhJVkNvbW1vbiBjYWxsZWQgSElDCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQoKaW5jbHVkZSBISVZFbGVtZW50cyBjYWxsZWQgSEUKaW5jbHVkZSBISVZJbmRpY2F0b3JFbGVtZW50cyBjYWxsZWQgSElFCgovLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdCgpjb250ZXh0IFBhdGllbnQKLyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogIHRydWUKCi8qKgogKiBOdW1lcmF0b3IKICogCiAqIERlZmluaXRpb246IE51bWJlciBvZiBBUlQgcGF0aWVudHMgd2hvIGluaXRpYXRlZCBUUFQgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBjbGllbnRzIHdpdGggIkhJViBzdGF0dXMiPSdISVYtcG9zaXRpdmUnIEFORCAiT24gQVJUIj1UcnVlIEFORCAiVEIgcHJldmVudGl2ZSB0cmVhdG1lbnQgKFRQVCkgc3RhcnQgZGF0ZSIgaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QKICovCgpkZWZpbmUgIk51bWVyYXRvciI6CiBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiBhbmQgSElFLiJPbiBBUlQiIGFuZCBleGlzdHMoSElFLiJUQiBwcmV2ZW50aXZlIHRyZWF0bWVudCBUUFQgc3RhcnQgZGF0ZSBpbiBtZWFzdXJlbWVudCBwZXJpb2QiKQoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IE51bWJlciBvZiBBUlQgcGF0aWVudHMgd2hvIGFyZSBlbGlnaWJsZSBmb3IgVFBUIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIk9uIEFSVCI9VHJ1ZSBhdCBlbmQgb2YgbGFzdCByZXBvcnRpbmcgcGVyaW9kIEFORCAiRWxpZ2libGUgZm9yIFRCIHByZXZlbnRpdmUgdHJlYXRtZW50Ij1UcnVlCiAqLwoKZGVmaW5lICJEZW5vbWluYXRvciI6CiBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiBhbmQgSElFLiJPbiBBUlQiIGFuZCBISUUuIkVsaWdpYmxlIGZvciBUQiBwcmV2ZW50aXZlIHRyZWF0bWVudCIKICAgIAoKLyogZW5kIFBvcHVsYXRpb25zICovCgovKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqICDigKLCoEdlbmRlciAoZmVtYWxlLCBtYWxlLCBvdGhlciopIAogKiAg4oCiwqBBZ2UgKDDigJM0LCA14oCTOSwgMTDigJMxNCwgMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJMzNCwgMzXigJMzOSwgNDDigJM0NCwgNDXigJM0OSwgNTArIHllYXJzKSoqIAogKiAg4oCiwqBUeXBlIG9mIFRQVCByZWdpbWVuIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqLwoKZGVmaW5lICJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciI6CglISUUuIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIgoKZGVmaW5lICJBZ2UgU3RyYXRpZmllciI6CiAgSElFLiJCeSBBZ2UgU3RyYXRpZmllciIKCmRlZmluZSAiVFBUIFJlZ2ltZW4gVHlwZSBTdHJhdGlmaWVyIjoKICBISUUuIlRQVCByZWdpbWVuIHR5cGUiCgpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiOgogIEhJRS4iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIKCi8qCiAqIENvbWJpbmVkIHN0cmF0aWZpZXJzCiAqLwpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIjoKICBISUUuIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIi5jb2RlIAogICAgKyAnOicgKyBISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIgogICAgKyAnOicgKyBDb21iaW5lKEhJRS4iVFBUIHJlZ2ltZW4gdHlwZSIuY29kaW5nLmNvZGUpCgkgICsgJzonICsgSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgo="/>
  </content>
</Library>