{ "description": "% of HIV-exposed infants who initiated ARV prophylaxis", "_filename": "Library-HIVIND39Logic.json", "package_name": "smart.who.int.hiv", "date": "2025-07-08T23:21:58+02:00", "meta": { "profile": [ "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary", "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library", "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module" ] }, "publisher": "WHO", "content": [ { "data": "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuMzkgTG9naWMKICogUmVmIE5vOiBWRVIuMwogKiBTaG9ydCBOYW1lOiBJbmZhbnQgQVJWIHByb3BoeWxheGlzIGNvdmVyYWdlCiAqCiAqIERlZmluaXRpb246ICUgb2YgSElWLWV4cG9zZWQgaW5mYW50cyB3aG8gaW5pdGlhdGVkIEFSViBwcm9waHlsYXhpcwogKgogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIGJvcm4gd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aG8gd2VyZSBzdGFydGVkIG9uIEFSViBwcm9waHlsYXhpcyBhdCBiaXJ0aAogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgIkluZmFudCBkYXRlIG9mIGJpcnRoIiB3aXRoaW4gcmVwb3J0aW5nIHBlcmlvZCBBTkQgIkluZmFudCBBUlQgc3RhcnQgZGF0ZSIgaXMgb24iSW5mYW50IGRhdGUgb2YgYmlydGgiCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IGEpIFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgaW4gYSBmYWNpbGl0eSB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLiB8ICB8IEIpIFBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLgogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogUHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3I6IHwgQ09VTlQgb2Ygd29tZW4gd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJQbGFjZSBvZiBkZWxpdmVyeSIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgIkRlbGl2ZXJ5IGRhdGUiIHdpdGhpbiByZXBvcnRpbmcgcGVyaW9kIHwgIHwgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogfCAqRXN0aW1hdGVkIG51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCBkdXJpbmcgdGhlIHBhc3QgMTIgbW9udGhzCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAosKgQVJWIGRydWcgcmVnaW1lbiAKICogIOKAosKgQ2l0aWVzIGFuZCBvdGhlciBhZG1pbmlzdHJhdGl2ZSByZWdpb25zIG9mIGVwaWRlbWlvbG9naWMgaW1wb3J0YW5jZQogKgogKiBEaXNhZ2dyZWdhdGlvbiBFbGVtZW50czogQ3VycmVudCBBUlQgcmVnaW1lbgogKgogKiBOdW1lcmF0b3IgYW5kIERlbm9taW5hdG9yIEVsZW1lbnRzOgogKiBEZWxpdmVyeSBkYXRlIAogKiAgSElWIHN0YXR1cyAKICogIEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCAKICogIEluZmFudCBBUlQgc3RhcnQgZGF0ZSAKICogIEluZmFudCBkYXRlIG9mIGJpcnRoIAogKiAgUGxhY2Ugb2YgZGVsaXZlcnkKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5CLkRFMTE1OiBISVYgc3RhdHVzIHwgSElWIHN0YXR1cyByZXBvcnRlZCBhZnRlciBhcHBseWluZyB0aGUgbmF0aW9uYWwgSElWIHRlc3RpbmcgYWxnb3JpdGhtLiBObyBzaW5nbGUgSElWIHRlc3QgY2FuIHByb3ZpZGUgYW4gSElWLXBvc2l0aXZlIGRpYWdub3Npcy4KICogSElWLkIuREUxMTY6IEhJVi1wb3NpdGl2ZSB8IENsaWVudCBpcyBISVYtcG9zaXRpdmUKICogSElWLkIuREUxMTc6IEhJVi1uZWdhdGl2ZSB8IENsaWVudCBpcyBISVYtbmVnYXRpdmUKICogSElWLkIuREUxMTg6IFVua25vd24gfCBDbGllbnQgaGFzIHVua25vd24gSElWIHN0YXR1cwogKiBISVYuRC5ERTc1OiBDdXJyZW50IEFSVCByZWdpbWVuIHwgVGhlIGN1cnJlbnQgQVJUIHJlZ2ltZW4gdGhlIGNsaWVudCBpcyB0YWtpbmcKICogSElWLkUuREU0NjogRGVsaXZlcnkgZGF0ZSB8IERhdGUgb24gd2hpY2ggdGhlIHdvbWFuIGRlbGl2ZXJlZAogKiBISVYuRS5ERTY3OiBQbGFjZSBvZiBkZWxpdmVyeSB8IFRoZSB0eXBlIG9mIHBsYWNlIHdoZXJlIHRoZSB3b21hbiBkZWxpdmVyZWQKICogSElWLkUuREU2ODogSGVhbHRoIGZhY2lsaXR5IHwgVGhlIHdvbWFuIGRlbGl2ZXJlZCBhdCBhIGhlYWx0aCBmYWNpbGl0eQogKiBISVYuRS5ERTY5OiBIb21lIHwgVGhlIHdvbWFuIGRlbGl2ZXJlZCBhdCBob21lCiAqIEhJVi5FLkRFNzA6IE90aGVyIHwgVGhlIHdvbWFuIGRlbGl2ZXJlZCBhdCBhbm90aGVyIGxvY2F0aW9uIHRoYXQgaXMgbm90IGF0IGhvbWUgb3IgYXQgYSBoZWFsdGggZmFjaWxpdHkKICogSElWLkUuREU4NzogSW5mYW50IGRhdGUgb2YgYmlydGggfCBUaGUgaW5mYW50J3MgZGF0ZSBvZiBiaXJ0aCAoRE9CKSBpZiBrbm93bgogKiBISVYuRS5ERTExMjogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZQogKiBISVYuRS5ERTIyOTogSW5mYW50IEFSVCBzdGFydCBkYXRlIHwgVGhlIGRhdGUgb24gd2hpY2ggdGhlIGluZmFudCB3YXMgc3RhcnRlZCBvciByZXN0YXJ0ZWQgb24gYW50aXJldHJvdmlyYWwgdGhlcmFweSAoQVJUKQogKiBISVYuU1JWLkRFMjA6IEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCB8IFdoZXRoZXIgdGhlIGluZmFudCBvciBjaGlsZCB3YXMgZGV0ZXJtaW5lZCB0byBoYXZlIGhhZCBISVYgZXhwb3N1cmUKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIGRlbGl2ZXJ5IG9mIHByZXZlbnRpb24gc2VydmljZXMgdG8gSElWLWV4cG9zZWQgaW5mYW50cyBpbW1lZGlhdGVseSBhZnRlciBiaXJ0aC4KICogLSByYXRpb25hbGU6IOKAoiBBUlYgcHJvcGh5bGF4aXMgZm9yIEhJVi1leHBvc2VkIGluZmFudHMgaXMgY3JpdGljYWwgZm9yIHJlZHVjaW5nIHRoZSByaXNrIG9mIG1vdGhlci10by1jaGlsZCB0cmFuc21pc3Npb24gaW4gdGhlIGltbWVkaWF0ZSBwb3N0cGFydHVtIHBlcmlvZCDigJMgcGFydCBvZiBQcm9uZyAzIG9mIHRoZSBQTVRDVCBzdHJhdGVneS4gfCDigKIgSW4gcGFydGljdWxhciwgY292ZXJhZ2Ugb2YgSElWLWV4cG9zZWQgaW5mYW50cyB3aG8gYXJlIGJvcm4gaW4gZmFjaWxpdGllcyBzaG91bGQgYmUgdmVyeSBoaWdoLiB8IOKAosKgV2hlbiB1c2luZyB0aGUgcHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3IsIHRoZSBpbmRpY2F0b3IgbWVhc3VyZXMgY292ZXJhZ2UgYW1vbmcgb25seSBISVYtZXhwb3NlZCBpbmZhbnRzIHdobyBhcmUgYm9ybiBpbiBmYWNpbGl0aWVzLCB3aGljaCBpcyBhIGRpcmVjdCBtZWFzdXJlIG9mIGEgcHJvZ3JhbW1lJ3MgYWJpbGl0eSB0byBtZWV0IHN0YW5kYXJkcyBvZiBjYXJlLgogKiAtIG1ldGhvZDogRm9yIHRoZSBudW1lcmF0b3I6IFByb2dyYW1tZSByZWNvcmRzIChmb3IgZXhhbXBsZSwgUE1UQ1QgcmVnaXN0ZXJzKSB8IGEpIEZvciB0aGUgcHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3I6IFByb2dyYW1tZSByZWNvcmRzLCBsYWJvdXIgYW5kIGRlbGl2ZXJ5IHJlZ2lzdGVycyB8IGIpIEZvciB0aGUgcG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogTW9kZWxsaW5nLWJhc2VkIGVzdGltYXRlcyAoZm9yIGV4YW1wbGUsIFNwZWN0cnVtIEFJTSkuIHwgIHwgTm90ZTogVGhlIHBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3IgaXMgYSBwcm94eSBtZWFzdXJlIGZvciB0aGUgbnVtYmVyIG9mIGluZmFudHMgYm9ybiB0byBISVYtaW5mZWN0ZWQgd29tZW4uIHwgIHwgVGhlIHJlY29tbWVuZGVkIHJlcG9ydGluZyBwZXJpb2QgaXMgMTIgbW9udGhzLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqIAogKiBQcm9maWxlczoKICogLSBIaXZJbmZhbnQKICogLSBIaXZNb3RoZXIKICogLSBIaXZDaGlsZERlbGl2ZXJ5CiAqIC0gSGl2QW50aVJldHJvdmlyYWxUcmVhdG1lbnQKICogLSBIaXZTdGF0dXMKICogLSBIaXZPbkFydAogKiAKICovCgpsaWJyYXJ5IEhJVklORDM5TG9naWMKCi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBISVZDb21tb24gdmVyc2lvbiAnMC4wLjEnIGNhbGxlZCBISUMKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tCgppbmNsdWRlIEhJVkVsZW1lbnRzIGNhbGxlZCBIRQppbmNsdWRlIEhJVkluZGljYXRvckVsZW1lbnRzIGNhbGxlZCBISUUKCi8vIEluZGljYXRvciBEZWZpbml0aW9uCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlPiBkZWZhdWx0IEludGVydmFsW0AyMDIzLTAxLTAxLCBAMjAyMy0wMS0zMF0KCmNvbnRleHQgUGF0aWVudAovKiBQb3B1bGF0aW9ucyAqLwoKLyoKICpJbml0aWFsIFBvcHVsYXRpb24KICovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgdHJ1ZQoKLyoqCiAqIE51bWVyYXRvcgogKiAKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEhJVi1leHBvc2VkIGluZmFudHMgYm9ybiB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzIHdobyB3ZXJlIHN0YXJ0ZWQgb24gQVJWIHByb3BoeWxheGlzIGF0IGJpcnRoCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gIkhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCIgQU5EICJJbmZhbnQgZGF0ZSBvZiBiaXJ0aCIgd2l0aGluIHJlcG9ydGluZyBwZXJpb2QgQU5EICJJbmZhbnQgQVJUIHN0YXJ0IGRhdGUiIGlzIG9uIkluZmFudCBkYXRlIG9mIGJpcnRoIgogKi8KCmRlZmluZSAiTnVtZXJhdG9yIjoKICBISUUuImlzIEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCBFLkRFMTEyIiBhbmQgCiAgICBleGlzdHMoSEUuIkFSVCBzdGFydCBkYXRlIiBkIHdoZXJlIGRhdGUgZnJvbSBkIHNhbWUgZGF5IGFzIFBhdGllbnQuYmlydGhEYXRlKQoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IGEpIFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgaW4gYSBmYWNpbGl0eSB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLiB8ICB8IEIpIFBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLgogKiBDYWxjdWxhdGlvbjogUHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3I6IHwgQ09VTlQgb2Ygd29tZW4gd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJQbGFjZSBvZiBkZWxpdmVyeSIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgIkRlbGl2ZXJ5IGRhdGUiIHdpdGhpbiByZXBvcnRpbmcgcGVyaW9kIHwgIHwgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogfCAqRXN0aW1hdGVkIG51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCBkdXJpbmcgdGhlIHBhc3QgMTIgbW9udGhzCiAqLwoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgSElFLiJIYXMgSElWLXBvc2l0aXZlIFN0YXR1cyIgYW5kCiAgICBISUUuIkhhcyBEZWxpdmVyeSBpbiBIZWFsdGggRmFjaWxpdHkiCi8qIGVuZCBQb3B1bGF0aW9ucyAqLwoKLyoKICogRGlzYWdncmVnYXRvcnMKICovCgpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiOgoJSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgoKZGVmaW5lICJDdXJyZW50IEFSVCByZWdpbWVuIjoKICBISUUuIkN1cnJlbnQgQVJUIHJlZ2ltZW4iCgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIjoKSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgorIEhJRS4iQ3VycmVudCBBUlQgcmVnaW1lbiIuY29kZSAK", "contentType": "text/cql" }, { "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiIGxvY2FsSWQ9IjAiPg0KICAgPGFubm90YXRpb24gdHJhbnNsYXRvck9wdGlvbnM9IkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iIHNpZ25hdHVyZUxldmVsPSJPdmVybG9hZHMiIHhzaTp0eXBlPSJhOkNxbFRvRWxtSW5mbyIvPg0KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIFtyZWZlcmVuY2VdIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciBbcmVmZXJlbmNlXSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICA8YTpzIHI9IjI2NyI+DQogICAgICAgICA8YTpzPi8qKgogKiBMaWJyYXJ5OiBISVYuSU5ELjM5IExvZ2ljCiAqIFJlZiBObzogVkVSLjMKICogU2hvcnQgTmFtZTogSW5mYW50IEFSViBwcm9waHlsYXhpcyBjb3ZlcmFnZQogKgogKiBEZWZpbml0aW9uOiAlIG9mIEhJVi1leHBvc2VkIGluZmFudHMgd2hvIGluaXRpYXRlZCBBUlYgcHJvcGh5bGF4aXMKICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgaW5mYW50cyBib3JuIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2hvIHdlcmUgc3RhcnRlZCBvbiBBUlYgcHJvcGh5bGF4aXMgYXQgYmlydGgKICogTnVtZXJhdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gJnF1b3Q7SElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkJnF1b3Q7IEFORCAmcXVvdDtJbmZhbnQgZGF0ZSBvZiBiaXJ0aCZxdW90OyB3aXRoaW4gcmVwb3J0aW5nIHBlcmlvZCBBTkQgJnF1b3Q7SW5mYW50IEFSVCBzdGFydCBkYXRlJnF1b3Q7IGlzIG9uJnF1b3Q7SW5mYW50IGRhdGUgb2YgYmlydGgmcXVvdDsKICogTnVtZXJhdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEZW5vbWluYXRvcjogYSkgUHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCBpbiBhIGZhY2lsaXR5IHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMuIHwgIHwgQikgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogTnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMuCiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogfCBDT1VOVCBvZiB3b21lbiB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O1BsYWNlIG9mIGRlbGl2ZXJ5JnF1b3Q7IGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgd2l0aGluIHJlcG9ydGluZyBwZXJpb2QgfCAgfCBQb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yOiB8ICpFc3RpbWF0ZWQgbnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIGR1cmluZyB0aGUgcGFzdCAxMiBtb250aHMKICogRGVub21pbmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERpc2FnZ3JlZ2F0aW9uczoKICog4oCiwqBBUlYgZHJ1ZyByZWdpbWVuIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBDdXJyZW50IEFSVCByZWdpbWVuCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIERlbGl2ZXJ5IGRhdGUgCiAqICBISVYgc3RhdHVzIAogKiAgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIAogKiAgSW5mYW50IEFSVCBzdGFydCBkYXRlIAogKiAgSW5mYW50IGRhdGUgb2YgYmlydGggCiAqICBQbGFjZSBvZiBkZWxpdmVyeQogKgogKiBSZWZlcmVuY2U6IENvbnNvbGlkYXRlZCBndWlkZWxpbmVzIG9uIHBlcnNvbi1jZW50cmVkIEhJViBzdHJhdGVnaWMgaW5mb3JtYXRpb246IHN0cmVuZ3RoZW5pbmcgcm91dGluZSBkYXRhIGZvciBpbXBhY3QuIEdlbmV2YTogV29ybGQgSGVhbHRoIE9yZ2FuaXphdGlvbjsgMjAyMgogKiAKICogRGF0YSBDb25jZXB0czoKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5ELkRFNzU6IEN1cnJlbnQgQVJUIHJlZ2ltZW4gfCBUaGUgY3VycmVudCBBUlQgcmVnaW1lbiB0aGUgY2xpZW50IGlzIHRha2luZwogKiBISVYuRS5ERTQ2OiBEZWxpdmVyeSBkYXRlIHwgRGF0ZSBvbiB3aGljaCB0aGUgd29tYW4gZGVsaXZlcmVkCiAqIEhJVi5FLkRFNjc6IFBsYWNlIG9mIGRlbGl2ZXJ5IHwgVGhlIHR5cGUgb2YgcGxhY2Ugd2hlcmUgdGhlIHdvbWFuIGRlbGl2ZXJlZAogKiBISVYuRS5ERTY4OiBIZWFsdGggZmFjaWxpdHkgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGEgaGVhbHRoIGZhY2lsaXR5CiAqIEhJVi5FLkRFNjk6IEhvbWUgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGhvbWUKICogSElWLkUuREU3MDogT3RoZXIgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGFub3RoZXIgbG9jYXRpb24gdGhhdCBpcyBub3QgYXQgaG9tZSBvciBhdCBhIGhlYWx0aCBmYWNpbGl0eQogKiBISVYuRS5ERTg3OiBJbmZhbnQgZGF0ZSBvZiBiaXJ0aCB8IFRoZSBpbmZhbnQncyBkYXRlIG9mIGJpcnRoIChET0IpIGlmIGtub3duCiAqIEhJVi5FLkRFMTEyOiBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgfCBXaGV0aGVyIHRoZSBpbmZhbnQgb3IgY2hpbGQgd2FzIGRldGVybWluZWQgdG8gaGF2ZSBoYWQgSElWIGV4cG9zdXJlCiAqIEhJVi5FLkRFMjI5OiBJbmZhbnQgQVJUIHN0YXJ0IGRhdGUgfCBUaGUgZGF0ZSBvbiB3aGljaCB0aGUgaW5mYW50IHdhcyBzdGFydGVkIG9yIHJlc3RhcnRlZCBvbiBhbnRpcmV0cm92aXJhbCB0aGVyYXB5IChBUlQpCiAqIEhJVi5TUlYuREUyMDogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZQogKgogKiBBZGRpdGlvbmFsIENvbnRleHQKICogLSB3aGF0IGl0IG1lYXN1cmVzOiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgZGVsaXZlcnkgb2YgcHJldmVudGlvbiBzZXJ2aWNlcyB0byBISVYtZXhwb3NlZCBpbmZhbnRzIGltbWVkaWF0ZWx5IGFmdGVyIGJpcnRoLgogKiAtIHJhdGlvbmFsZTog4oCiIEFSViBwcm9waHlsYXhpcyBmb3IgSElWLWV4cG9zZWQgaW5mYW50cyBpcyBjcml0aWNhbCBmb3IgcmVkdWNpbmcgdGhlIHJpc2sgb2YgbW90aGVyLXRvLWNoaWxkIHRyYW5zbWlzc2lvbiBpbiB0aGUgaW1tZWRpYXRlIHBvc3RwYXJ0dW0gcGVyaW9kIOKAkyBwYXJ0IG9mIFByb25nIDMgb2YgdGhlIFBNVENUIHN0cmF0ZWd5LiB8IOKAoiBJbiBwYXJ0aWN1bGFyLCBjb3ZlcmFnZSBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIHdobyBhcmUgYm9ybiBpbiBmYWNpbGl0aWVzIHNob3VsZCBiZSB2ZXJ5IGhpZ2guIHwg4oCiwqBXaGVuIHVzaW5nIHRoZSBwcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvciwgdGhlIGluZGljYXRvciBtZWFzdXJlcyBjb3ZlcmFnZSBhbW9uZyBvbmx5IEhJVi1leHBvc2VkIGluZmFudHMgd2hvIGFyZSBib3JuIGluIGZhY2lsaXRpZXMsIHdoaWNoIGlzIGEgZGlyZWN0IG1lYXN1cmUgb2YgYSBwcm9ncmFtbWUncyBhYmlsaXR5IHRvIG1lZXQgc3RhbmRhcmRzIG9mIGNhcmUuCiAqIC0gbWV0aG9kOiBGb3IgdGhlIG51bWVyYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMgKGZvciBleGFtcGxlLCBQTVRDVCByZWdpc3RlcnMpIHwgYSkgRm9yIHRoZSBwcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMsIGxhYm91ciBhbmQgZGVsaXZlcnkgcmVnaXN0ZXJzIHwgYikgRm9yIHRoZSBwb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yOiBNb2RlbGxpbmctYmFzZWQgZXN0aW1hdGVzIChmb3IgZXhhbXBsZSwgU3BlY3RydW0gQUlNKS4gfCAgfCBOb3RlOiBUaGUgcG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvciBpcyBhIHByb3h5IG1lYXN1cmUgZm9yIHRoZSBudW1iZXIgb2YgaW5mYW50cyBib3JuIHRvIEhJVi1pbmZlY3RlZCB3b21lbi4gfCAgfCBUaGUgcmVjb21tZW5kZWQgcmVwb3J0aW5nIHBlcmlvZCBpcyAxMiBtb250aHMuCiAqIAogKiBTdWdnZXN0ZWQgU2NvcmluZyBNZXRob2Q6IHByb3BvcnRpb24gfCBodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NxZm1lYXN1cmVzL1N0cnVjdHVyZURlZmluaXRpb24vcHJvcG9ydGlvbi1tZWFzdXJlLWNxZm0KICogCiAqIFByb2ZpbGVzOgogKiAtIEhpdkluZmFudAogKiAtIEhpdk1vdGhlcgogKiAtIEhpdkNoaWxkRGVsaXZlcnkKICogLSBIaXZBbnRpUmV0cm92aXJhbFRyZWF0bWVudAogKiAtIEhpdlN0YXR1cwogKiAtIEhpdk9uQXJ0CiAqIAogKi8KCmxpYnJhcnkgSElWSU5EMzlMb2dpYzwvYTpzPg0KICAgICAgPC9hOnM+DQogICA8L2Fubm90YXRpb24+DQogICA8aWRlbnRpZmllciBpZD0iSElWSU5EMzlMb2dpYyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9oaXYiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI2ODoxLTY4OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjIwNiI+DQogICAgICAgICAgICAgICA8YTpzPi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgIDwvZGVmPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iNzA6MS03MDo0NCIgbG9jYWxJZGVudGlmaWVyPSJISUMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZDb21tb24iIHZlcnNpb249IjAuMC4xIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMDciPg0KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+SElWQ29tbW9uPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjcxOjEtNzE6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMDgiPg0KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhbElkPSIyMDkiIGxvY2F0b3I9IjczOjEtNzM6MjkiIGxvY2FsSWRlbnRpZmllcj0iV0NvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiI+DQogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4NCiAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4NCiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbW1vbjwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0NvbTwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSI3NToxLTc1OjI5IiBsb2NhbElkZW50aWZpZXI9IkhFIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9oaXYvSElWRWxlbWVudHMiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjIxMCI+DQogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZFbGVtZW50czwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgSEU8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iNzY6MS03NjozOSIgbG9jYWxJZGVudGlmaWVyPSJISUUiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZJbmRpY2F0b3JFbGVtZW50cyI+DQogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4NCiAgICAgICAgICAgIDxhOnMgcj0iMjExIj4NCiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPkhJVkluZGljYXRvckVsZW1lbnRzPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBISUU8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgPC9kZWY+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iNzk6MS03OTo4OCIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMTIiPg0KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPg0KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZTwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij5JbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjIzIiBsb2NhdG9yPSI3OTo1NS03OTo4OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyMTciIGxvY2F0b3I9Ijc5OjY0LTc5Ojc0IiB4c2k6dHlwZT0iRGF0ZSI+DQogICAgICAgICAgICAgICA8eWVhciBsb2NhbElkPSIyMTQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCBsb2NhbElkPSIyMTUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgbG9jYWxJZD0iMjE2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iNzk6NzctNzk6ODciIHhzaTp0eXBlPSJEYXRlIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIGxvY2FsSWQ9IjIxOSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIGxvY2FsSWQ9IjIyMCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSBsb2NhbElkPSIyMjEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMzAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjQiIGxvY2F0b3I9Ijc5OjMyLTc5OjQ1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSI3OTo0MS03OTo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb250ZXh0cz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSI4MToxLTgxOjE1IiBuYW1lPSJQYXRpZW50Ii8+DQogICA8L2NvbnRleHRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iODE6MS04MToxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjgiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iODE6MS04MToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iODg6MS04OTo2IiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjIzMSI+DQogICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+LyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICB0cnVlPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iODk6My04OTo2IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSI5ODoxLTEwMDo4MSIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyMzQiPg0KICAgICAgICAgICAgICAgPGE6cz4vKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgaW5mYW50cyBib3JuIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2hvIHdlcmUgc3RhcnRlZCBvbiBBUlYgcHJvcGh5bGF4aXMgYXQgYmlydGgKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAmcXVvdDtISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQmcXVvdDsgQU5EICZxdW90O0luZmFudCBkYXRlIG9mIGJpcnRoJnF1b3Q7IHdpdGhpbiByZXBvcnRpbmcgcGVyaW9kIEFORCAmcXVvdDtJbmZhbnQgQVJUIHN0YXJ0IGRhdGUmcXVvdDsgaXMgb24mcXVvdDtJbmZhbnQgZGF0ZSBvZiBiaXJ0aCZxdW90OwogKi8KCmRlZmluZSAmcXVvdDtOdW1lcmF0b3ImcXVvdDs6CiAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7aXMgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIEUuREUxMTImcXVvdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgCiAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXhpc3RzPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5IRS4mcXVvdDtBUlQgc3RhcnQgZGF0ZSZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGQ8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRhdGUgZnJvbSA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4gc2FtZSBkYXkgYXMgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzUiIGxvY2F0b3I9Ijk5OjMtMTAwOjgxIiB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iOTk6My05OTo0NiIgbmFtZT0iaXMgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIEUuREUxMTIiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjEwMDo1LTEwMDo4MSIgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjEwMDoxMS0xMDA6ODEiIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTAwOjEyLTEwMDozMiIgYWxpYXM9ImQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIxMDA6MTItMTAwOjMwIiBuYW1lPSJBUlQgc3RhcnQgZGF0ZSIgbGlicmFyeU5hbWU9IkhFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjQ2IiBsb2NhdG9yPSIxMDA6MzQtMTAwOjgwIiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI0OCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI0OSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjEwMDo0MC0xMDA6NTAiIHhzaTp0eXBlPSJEYXRlRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjEwMDo1MCIgbmFtZT0iZCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDciIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMDA6NjQtMTAwOjgwIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMTAwOjY0LTEwMDo3MCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxMDk6MS0xMTE6NDEiIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyNTIiPg0KICAgICAgICAgICAgICAgPGE6cz4vKioKICogRGVub21pbmF0b3IKICoKICogRGVmaW5pdGlvbjogYSkgUHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCBpbiBhIGZhY2lsaXR5IHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMuIHwgIHwgQikgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogTnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMuCiAqIENhbGN1bGF0aW9uOiBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogfCBDT1VOVCBvZiB3b21lbiB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O1BsYWNlIG9mIGRlbGl2ZXJ5JnF1b3Q7IGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgd2l0aGluIHJlcG9ydGluZyBwZXJpb2QgfCAgfCBQb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yOiB8ICpFc3RpbWF0ZWQgbnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIGR1cmluZyB0aGUgcGFzdCAxMiBtb250aHMKICovCgpkZWZpbmUgJnF1b3Q7RGVub21pbmF0b3ImcXVvdDs6CiAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGFzIEhJVi1wb3NpdGl2ZSBTdGF0dXMmcXVvdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPiBhbmQKICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hhcyBEZWxpdmVyeSBpbiBIZWFsdGggRmFjaWxpdHkmcXVvdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxMTA6My0xMTE6NDEiIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIxMTA6My0xMTA6MzEiIG5hbWU9IkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSIxMTE6NS0xMTE6NDEiIG5hbWU9IkhhcyBEZWxpdmVyeSBpbiBIZWFsdGggRmFjaWxpdHkiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSIxMTg6MS0xMTk6MzgiIG5hbWU9Ikdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjI1OSI+DQogICAgICAgICAgICAgICA8YTpzPi8qIGVuZCBQb3B1bGF0aW9ucyAqLwoKLyoKICogRGlzYWdncmVnYXRvcnMKICovCgpkZWZpbmUgJnF1b3Q7R2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciZxdW90OzoKCTwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPg0KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTE5OjItMTE5OjM4IiBuYW1lPSJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iMTIxOjEtMTIyOjI3IiBuYW1lPSJDdXJyZW50IEFSVCByZWdpbWVuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPg0KICAgICAgICAgICAgPGE6cyByPSIyNjMiPg0KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7Q3VycmVudCBBUlQgcmVnaW1lbiZxdW90OzoKICA8L2E6cz4NCiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPg0KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IEFSVCByZWdpbWVuJnF1b3Q7PC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICA8L2Fubm90YXRpb24+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjEyMjozLTEyMjoyNyIgbmFtZT0iQ3VycmVudCBBUlQgcmVnaW1lbiIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjEyNDoxLTEyNjozMiIgbmFtZT0iU3RyYXRpZmljYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+DQogICAgICAgICAgICA8YTpzIHI9IjI2NyI+DQogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTdHJhdGlmaWNhdGlvbiZxdW90OzoKPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDxhOnM+CisgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MyI+DQogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBBUlQgcmVnaW1lbiZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgIDwvYW5ub3RhdGlvbj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMTI1OjEtMTI2OjMyIiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc0IiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNzUiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjEyNToxLTEyNTozNyIgbmFtZT0iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iMTI2OjMtMTI2OjMyIiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjEyNjozLTEyNjoyNyIgbmFtZT0iQ3VycmVudCBBUlQgcmVnaW1lbiIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K", "contentType": "application/elm+xml" }, { "data": "ew0KICAgImxpYnJhcnkiIDogew0KICAgICAgImxvY2FsSWQiIDogIjAiLA0KICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLA0KICAgICAgICAgInNpZ25hdHVyZUxldmVsIiA6ICJPdmVybG9hZHMiLA0KICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtSW5mbyINCiAgICAgIH0sIHsNCiAgICAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIsDQogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsDQogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsDQogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciINCiAgICAgIH0sIHsNCiAgICAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIsDQogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsDQogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsDQogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciINCiAgICAgIH0sIHsNCiAgICAgICAgICJtZXNzYWdlIiA6ICJBbiBvcGVyYW5kIGlkZW50aWZpZXIgW3JlZmVyZW5jZV0gaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIsDQogICAgICAgICAiZXJyb3JUeXBlIiA6ICJzZW1hbnRpYyIsDQogICAgICAgICAiZXJyb3JTZXZlcml0eSIgOiAid2FybmluZyIsDQogICAgICAgICAidHlwZSIgOiAiQ3FsVG9FbG1FcnJvciINCiAgICAgIH0sIHsNCiAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICJyIiA6ICIyNjciLA0KICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBMaWJyYXJ5OiBISVYuSU5ELjM5IExvZ2ljXG4gKiBSZWYgTm86IFZFUi4zXG4gKiBTaG9ydCBOYW1lOiBJbmZhbnQgQVJWIHByb3BoeWxheGlzIGNvdmVyYWdlXG4gKlxuICogRGVmaW5pdGlvbjogJSBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIHdobyBpbml0aWF0ZWQgQVJWIHByb3BoeWxheGlzXG4gKlxuICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgaW5mYW50cyBib3JuIHdpdGhpbiB0aGUgcGFzdCAxMiBtb250aHMgd2hvIHdlcmUgc3RhcnRlZCBvbiBBUlYgcHJvcGh5bGF4aXMgYXQgYmlydGhcbiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuIFwiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkXCIgQU5EIFwiSW5mYW50IGRhdGUgb2YgYmlydGhcIiB3aXRoaW4gcmVwb3J0aW5nIHBlcmlvZCBBTkQgXCJJbmZhbnQgQVJUIHN0YXJ0IGRhdGVcIiBpcyBvblwiSW5mYW50IGRhdGUgb2YgYmlydGhcIlxuICogTnVtZXJhdG9yIEV4Y2x1c2lvbnM6IFxuICpcbiAqIERlbm9taW5hdG9yOiBhKSBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogTnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIGluIGEgZmFjaWxpdHkgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocy4gfCAgfCBCKSBQb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocy5cbiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogfCBDT1VOVCBvZiB3b21lbiB3aXRoIFwiSElWIHN0YXR1c1wiPSdISVYtcG9zaXRpdmUnIEFORCBcIlBsYWNlIG9mIGRlbGl2ZXJ5XCIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgXCJEZWxpdmVyeSBkYXRlXCIgd2l0aGluIHJlcG9ydGluZyBwZXJpb2QgfCAgfCBQb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yOiB8ICpFc3RpbWF0ZWQgbnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSB3b21lbiB3aG8gZGVsaXZlcmVkIGR1cmluZyB0aGUgcGFzdCAxMiBtb250aHNcbiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IFxuICpcbiAqIERpc2FnZ3JlZ2F0aW9uczpcbiAqIOKAosKgQVJWIGRydWcgcmVnaW1lbiBcbiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgcmVnaW9ucyBvZiBlcGlkZW1pb2xvZ2ljIGltcG9ydGFuY2VcbiAqXG4gKiBEaXNhZ2dyZWdhdGlvbiBFbGVtZW50czogQ3VycmVudCBBUlQgcmVnaW1lblxuICpcbiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6XG4gKiBEZWxpdmVyeSBkYXRlIFxuICogIEhJViBzdGF0dXMgXG4gKiAgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIFxuICogIEluZmFudCBBUlQgc3RhcnQgZGF0ZSBcbiAqICBJbmZhbnQgZGF0ZSBvZiBiaXJ0aCBcbiAqICBQbGFjZSBvZiBkZWxpdmVyeVxuICpcbiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyXG4gKiBcbiAqIERhdGEgQ29uY2VwdHM6XG4gKiBISVYuQi5ERTExNTogSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5hdGlvbmFsIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuXG4gKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZVxuICogSElWLkIuREUxMTc6IEhJVi1uZWdhdGl2ZSB8IENsaWVudCBpcyBISVYtbmVnYXRpdmVcbiAqIEhJVi5CLkRFMTE4OiBVbmtub3duIHwgQ2xpZW50IGhhcyB1bmtub3duIEhJViBzdGF0dXNcbiAqIEhJVi5ELkRFNzU6IEN1cnJlbnQgQVJUIHJlZ2ltZW4gfCBUaGUgY3VycmVudCBBUlQgcmVnaW1lbiB0aGUgY2xpZW50IGlzIHRha2luZ1xuICogSElWLkUuREU0NjogRGVsaXZlcnkgZGF0ZSB8IERhdGUgb24gd2hpY2ggdGhlIHdvbWFuIGRlbGl2ZXJlZFxuICogSElWLkUuREU2NzogUGxhY2Ugb2YgZGVsaXZlcnkgfCBUaGUgdHlwZSBvZiBwbGFjZSB3aGVyZSB0aGUgd29tYW4gZGVsaXZlcmVkXG4gKiBISVYuRS5ERTY4OiBIZWFsdGggZmFjaWxpdHkgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGEgaGVhbHRoIGZhY2lsaXR5XG4gKiBISVYuRS5ERTY5OiBIb21lIHwgVGhlIHdvbWFuIGRlbGl2ZXJlZCBhdCBob21lXG4gKiBISVYuRS5ERTcwOiBPdGhlciB8IFRoZSB3b21hbiBkZWxpdmVyZWQgYXQgYW5vdGhlciBsb2NhdGlvbiB0aGF0IGlzIG5vdCBhdCBob21lIG9yIGF0IGEgaGVhbHRoIGZhY2lsaXR5XG4gKiBISVYuRS5ERTg3OiBJbmZhbnQgZGF0ZSBvZiBiaXJ0aCB8IFRoZSBpbmZhbnQncyBkYXRlIG9mIGJpcnRoIChET0IpIGlmIGtub3duXG4gKiBISVYuRS5ERTExMjogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZVxuICogSElWLkUuREUyMjk6IEluZmFudCBBUlQgc3RhcnQgZGF0ZSB8IFRoZSBkYXRlIG9uIHdoaWNoIHRoZSBpbmZhbnQgd2FzIHN0YXJ0ZWQgb3IgcmVzdGFydGVkIG9uIGFudGlyZXRyb3ZpcmFsIHRoZXJhcHkgKEFSVClcbiAqIEhJVi5TUlYuREUyMDogSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIHwgV2hldGhlciB0aGUgaW5mYW50IG9yIGNoaWxkIHdhcyBkZXRlcm1pbmVkIHRvIGhhdmUgaGFkIEhJViBleHBvc3VyZVxuICpcbiAqIEFkZGl0aW9uYWwgQ29udGV4dFxuICogLSB3aGF0IGl0IG1lYXN1cmVzOiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgZGVsaXZlcnkgb2YgcHJldmVudGlvbiBzZXJ2aWNlcyB0byBISVYtZXhwb3NlZCBpbmZhbnRzIGltbWVkaWF0ZWx5IGFmdGVyIGJpcnRoLlxuICogLSByYXRpb25hbGU6IOKAoiBBUlYgcHJvcGh5bGF4aXMgZm9yIEhJVi1leHBvc2VkIGluZmFudHMgaXMgY3JpdGljYWwgZm9yIHJlZHVjaW5nIHRoZSByaXNrIG9mIG1vdGhlci10by1jaGlsZCB0cmFuc21pc3Npb24gaW4gdGhlIGltbWVkaWF0ZSBwb3N0cGFydHVtIHBlcmlvZCDigJMgcGFydCBvZiBQcm9uZyAzIG9mIHRoZSBQTVRDVCBzdHJhdGVneS4gfCDigKIgSW4gcGFydGljdWxhciwgY292ZXJhZ2Ugb2YgSElWLWV4cG9zZWQgaW5mYW50cyB3aG8gYXJlIGJvcm4gaW4gZmFjaWxpdGllcyBzaG91bGQgYmUgdmVyeSBoaWdoLiB8IOKAosKgV2hlbiB1c2luZyB0aGUgcHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3IsIHRoZSBpbmRpY2F0b3IgbWVhc3VyZXMgY292ZXJhZ2UgYW1vbmcgb25seSBISVYtZXhwb3NlZCBpbmZhbnRzIHdobyBhcmUgYm9ybiBpbiBmYWNpbGl0aWVzLCB3aGljaCBpcyBhIGRpcmVjdCBtZWFzdXJlIG9mIGEgcHJvZ3JhbW1lJ3MgYWJpbGl0eSB0byBtZWV0IHN0YW5kYXJkcyBvZiBjYXJlLlxuICogLSBtZXRob2Q6IEZvciB0aGUgbnVtZXJhdG9yOiBQcm9ncmFtbWUgcmVjb3JkcyAoZm9yIGV4YW1wbGUsIFBNVENUIHJlZ2lzdGVycykgfCBhKSBGb3IgdGhlIHByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiBQcm9ncmFtbWUgcmVjb3JkcywgbGFib3VyIGFuZCBkZWxpdmVyeSByZWdpc3RlcnMgfCBiKSBGb3IgdGhlIHBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IE1vZGVsbGluZy1iYXNlZCBlc3RpbWF0ZXMgKGZvciBleGFtcGxlLCBTcGVjdHJ1bSBBSU0pLiB8ICB8IE5vdGU6IFRoZSBwb3B1bGF0aW9uLWJhc2VkIGRlbm9taW5hdG9yIGlzIGEgcHJveHkgbWVhc3VyZSBmb3IgdGhlIG51bWJlciBvZiBpbmZhbnRzIGJvcm4gdG8gSElWLWluZmVjdGVkIHdvbWVuLiB8ICB8IFRoZSByZWNvbW1lbmRlZCByZXBvcnRpbmcgcGVyaW9kIGlzIDEyIG1vbnRocy5cbiAqIFxuICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtXG4gKiBcbiAqIFByb2ZpbGVzOlxuICogLSBIaXZJbmZhbnRcbiAqIC0gSGl2TW90aGVyXG4gKiAtIEhpdkNoaWxkRGVsaXZlcnlcbiAqIC0gSGl2QW50aVJldHJvdmlyYWxUcmVhdG1lbnRcbiAqIC0gSGl2U3RhdHVzXG4gKiAtIEhpdk9uQXJ0XG4gKiBcbiAqL1xuXG4iLCJsaWJyYXJ5IEhJVklORDM5TG9naWMiIF0NCiAgICAgICAgICAgIH0gXQ0KICAgICAgICAgfQ0KICAgICAgfSBdLA0KICAgICAgImlkZW50aWZpZXIiIDogew0KICAgICAgICAgImlkIiA6ICJISVZJTkQzOUxvZ2ljIiwNCiAgICAgICAgICJzeXN0ZW0iIDogImh0dHA6Ly9zbWFydC53aG8uaW50L2hpdiINCiAgICAgIH0sDQogICAgICAic2NoZW1hSWRlbnRpZmllciIgOiB7DQogICAgICAgICAiaWQiIDogInVybjpobDctb3JnOmVsbSIsDQogICAgICAgICAidmVyc2lvbiIgOiAicjEiDQogICAgICB9LA0KICAgICAgInVzaW5ncyIgOiB7DQogICAgICAgICAiZGVmIiA6IFsgew0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjEiLA0KICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiU3lzdGVtIiwNCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSINCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDYiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjY4OjEtNjg6MjYiLA0KICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsDQogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDYiLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gSW5jbHVkZWQgTGlicmFyaWVzXG4iLCJ1c2luZyAiIF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiIF0NCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICc0LjAuMSciIF0NCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBdDQogICAgICAgICB9IF0NCiAgICAgIH0sDQogICAgICAiaW5jbHVkZXMiIDogew0KICAgICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDciLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjcwOjEtNzA6NDQiLA0KICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSElDIiwNCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9oaXYvSElWQ29tbW9uIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIwLjAuMSIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDciLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkhJVkNvbW1vbiIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzAuMC4xJyIsIiBjYWxsZWQgIiwiSElDIiBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjIwOCIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6MS03MTozNSIsDQogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIsDQogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLA0KICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAgICAgICAiciIgOiAiMjA4IiwNCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJGSElSSGVscGVycyIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzQuMC4xJyIgXQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IF0NCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDkiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjczOjEtNzM6MjkiLA0KICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiV0NvbSIsDQogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDkiLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIldIT0NvbW1vbiIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGNhbGxlZCAiLCJXQ29tIiBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMCIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiNzU6MS03NToyOSIsDQogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJIRSIsDQogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L0hJVkVsZW1lbnRzIiwNCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLA0KICAgICAgICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgICAgICAgInIiIDogIjIxMCIsDQogICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElWRWxlbWVudHMiIF0NCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSEUiIF0NCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBdDQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjExIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3NjoxLTc2OjM5IiwNCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkhJRSIsDQogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L0hJVkluZGljYXRvckVsZW1lbnRzIiwNCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgew0KICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLA0KICAgICAgICAgICAgICAgInMiIDogew0KICAgICAgICAgICAgICAgICAgInIiIDogIjIxMSIsDQogICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElWSW5kaWNhdG9yRWxlbWVudHMiIF0NCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiSElFIiBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXQ0KICAgICAgICAgfSBdDQogICAgICB9LA0KICAgICAgInBhcmFtZXRlcnMiIDogew0KICAgICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjEtNzk6ODgiLA0KICAgICAgICAgICAgIm5hbWUiIDogIk1lYXN1cmVtZW50IFBlcmlvZCIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTIiLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gSW5kaWNhdG9yIERlZmluaXRpb25cbiIsInBhcmFtZXRlciAiLCJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiwiICIgXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyNCIsDQogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbDwiIF0NCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGF0ZSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRlZmF1bHQgIiBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIzIiwNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIxNyIsDQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiwiQDIwMjMtMDEtMDEiLCIsICIsIkAyMDIzLTAxLTMwIiwiXSIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJkZWZhdWx0IiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjMiLA0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjU1LTc5Ojg4IiwNCiAgICAgICAgICAgICAgICJsb3dDbG9zZWQiIDogdHJ1ZSwNCiAgICAgICAgICAgICAgICJoaWdoQ2xvc2VkIiA6IHRydWUsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLA0KICAgICAgICAgICAgICAgImxvdyIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjE3IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTo2NC03OTo3NCIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZSIsDQogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwNCiAgICAgICAgICAgICAgICAgICJ5ZWFyIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTQiLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMjAyMyIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAibW9udGgiIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNSIsDQogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJkYXkiIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxNiIsDQogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICJoaWdoIiA6IHsNCiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjIiLA0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5Ojc3LTc5Ojg3IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlIiwNCiAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLA0KICAgICAgICAgICAgICAgICAgInllYXIiIDogew0KICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsDQogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLA0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyMDIzIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICJtb250aCIgOiB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIwIiwNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsDQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjEiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgImRheSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIxIiwNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsDQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjMwIiwNCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIg0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICJwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjQiLA0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjc5OjMyLTc5OjQ1IiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLA0KICAgICAgICAgICAgICAgInBvaW50VHlwZSIgOiB7DQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI1IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3OTo0MS03OTo0NCIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1EYXRlIiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICB9IF0NCiAgICAgIH0sDQogICAgICAiY29udGV4dHMiIDogew0KICAgICAgICAgImRlZiIgOiBbIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjkiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjgxOjEtODE6MTUiLA0KICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiDQogICAgICAgICB9IF0NCiAgICAgIH0sDQogICAgICAic3RhdGVtZW50cyIgOiB7DQogICAgICAgICAiZGVmIiA6IFsgew0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNyIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MS04MToxNSIsDQogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI4IiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJTaW5nbGV0b25Gcm9tIiwNCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLA0KICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogew0KICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIyNiIsDQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiODE6MS04MToxNSIsDQogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJSZXRyaWV2ZSIsDQogICAgICAgICAgICAgICAgICAiaW5jbHVkZSIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAiY29kZUZpbHRlciIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAiZGF0ZUZpbHRlciIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAib3RoZXJGaWx0ZXIiIDogWyBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMxIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4ODoxLTg5OjYiLA0KICAgICAgICAgICAgIm5hbWUiIDogIkluaXRpYWwgUG9wdWxhdGlvbiIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzEiLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMyIiwNCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKiBQb3B1bGF0aW9ucyAqL1xuXG4vKlxuICpJbml0aWFsIFBvcHVsYXRpb25cbiAqL1xuXG4iLCJkZWZpbmUgIiwiXCJJbml0aWFsIFBvcHVsYXRpb25cIiIsIjpcbiAgIiwidHJ1ZSIgXQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMyIiwNCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4OTozLTg5OjYiLA0KICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1Cb29sZWFuIiwNCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCINCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMzQiLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjk4OjEtMTAwOjgxIiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJOdW1lcmF0b3IiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAgICAgICAiciIgOiAiMjM0IiwNCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qKlxuICogTnVtZXJhdG9yXG4gKiBcbiAqIERlZmluaXRpb246IE51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIGJvcm4gd2l0aGluIHRoZSBwYXN0IDEyIG1vbnRocyB3aG8gd2VyZSBzdGFydGVkIG9uIEFSViBwcm9waHlsYXhpcyBhdCBiaXJ0aFxuICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiBcIkhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZFwiIEFORCBcIkluZmFudCBkYXRlIG9mIGJpcnRoXCIgd2l0aGluIHJlcG9ydGluZyBwZXJpb2QgQU5EIFwiSW5mYW50IEFSVCBzdGFydCBkYXRlXCIgaXMgb25cIkluZmFudCBkYXRlIG9mIGJpcnRoXCJcbiAqL1xuXG4iLCJkZWZpbmUgIiwiXCJOdW1lcmF0b3JcIiIsIjpcbiAgIiBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM1IiwNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzNyIsDQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElFIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjM3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiaXMgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIEUuREUxMTJcIiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgYW5kIFxuICAgICIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOCIsDQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJleGlzdHMiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKCIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJIRSIsIi4iLCJcIkFSVCBzdGFydCBkYXRlXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsImQiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJ3aGVyZSAiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImRhdGUgZnJvbSAiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiZCIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiAiLCJzYW1lIGRheSBhcyIsIiAiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlBhdGllbnQiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNDUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiYmlydGhEYXRlIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNSIsDQogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6My0xMDA6ODEiLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIkFuZCIsDQogICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwNCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzNyIsDQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOTk6My05OTo0NiIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiaXMgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIEUuREUxMTIiLA0KICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJISUUiLA0KICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM4IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NS0xMDA6ODEiLA0KICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4aXN0cyIsDQogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwNCiAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTAiLA0KICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDoxMS0xMDA6ODEiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwNCiAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTItMTAwOjMyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhcyIgOiAiZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MTItMTAwOjMwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJBUlQgc3RhcnQgZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkhFIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgImxldCIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwIiA6IFsgXSwNCiAgICAgICAgICAgICAgICAgICAgICJ3aGVyZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ2IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6MzQtMTAwOjgwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iIDogIkRheSIsDQogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiU2FtZUFzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ4IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciINCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NDAtMTAwOjUwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlRnJvbSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo1MCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQWxpYXNSZWYiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJUb0RhdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMDo2NC0xMDA6ODAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiIDogImJpcnRoRGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjQ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDA6NjQtMTAwOjcwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgfSwgew0KICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MiIsDQogICAgICAgICAgICAibG9jYXRvciIgOiAiMTA5OjEtMTExOjQxIiwNCiAgICAgICAgICAgICJuYW1lIiA6ICJEZW5vbWluYXRvciIsDQogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsDQogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsDQogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwNCiAgICAgICAgICAgICAgICJzIiA6IHsNCiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTIiLA0KICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBEZW5vbWluYXRvclxuICpcbiAqIERlZmluaXRpb246IGEpIFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgaW4gYSBmYWNpbGl0eSB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLiB8ICB8IEIpIFBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgd29tZW4gd2hvIGRlbGl2ZXJlZCB3aXRoaW4gdGhlIHBhc3QgMTIgbW9udGhzLlxuICogQ2FsY3VsYXRpb246IFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiB8IENPVU5UIG9mIHdvbWVuIHdpdGggXCJISVYgc3RhdHVzXCI9J0hJVi1wb3NpdGl2ZScgQU5EIFwiUGxhY2Ugb2YgZGVsaXZlcnlcIiBpcyBhICdIZWFsdGggZmFjaWxpdHknIEFORCBcIkRlbGl2ZXJ5IGRhdGVcIiB3aXRoaW4gcmVwb3J0aW5nIHBlcmlvZCB8ICB8IFBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IHwgKkVzdGltYXRlZCBudW1iZXIgb2YgSElWLXBvc2l0aXZlIHdvbWVuIHdobyBkZWxpdmVyZWQgZHVyaW5nIHRoZSBwYXN0IDEyIG1vbnRoc1xuICovXG5cbiIsImRlZmluZSAiLCJcIkRlbm9taW5hdG9yXCIiLCI6XG4gICIgXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MyIsDQogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkhJRSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGFuZFxuICAgICIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NyIsDQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNTYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElFIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjU3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiSGFzIERlbGl2ZXJ5IGluIEhlYWx0aCBGYWNpbGl0eVwiIiBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNTMiLA0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExMDozLTExMTo0MSIsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5kIiwNCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLA0KICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU1IiwNCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTA6My0xMTA6MzEiLA0KICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiwNCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSElFIiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NyIsDQogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTExOjUtMTExOjQxIiwNCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJIYXMgRGVsaXZlcnkgaW4gSGVhbHRoIEZhY2lsaXR5IiwNCiAgICAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiSElFIiwNCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIg0KICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU5IiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTg6MS0xMTk6MzgiLA0KICAgICAgICAgICAgIm5hbWUiIDogIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAgICAgICAiciIgOiAiMjU5IiwNCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8qIGVuZCBQb3B1bGF0aW9ucyAqL1xuXG4vKlxuICogRGlzYWdncmVnYXRvcnNcbiAqL1xuXG4iLCJkZWZpbmUgIiwiXCJHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyXCIiLCI6XG5cdCIgXQ0KICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MSIsDQogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElFIiBdDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlwiQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllclwiIiBdDQogICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7DQogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwNCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6Mi0xMTk6MzgiLA0KICAgICAgICAgICAgICAgIm5hbWUiIDogIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiLA0KICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJISUUiLA0KICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICB9DQogICAgICAgICB9LCB7DQogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYzIiwNCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MS0xMjI6MjciLA0KICAgICAgICAgICAgIm5hbWUiIDogIkN1cnJlbnQgQVJUIHJlZ2ltZW4iLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAgICAgICAiciIgOiAiMjYzIiwNCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIkN1cnJlbnQgQVJUIHJlZ2ltZW5cIiIsIjpcbiAgIiBdDQogICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY1IiwNCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2NCIsDQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJISUUiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0NCiAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJDdXJyZW50IEFSVCByZWdpbWVuXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gXSwNCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsNCiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjUiLA0KICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyMjozLTEyMjoyNyIsDQogICAgICAgICAgICAgICAibmFtZSIgOiAiQ3VycmVudCBBUlQgcmVnaW1lbiIsDQogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkhJRSIsDQogICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiINCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjciLA0KICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNDoxLTEyNjozMiIsDQogICAgICAgICAgICAibmFtZSIgOiAiU3RyYXRpZmljYXRpb24iLA0KICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLA0KICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLA0KICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7DQogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsDQogICAgICAgICAgICAgICAicyIgOiB7DQogICAgICAgICAgICAgICAgICAiciIgOiAiMjY3IiwNCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImRlZmluZSAiLCJcIlN0cmF0aWZpY2F0aW9uXCIiLCI6XG4iIF0NCiAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzgiLA0KICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2OSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJISUUiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXCJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyXCIiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiXG4rICIgXQ0KICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MyIsDQogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjcxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkhJRSIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI3MiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcIkN1cnJlbnQgQVJUIHJlZ2ltZW5cIiIgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIuIiBdDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjczIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImNvZGUiIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdDQogICAgICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgICAgIH0gXQ0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgImV4cHJlc3Npb24iIDogew0KICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3OCIsDQogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTI1OjEtMTI2OjMyIiwNCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDb25jYXRlbmF0ZSIsDQogICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwNCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgew0KICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NCIsDQogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiVG9TdHJpbmciLA0KICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJGSElSSGVscGVycyIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLA0KICAgICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIHsNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzUiLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfXN0cmluZyIsDQogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIg0KICAgICAgICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcwIiwNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6MS0xMjU6MzciLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiLA0KICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJISUUiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzMiLA0KICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjozLTEyNjozMiIsDQogICAgICAgICAgICAgICAgICAicGF0aCIgOiAiY29kZSIsDQogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUHJvcGVydHkiLA0KICAgICAgICAgICAgICAgICAgInNvdXJjZSIgOiB7DQogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcyIiwNCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6My0xMjY6MjciLA0KICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkN1cnJlbnQgQVJUIHJlZ2ltZW4iLA0KICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJISUUiLA0KICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICB9IF0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIH0gXQ0KICAgICAgfQ0KICAgfQ0KfQ==", "contentType": "application/elm+json" } ], "name": "HIVIND39Logic", "type": "{:coding [{:system \\\"http://terminology.hl7.org/CodeSystem/library-type\\\", :code \\\"logic-library\\\"}]}", "experimental": "true", "resourceType": "Library", "title": "HIV.IND.39 Logic", "package_version": "1.0.0", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability", "valueCode": "computable" } ], "status": "draft", "id": "75b6c28d-5e62-4bc3-af02-9b17e0407f46", "kind": null, "url": "http://smart.who.int/hiv/Library/HIVIND39Logic", "version": "1.0.0", "relatedArtifact": [ { "type": "depends-on", "display": "Library HIC", "resource": "http://smart.who.int/hiv/Library/HIVCommon|0.0.1" }, { "type": "depends-on", "display": "Library WCom", "resource": "http://smart.who.int/hiv/Library/WHOCommon" }, { "type": "depends-on", "display": "Library HE", "resource": "http://smart.who.int/hiv/Library/HIVElements" }, { "type": "depends-on", "display": "Library HIE", "resource": "http://smart.who.int/hiv/Library/HIVIndicatorElements" } ], "contact": [ { "name": "WHO", "telecom": [ { "value": "http://who.int", "system": "url" } ] } ], "parameter": [ { "max": "1", "min": 0, "use": "in", "name": "Measurement Period", "type": "Period" }, { "max": "1", "min": 0, "use": "out", "name": "Patient", "type": "Patient" }, { "max": "1", "min": 0, "use": "out", "name": "Initial Population", "type": "boolean" }, { "max": "1", "min": 0, "use": "out", "name": "Numerator", "type": "boolean" }, { "max": "1", "min": 0, "use": "out", "name": "Denominator", "type": "boolean" }, { "max": "1", "min": 0, "use": "out", "name": "Geographic Region Stratifier", "type": "string" }, { "max": "1", "min": 0, "use": "out", "name": "Current ART regimen", "type": "Coding" }, { "max": "1", "min": 0, "use": "out", "name": "Stratification", "type": "string" } ] }