@po-ui/ng-components 16.6.1 → 16.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/components.module.mjs +8 -1
- package/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +25 -15
- package/esm2022/lib/components/po-accordion/po-accordion.component.mjs +15 -5
- package/esm2022/lib/components/po-button/po-button.component.mjs +14 -13
- package/esm2022/lib/components/po-dynamic/po-dynamic-field-force-component.enum.mjs +15 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.mjs +7 -3
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +87 -73
- package/esm2022/lib/components/po-loading/po-loading-icon/po-loading-icon-size-enum.mjs +12 -0
- package/esm2022/lib/components/po-loading/po-loading-icon/po-loading-icon.component.mjs +56 -8
- package/esm2022/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.mjs +9 -8
- package/esm2022/lib/components/po-loading/po-loading.component.mjs +16 -8
- package/esm2022/lib/components/po-loading/po-loading.module.mjs +6 -5
- package/esm2022/lib/components/po-menu/po-menu-filter/po-menu-filter.component.mjs +4 -4
- package/esm2022/lib/components/po-overlay/index.mjs +3 -0
- package/esm2022/lib/components/po-overlay/po-overlay-base.component.mjs +37 -0
- package/esm2022/lib/components/po-overlay/po-overlay.component.mjs +20 -0
- package/esm2022/lib/components/po-overlay/po-overlay.module.mjs +19 -0
- package/esm2022/lib/components/po-search/po-search.component.mjs +5 -5
- package/fesm2022/po-ui-ng-components.mjs +328 -139
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/components.module.d.ts +20 -19
- package/lib/components/index.d.ts +1 -0
- package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +2 -1
- package/lib/components/po-accordion/po-accordion.component.d.ts +4 -2
- package/lib/components/po-dynamic/po-dynamic-field-force-component.enum.d.ts +13 -0
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +8 -1
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +1 -1
- package/lib/components/po-loading/po-loading-icon/po-loading-icon-size-enum.d.ts +10 -0
- package/lib/components/po-loading/po-loading-icon/po-loading-icon.component.d.ts +20 -1
- package/lib/components/po-loading/po-loading.module.d.ts +2 -1
- package/lib/components/po-overlay/index.d.ts +2 -0
- package/lib/components/po-overlay/po-overlay-base.component.d.ts +29 -0
- package/lib/components/po-overlay/po-overlay.component.d.ts +6 -0
- package/lib/components/po-overlay/po-overlay.module.d.ts +8 -0
- package/package.json +4 -4
- package/po-ui-ng-components-16.7.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-16.6.1.tgz +0 -0
package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUG9DaGVja2JveEdyb3VwT3B0aW9uLFxuICBQb0NvbWJvRmlsdGVyLFxuICBQb0NvbWJvTGl0ZXJhbHMsXG4gIFBvRGF0ZXBpY2tlcklzb0Zvcm1hdCxcbiAgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyxcbiAgUG9Mb29rdXBGaWx0ZXIsXG4gIFBvTG9va3VwTGl0ZXJhbHMsXG4gIFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlLFxuICBQb011bHRpc2VsZWN0TGl0ZXJhbHMsXG4gIFBvU3dpdGNoTGFiZWxQb3NpdGlvbixcbiAgUG9VcGxvYWRMaXRlcmFscyxcbiAgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zXG59IGZyb20gJy4uLy4uL3BvLWZpZWxkJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtYWR2YW5jZWQtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tc2VsZWN0L3BvLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQtZm9yY2UtY29tcG9uZW50LmVudW0nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvRHluYW1pY0Zvcm1Db21wb25lbnQsIFBvQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnRcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljRmllbGRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcGFyYSBkZWZpbmnDp8OjbyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBjYW1wb3MgZGUgZW50cmFkYSBxdWUgc2Vyw6NvIGNyaWFkb3MgZGluYW1pY2FtZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQgZXh0ZW5kcyBQb0R5bmFtaWNGaWVsZCB7XG4gIC8qKlxuICAgKiBEZWZpbmUgYXMgY29sdW5hcyBwYXJhIHV0aWxpemHDp8OjbyBkYSBidXNjYSBhdmFuw6dhZGEuIFVzYWRhIHNvbWVudGUgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYHNlYXJjaFNlcnZpY2VgLFxuICAgKiBlc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBbYFBvTG9va3VwQ29sdW1uYF0oL2RvY3VtZW50YXRpb24vcG8tbG9va3VwKS5cbiAgICpcbiAgICogPiBDYXNvIHNlamFtIGluZm9ybWFkYXMgY29sdW5hcywgZGV2ZS1zZSBvYnJpZ2F0b3JpYW1lbnRlIGNvbnRlciBjb2x1bmFzIGRlZmluaWRhcyBjb21vICpsYWJlbCogZSAqdmFsdWUqIHBhcmEgdmFsb3Jlc1xuICAgKiBkZSB0ZWxhIGUgZG8gbW9kZWwgcmVzcGVjdGl2YW1lbnRlLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tbG9va3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYC5cbiAgICovXG4gIGNvbHVtbnM/OiBBcnJheTxQb0xvb2t1cENvbHVtbj4gfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSBhIG9icmlnYXRvcmllZGFkZSBkbyBjYW1wby4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IEEgaW5kaWNhw6fDo28gbsOjbyBzZXLDoSBleGliaWRhLCBzZTpcbiAgICogLSBPIGNhbXBvIGZvciBgcmVxdWlyZWRgLCBvdTtcbiAgICogLSBOw6NvIHBvc3N1aXIgYGhlbHBgIGUgYGxhYmVsYC5cbiAgICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb3DDp8O1ZXMgcXVlIHNlcsOjbyBleGliaWRvcyBlbSB1bSBjb21wb25lbnRlLCBwb2RlbmRvIHNlbGVjaW9uYXIgdW1hIG9ww6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1zZWxlY3RgLCBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tY2hlY2tib3gtZ3JvdXBgLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKiAqL1xuICBvcHRpb25zPzpcbiAgICB8IEFycmF5PHN0cmluZz5cbiAgICB8IEFycmF5PFBvU2VsZWN0T3B0aW9uPlxuICAgIHwgQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvQ2hlY2tib3hHcm91cE9wdGlvbj5cbiAgICB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgcXVlIG8gdXN1w6FyaW8gZmHDp2EgbcO6bHRpcGxhIHNlbGXDp8OjbyBkZW50cm8gZGEgbGlzdGEgZGUgb3DDp8O1ZXMuXG4gICAqL1xuICBvcHRpb25zTXVsdGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGJ1c2NhciBvcyBpdGVucyBlIHByZWVuY2hlciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpbmFtaWNhbWVudGUuXG4gICAqICBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIFVSTCBvdSB1bWEgaW5zdGFuY2lhIGRvIHNlcnZpw6dvIGJhc2VhZG8gZW0gUG9Db21ib0ZpbHRlci5cbiAgICogICoqSW1wb3J0YW50ZSoqXG4gICAqICA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIG9wdGlvbnNTZXJ2aWNlPzogc3RyaW5nIHwgUG9Db21ib0ZpbHRlcjtcblxuICAvKipcbiAgICogU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIHJlYWxpemFyIGEgYnVzY2EgYXZhbsOnYWRhLiBQb2RlIHNlciB1dGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYGNvbHVtbnNgLlxuICAgKiBQb2RlIHNlciBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvTG9va3VwRmlsdGVyLlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogPiBDYXNvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNTZXJ2aWNlYCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKiA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogW2d1aWEgZGUgQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgc2VhcmNoU2VydmljZT86IHN0cmluZyB8IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKlxuICAgKiBNw6FzY2FyYSBwYXJhIG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKi9cbiAgbWFzaz86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBvIHZhbG9yIGRvIGNvbXBvbmVudGUgc2Vyw6EgY29uZm9ybWUgZXNwZWNpZmljYWRvIG5hIG1hc2PDoXJhLiBPIHZhbG9yIHBhZHLDo28gw6kgYGZhbHNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YC5cbiAgICogPiB0YW1iw6ltIMOpIGF0cmlidcOtZG8gYW8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgdHlwZTogdGltZWAuXG4gICAqICovXG4gIG1hc2tGb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkbyBub3MgY2FtcG9zOlxuICAgKiAtIElucHV0O1xuICAgKiAtIE51bWJlcjtcbiAgICogLSBEZWNpbWFsO1xuICAgKiAtIENvbWJvO1xuICAgKiAtIFBhc3N3b3JkO1xuICAgKlxuICAgKiA+IFZlamEgYSBkaXNwb25pYmlsaWRhZGUgZGUgw61jb25lcyBlbSBbYmlibGlvdGVjYSBkZSDDrWNvbmVzXShndWlkZXMvaWNvbnMpLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKiAgUXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNhc2FzIGRlY2ltYWlzLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgZGVjaW1hbHNMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgbcOheGltYSBkZSBkw61naXRvcyBhbnRlcyBkbyBzZXBhcmFkb3IgZGVjaW1hbC4gTyB2YWxvciBtw6F4aW1vIHBlcm1pdGlkbyDDqSAxM1xuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgdGhvdXNhbmRNYXhsZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2V4IHBhcmEgdmFsaWRhw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1wYXNzd29yZGAuXG4gICAqICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOtbmltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOheGltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNhYmlsaXRhIG8gY2FtcG8gY2FzbyBpbmZvcm1hciBvIHZhbG9yICp0cnVlKi4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYS4gKi9cbiAgaGVscD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqdHJ1ZSouICovXG4gIGJvb2xlYW5UcnVlPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yICpmYWxzZSouICovXG4gIGJvb2xlYW5GYWxzZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhIHNlIG8gYG1vZGVsYCByZWNlYmVyw6EgbyB2YWxvciBmb3JtYXRhZG8gcGVsYXMgcHJvcHJpZWRhZGVzIGBwLWxhYmVsLW9uYCBlIGBwLWxhYmVsLW9mZmAgb3VcbiAgICogYXBlbmFzIG8gdmFsb3IgcHVybyAoc2VtIGZvcm1hdGHDp8OjbykuXG4gICAqXG4gICAqIE8gdmFsb3IgcGFkcsOjbyDDqTogYGZhbHNlYC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGVzdMOhIGRpc3Bvbml2ZWwgIGFwZW5hcyBwYXJhIG8gYHN3aWN0aGAuXG4gICAqL1xuICBmb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DoXhpbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICogKi9cbiAgbWF4VmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DrW5pbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICovXG4gIG1pblZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBRdWFudGlkYWRlIGRlIGxpbmhhcyBleGliaWRhcyBubyBgcG8tdGV4dGFyZWFgLiAqL1xuICByb3dzPzogbnVtYmVyO1xuXG4gIC8qKiBFc2NvbmRlIGEgaW5mb3JtYcOnw6NvIGVzdGlsbyAqcGFzc3dvcmQqLCBwb2RlIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIGZvciAqc3RyaW5nKi4gKi9cbiAgc2VjcmV0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRnVuw6fDo28gb3Ugc2VydmnDp28gcGFyYSB2YWxpZGFyIGFzICoqbXVkYW7Dp2FzIGRvIGNhbXBvKiouXG4gICAqXG4gICAqICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBub21lIGRhIHByb3ByaWVkYWRlXG4gICAqIGFsdGVyYWRhIGUgbyBub3ZvIHZhbG9yLCBjb25mb3JtZSBhIGludGVyZmFjZSBgUG9EeW5hbWljRm9ybUZpZWxkQ2hhbmdlZGA6XG4gICAqXG4gICAqIGBgXG4gICAqIHsgcHJvcGVydHk6ICdwcm9wZXJ0eSBuYW1lJywgdmFsdWU6ICduZXcgdmFsdWUnIH1cbiAgICogYGBcbiAgICpcbiAgICogTyByZXRvcm5vIGRlc3RhIGZ1bsOnw6NvIGRldmUgc2VyIGRvIHRpcG8gW1BvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb25dKGRvY3VtZW50YXRpb24vcG8tZHluYW1pYy1mb3JtI3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uKSxcbiAgICogb25kZSBvIHVzdcOhcmlvIHBvZGVyw6EgZGV0ZXJtaW5hciBhcyBub3ZhcyBwcm9wcmllZGFkZXMgZG8gY2FtcG8uXG4gICAqIFBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYFxuICAgKiBvbkNoYW5nZUZpZWxkKGNoYW5nZVZhbHVlKTogUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB7XG4gICAqXG4gICAqIGlmIChjaGFuZ2VWYWx1ZS5wcm9wZXJ0eSA9PT0gJ2JpcnRoZGF5JyAmJiAhdGhpcy52YWxpZGF0ZSgnYmlydGhkYXknKSkge1xuICAgKiAgIHJldHVybiB7XG4gICAqICAgICB2YWx1ZTogJycsXG4gICAqICAgICBmaWVsZDogeyBwcm9wZXJ0eTogJ2JpcnRoZGF5JywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICogICAgIGZvY3VzOiB0cnVlXG4gICAqICAgfTtcbiAgICogfVxuICAgKiBgYFxuICAgKlxuICAgKiBQYXJhIHJlZmVyZW5jaWFyIGEgc3VhIGZ1bsOnw6NvIHV0aWxpemUgYSBwcm9wcmllZGFkZSBgYmluZGAsIHBvciBleGVtcGxvOlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAnc3RhdGUnLCBncmlkQ29sdW1uczogNiwgdmFsaWRhdGU6IHRoaXMubXlGdW5jdGlvbi5iaW5kKHRoaXMpIH1cbiAgICogYGBcbiAgICovXG4gIHZhbGlkYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgZW52aWFkbyBjb21vIHBhcsOibWV0cm8gbmFzIHJlcXVpc2nDp8O1ZXMgZGUgYnVzY2EgdXNhZG9zIHBlbG9zIGNvbXBvbmVudGVzIGBwby1sb29rdXBgIGVcbiAgICogYHBvLWNvbWJvYC5cbiAgICpcbiAgICogUG9yIGV4ZW1wbG8sIHBhcmEgbyBwYXLDom1ldHJvIGB7IGFnZTogMjMgfWAgYSBVUkwgZGEgcmVxdWlzacOnw6NvIGZpY2FyaWE6XG4gICAqXG4gICAqIGBgXG4gICAqIHVybCArID9hZ2U9MjMmZmlsdGVyPVBldGVyXG4gICAqIGBgXG4gICAqL1xuICBwYXJhbXM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBmaWNhciBpbnbDoWxpZG8uXG4gICAqXG4gICAqIE8gY2FtcG8gZmljYSBpbnbDoWxpZG8gcXVhbmRvIGFzIHNlZ3VpbnRlcyBwcm9wcmllZGFkZXMgbsOjbyBmb3JlbSByZXNwZWl0YWRhczpcbiAgICogIC0gcGF0dGVybjtcbiAgICogIC0gbWluVmFsdWU7XG4gICAqICAtIG1heFZhbHVlO1xuICAgKlxuICAgKiA+IEVzdGEgbWVuc2FnZW0gbsOjbyDDqSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBlc3RpdmVyIHZhemlvLCBtZXNtbyBxdWUgZWxlIHNlamEgcmVxdWVyaWRvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBubyBjYW1wby5cbiAgICpcbiAgICogQW8gdXRpbGl6YXIgZXN0YSBwcm9wcmllZGFkZSBjb20gbyBgdHlwZWAgKlBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlKiBvdSAqUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKixcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIHBhcmEgZm9ybWF0YcOnw6NvIGRlIGV4aWJpw6fDo28gZGEgZGF0YTpcbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICpcbiAgICogLSBkZC9tbS95eXl5XG4gICAqIC0gbW0vZGQveXl5eVxuICAgKiAtIHl5eXkvbW0vZGRcbiAgICpcbiAgICpcbiAgICogVGFtYsOpbSBwb2RlLXNlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGNvbSBgc2VhcmNoU2VydmljZWAsIGluZm9ybWFuZG8gdW1hIGxpc3RhIGRlIHByb3ByaWVkYWRlcyBxdWUgc2Vyw6EgdXRpbGl6YWRvXG4gICAqIHBhcmEgZm9ybWF0YcOnw6NvIGRhIGV4aWJpw6fDo28gbm8gY2FtcG8sIHBvciBleGVtcGxvOiBbXCJpZFwiLCBcIm5hbWVcIl0uXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIGRlc2NyacOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBsYWJlbGAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZExhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIHZhbG9yIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGB2YWx1ZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hIGEgb3JkZW0gZGUgZXhpYmnDp8OjbyBkbyBjYW1wby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqXG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAxJywgb3JkZXI6IDIgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAyJywgb3JkZXI6IDEgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAzJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDQnLCBvcmRlcjogMyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqIE5hIGV4aWJpw6fDo28gYSBvcmRlbSBmaWNhcsOhIGRlc3NhIGZvcm1hOlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMicsIG9yZGVyOiAxIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMScsIG9yZGVyOiAyIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgNCcsIG9yZGVyOiAzIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMycgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiBTw7Mgc2Vyw6NvIGFjZWl0b3MgdmFsb3JlcyBjb20gbsO6bWVyb3MgaW50ZWlyb3MgbWFpb3JlcyBkbyBxdWUgemVyby5cbiAgICpcbiAgICogQ2FtcG9zIHNlbSBgb3JkZXJgIG91IGNvbSB2YWxvcmVzIG5lZ2F0aXZvcywgemVyYWRvcyBvdSBpbnbDoWxpZG9zXG4gICAqIHNlcsOjbyBvcyDDumx0aW1vcyBhIHNlcmVtIHJlbmRlcml6YWRvcyBlIHNlZ3VpcsOjbyBvIHBvc2ljaW9uYW1lbnRvIGRlbnRybyBkb1xuICAgKiBhcnJheS5cbiAgICovXG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIC8qKiBNZW5zYWdlbSBxdWUgc2Vyw6EgZXhpYmlkYSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIGEgbG9jYWxpZGFkZSBhIHNlciB1dGlsaXphZGEgbm8gY29tcG9uZW50ZS5cbiAgICogUG9yIHBhZHLDo28gbyB2YWxvciBzZXLDoSBjb25maWd1cmFkbyBzZWd1bmRvIGEgbyBtw7NkdWxvIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAnYmlydGhkYXknLCBsb2NhbGU6ICdlbicsIHR5cGU6ICdkYXRlJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd3YWdlJywgbG9jYWxlOiAncnUnLCB0eXBlOiAnY3VycmVuY3knIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogPiBQYXJhIHZlciBxdWFpcyBsaW5ndWFnZW5zIHN1cG9ydGFkYXMgYWNlc3NlIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICogPiBBIHByb3ByaWVkYWRlIHNlcsOhIHJlcGFzc2FkYSBwYXJhIG9zIGNvbXBvbmVudGVzIHF1ZSBzdXBvcnRhbSBhIG1lc21hLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPIGNvbnRyb2xlIHBhc3NhIGEgcGVybWl0aXIgYSBlbnRyYWRhIGRlIHVtIGludGVydmFsbyBhbyBpbnbDqXMgZGUgdW0gw7puaWNvIHZhbG9yLlxuICAgKlxuICAgKiA+IEF0dWFsbWVudGUgZXNzYSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb27DrXZlbCBhcGVuYXMgcGFyYSBvIHRpcG8gJ2RhdGUnIGUgJ2RhdGVUaW1lJy5cbiAgICovXG4gIHJhbmdlPzogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgbGVpdHVyYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1zZWxlY3RgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbcO6bHRpcGxvcyBpdGVucy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1sb29rdXBgLCBgcG8tdXBsb2FkYFxuICAgKi9cbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gIC8qKiBTZSB2ZXJkYWRlaXJvLCBvIGNhbXBvIHJlY2ViZXLDoSB1bSBib3TDo28gcGFyYSBzZXIgbGltcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tY29tYm9gLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9wcmllZGFkZSBuYXRpdmEgYGF1dG9jb21wbGV0ZWAgZG8gY2FtcG8gY29tbyBvZmYuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgbm9BdXRvY29tcGxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvIGRvIFBvU3dpdGNoLlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBsYWJlbFBvc2l0aW9uPzogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGVzY29uZGVyIGEgZnVuw6fDo28gZGUgZXNwaWFyIGEgc2VuaGEgZGlnaXRhZGEgbm8gYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIGhpZGVQYXNzd29yZFBlZWs/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWRyw6NvIGRlIGZvcm1hdGHDp8OjbyBwYXJhIHNhw61kYSBkbyBtb2RlbCwgaW5kZXBlbmRlbnRlbWVudGUgZG8gZm9ybWF0byBkZSBlbnRyYWRhLlxuICAgKlxuICAgKiA+IFZlamEgb3MgdmFsb3JlcyB2w6FsaWRvcyBubyBgZW51bVBvRGF0ZXBpY2tlcklzb0Zvcm1hdGAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBwby1kYXRlcGlja2VyXG4gICAqL1xuICBpc29Gb3JtYXQ/OiBQb0RhdGVwaWNrZXJJc29Gb3JtYXQ7XG5cbiAgLyoqXG4gICAqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIHBhcmEgb3Mgc2VndWludGVzIGNvbXBvbmVudGVzOiBgcG8tbG9va3VwYCwgYHBvLW11bHRpc2VsZWN0YCwgYHBvLWNvbWJvYCBlIGBwby1kYXRlcGlja2VyLXJhbmdlYC5cbiAgICpcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvIFBvSTE4blNlcnZpY2Ugb3UgZG8gYnJvd3Nlci5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWxvb2t1cGAsIGBwby1tdWx0aXNlbGVjdGAsIGBwby1jb21ib2AsIGBwby1kYXRlcGlja2VyLXJhbmdlYFxuICAgKi9cbiAgbGl0ZXJhbHM/OiBQb0xvb2t1cExpdGVyYWxzIHwgUG9NdWx0aXNlbGVjdExpdGVyYWxzIHwgUG9Db21ib0xpdGVyYWxzIHwgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyB8IFBvVXBsb2FkTGl0ZXJhbHM7XG5cbiAgLyoqXG4gICAqIFNlIHZlcmRhZGVpcm8gYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBvIGNvbWJvIG91IGxvb2t1cCwgYW8gY2hlZ2FyIGFvIGZpbSBkYSB0YWJlbGEgZXhlY3V0YXLDoSBub3ZhIGJ1c2NhIGRvcyBkYWRvcyBjb25mb3JtZSBwYWdpbmHDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHBlcmNlbnR1YWwgbmVjZXNzw6FyaW8gcGFyYSBkaXNwYXJhciBvIGV2ZW50byBzaG93LW1vcmUsIHF1ZSDDqSByZXNwb25zw6F2ZWwgcG9yIGNhcnJlZ2FyIG1haXMgZGFkb3Mgbm8gY29tYm8uIENhc28gbyB2YWxvciBzZWphIG1haW9yIHF1ZSAxMDAgb3UgbWVub3IgcXVlIDAsIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSAxMDAlLlxuICAgKiAqKkV4ZW1wbG9zKipcbiAgICogYHsgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogODAgfWA6IFF1YW5kbyBhdGluZ2lyIDgwJSBkbyBzY3JvbGwgZG8gY29tYm8sIG8gc2hvdy1tb3JlIHNlcsOhIGRpc3BhcmFkby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1jb21ib2AuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcXVlIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgc2Vyw6EgYXV0byBhanVzdMOhdmVsLCBwb3NzdWluZG8gdW1hIGFsdHVyYSBtaW5pbWEgcG9yw6ltIGEgYWx0dXJhIG3DoXhpbWEgc2Vyw6EgZGUgYWNvcmRvIGNvbSBvIG7Dum1lcm8gZGUgaXRlbnMgc2VsZWNpb25hZG9zIGUgYSBleHRlbnPDo28gZG9zIG1lc21vcywgbWFudGVuZG8tb3Mgc2VtcHJlIHZpc8OtdmVpcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW50ZXJ2YWxvIHV0aWxpemFkbyBubyBgcG8tbnVtYmVyYC5cbiAgICovXG4gIHN0ZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIG1vZG8gZGUgcGVzcXVpc2EgdXRpbGl6YWRvIG5vIGZpbHRybyBkYSBsaXN0YSBkZSBzZWxlw6fDo286IGBzdGFydHNXaXRoYCwgYGNvbnRhaW5zYCBvdSBgZW5kc1dpdGhgLlxuICAgKiA+IFF1YW5kbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIHAtZmlsdGVyLXNlcnZpY2UgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGZpbHRlck1vZGU/OiBQb011bHRpc2VsZWN0RmlsdGVyTW9kZTtcblxuICAvKipcbiAgICogVmFsb3IgbcOtbmltbyBkZSBjYXJhY3RlcmVzIHBhcmEgcmVhbGl6YXIgbyBmaWx0cm8gbm8gc2VydmnDp28gZG8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGZpbHRlck1pbmxlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzYWJpbGl0YSBvIGZpbHRybyBpbmljaWFsIG5vIHNlcnZpw6dvIGRvIGBwby1jb21ib2AsIHF1ZSDDqSBleGVjdXRhZG8gbm8gcHJpbWVpcm8gY2xpcXVlIG5vIGNhbXBvLlxuICAgKi9cbiAgZGlzYWJsZWRJbml0RmlsdGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2UgdmVyZGFkZWlybywgZGVzYWJpbGl0YXLDoSBhIGJ1c2NhIGRlIHVtIGl0ZW0gdmlhIFRBQiBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgZGlzYWJsZWRUYWJGaWx0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIGRlZmluZSBlbSBxdWFudG8gdGVtcG8gKGVtIG1pbGlzc2VndW5kb3MpLCBhZ3VhcmRhIHBhcmEgYWNpb25hciBvIGV2ZW50byBkZSBmaWx0cm8gYXDDs3MgY2FkYSBwcmVzc2lvbmFtZW50byBkZSB0ZWNsYS4gU2Vyw6EgdXRpbGl6YWRhIGFwZW5hcyBxdWFuZG8gaG91dmVyIHNlcnZpw6dvIChgcC1maWx0ZXItc2VydmljZWApLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgcXVlIG8gZXZlbnRvIGBwLWNoYW5nZWAgc8OzIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgb3UgcHJlc3Npb25hciBhIHRlY2xhIFwiRW50ZXJcIiBzb2JyZSB1bWEgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgY2hhbmdlT25FbnRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBxdWUgYSBsaXN0YSBkZWZpbmlkYSBuYSBwcm9wcmllZGFkZSBwLW9wdGlvbnMgc2Vyw6Egb3JkZW5hZGEgcGVsYSBkZXNjcmnDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgcG8tbXVsdGlzZWxlY3RcbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciBkbyBjYW1wbyBkZSBwZXNxdWlzYSBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKlxuICAgKiA+IENhc28gbyBtZXNtbyBuw6NvIHNlamEgaW5mb3JtYWRvLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgdHJhZHV6aWRvIGNvbSBiYXNlIG5vIGlkaW9tYSBkbyBuYXZlZ2Fkb3IgKHB0LCBlcyBlIGVuKS5cbiAgICovXG4gIHBsYWNlaG9sZGVyU2VhcmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFc2NvbmRlIG8gY2FtcG8gZGUgcGVzcXVpc2EgZXhpc3RlbnRlIGRlbnRybyBkbyBkcm9wZG93biBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgaGlkZVNlYXJjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGNhbXBvIFwiU2VsZWNpb25hciB0b2Rvc1wiIGRvIGBwby1tdWx0aXNlbGVjdGAgc2Vyw6EgZXNjb25kaWRvLlxuICAgKi9cbiAgaGlkZVNlbGVjdEFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIG9iamV0b3MgZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3MgbmEgYnVzY2EgYXZhbsOnYWRhLlxuICAgKlxuICAgKiA+IENhc28gbsOjbyBzZWphIHBhc3NhZG8gdW0gb2JqZXRvIG91IGVudMOjbyBlbGUgZXN0ZWphIGVtIGJyYW5jbyBvIGxpbmsgZGUgYnVzY2EgYXZhbsOnYWRhIGZpY2Fyw6EgZXNjb25kaWRvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIFVSTCBjb20gYnVzY2EgYXZhbsOnYWRhOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayZuaWNrbmFtZT1Ib21lbSUyMGRlJTIwRmVycm9gXG4gICAqXG4gICAqIENhc28gYWxndW0gcGFyw6JtZXRybyBzZWphIHVtYSBsaXN0YSwgYSBjb25jYXRlbmHDp8OjbyDDqSBmZWl0YSB1dGlsaXphbmRvIHbDrXJndWxhLiBFeGVtcGxvOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayxQZXRlciUyMFBhcmtlcixHb2hhbmBcbiAgICovXG4gIGFkdmFuY2VkRmlsdGVycz86IEFycmF5PFBvTG9va3VwQWR2YW5jZWRGaWx0ZXI+O1xuICAvKipcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBmb3LDp2FuZG8gbyBjb21wb25lbnRlIGEgcmVuZGVyaXphciB1bSBgcG8tc2VsZWN0YCBvdSBgcG8tcmFkaW8tZ3JvdXBgLlxuICAgKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VPcHRpb25Db21wb25lbnRFbnVtLnJhZGlvR3JvdXBcbiAgICogLSBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0uc2VsZWN0XG4gICAqXG4gICAqID5Fc3NhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhIGNhc28gc2VqYSB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAgZSBgb3B0aW9uc1NlcnZpY2VgLlxuICAgKi9cbiAgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZT86IEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBmZWNoYXIgbyBwb3BvdmVyIGRvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMgYXDDs3MgYWx0ZXJhciBhcyBjb2x1bmFzIHZpc8OtdmVpcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzKio6IGBwby1sb29rdXBgXG4gICAqL1xuICBjaGFuZ2VWaXNpYmxlQ29sdW1ucz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpcyoqOiBgcG8tbG9va3VwYFxuICAgKi9cbiAgY29sdW1uUmVzdG9yZU1hbmFnZXI/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogVVJMIHF1ZSBkZXZlIHNlciBmZWl0YSBhIHJlcXVpc2nDp8OjbyBjb20gb3MgYXJxdWl2b3Mgc2VsZWNpb25hZG9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHNlIG8gZW52aW8gZG8gYXJxdWl2byBzZXLDoSBhdXRvbcOhdGljbyBhbyBzZWxlY2lvbmFyIG8gbWVzbW8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgYXV0b1VwbG9hZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgZGlyZXTDs3Jpb3MgY29udGVuZG8gdW0gb3UgbWFpcyBhcnF1aXZvcyBwYXJhIGVudmlvLlxuICAgKlxuICAgKiA+IEEgaGFiaWxpdGHDp8OjbyBkZXN0YSBwcm9wcmllZGFkZSBzZSByZXN0cmluZ2UgYXBlbmFzIMOgIHNlbGXDp8OjbyBkZSBkaXJldMOzcmlvcy5cbiAgICpcbiAgICogPiBEZWZpbmnDp8OjbyBuw6NvIHN1cG9ydGFkYSBwZWxvIGJyb3dzZXIgKipJbnRlcm5ldCBFeHBsb3JlcioqLCB0b2RhdmlhIHNlcsOhIHBvc3PDrXZlbCBhIHNlbGXDp8OjbyBkZSBhcnF1aXZvcyBwYWRyw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV4aWJlIGEgw6FyZWEgb25kZSDDqSBwb3Nzw612ZWwgYXJyYXN0YXIgZSBzZWxlY2lvbmFyIG9zIGFycXVpdm9zLiBRdWFuZG8gZXN0aXZlciBkZWZpbmlkYSwgb21pdGUgbyBib3TDo28gcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3NcbiAgICogYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKiA+IFJlY29tZW5kYW1vcyB1dGlsaXphciBhcGVuYXMgdW0gYHBvLXVwbG9hZGAgY29tIGVzdGEgZnVuY2lvbmFsaWRhZGUgcG9yIHRlbGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZHJhZ0Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgZW0gKnBpeGVscyogYSBhbHR1cmEgZGEgw6FyZWEgb25kZSBwb2RlbSBzZXIgYXJyYXN0YWRvcyBvcyBhcnF1aXZvcy4gQSBhbHR1cmEgbcOtbmltYSBhY2VpdGEgw6kgYDE2MHB4YC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGZ1bmNpb25hIHNvbWVudGUgc2UgYSBwcm9wcmllZGFkZSBgcC1kcmFnLWRyb3BgIGVzdGl2ZXIgaGFiaWxpdGFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkcmFnRHJvcEhlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZWd1ZSBhIGRlZmluacOnw6NvIGRhIGludGVyZmFjZSBgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zYCxcbiAgICogcXVlIHBvc3NpYmlsaXRhIGRlZmluaXIgdGFtYW5obyBtw6F4aW1vL23DrW5pbW8gZSBleHRlbnPDo28gZG9zIGFycXVpdm9zIHBlcm1pdGlkb3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgcmVzdHJpY3Rpb25zPzogUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zO1xuXG4gIC8qKlxuICAgKiBOb21lIGRvIGNhbXBvIGRlIGZvcm11bMOhcmlvIHF1ZSBzZXLDoSBlbnZpYWRvIHBhcmEgbyBzZXJ2acOnbyBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHVybGAuXG4gICAqXG4gICAqID4gTyB2YWxvciBkZWZhdWx0IMOpIGBmaWxlc2BcbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBmb3JtRmllbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgY29udMOpbSBvcyBjYWJlw6dhbGhvcyBxdWUgc2Vyw6EgZW52aWFkbyBuYSByZXF1aXNpw6fDo28gZG9zIGFycXVpdm9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IH07XG5cbiAgLyoqXG4gICAqIE9jdWx0YSB2aXN1YWxtZW50ZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHJlc3RyacOnw7VlcyBwYXJhIG8gdXBsb2FkLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVSZXN0cmljdGlvbnNJbmZvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT21pdGUgbyBib3TDo28gZGUgc2VsZcOnw6NvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VsZWN0RmlsZXMoKWAgcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVNlbGVjdEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9taXRlIG8gYm90w6NvIGRlIGVudmlvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VuZEZpbGVzKClgIHBhcmEgZW52aW8gZG8ocykgYXJxdWl2byhzKSBzZWxlY2lvbmFkbyhzKS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlU2VuZEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9icmlnYXTDs3JpbyBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICovXG4gIHNob3dSZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV2ZW50byBzZXLDoSBkaXNwYXJhZG8gcXVhbmRvIG9jb3JyZXIgYWxndW0gZXJybyBubyBlbnZpbyBkbyBhcnF1aXZvLlxuICAgKiA+IFBvciBwYXLDom1ldHJvIHNlcsOhIHBhc3NhZG8gbyBvYmpldG8gZG8gcmV0b3JubyBxdWUgw6kgZG8gdGlwbyBgSHR0cEVycm9yUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uRXJyb3I/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRXZlbnRvIHNlcsOhIGRpc3BhcmFkbyBxdWFuZG8gbyBlbnZpbyBkbyBhcnF1aXZvIGZvciByZWFsaXphZG8gY29tIHN1Y2Vzc28uXG4gICAqID4gUG9yIHBhcsOibWV0cm8gc2Vyw6EgcGFzc2FkbyBvIG9iamV0byBkbyByZXRvcm5vIHF1ZSDDqSBkbyB0aXBvIGBIdHRwUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uU3VjY2Vzcz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgc2Vyw6EgZXhlY3V0YWRhIG5vIG1vbWVudG8gZGUgcmVhbGl6YXIgbyBlbnZpbyBkbyBhcnF1aXZvLFxuICAgKiBvbmRlIHNlcsOhIHBvc3PDrXZlbCBhZGljaW9uYXIgaW5mb3JtYcOnw7VlcyBhbyBwYXLDom1ldHJvIHF1ZSBzZXLDoSBlbnZpYWRvIG5hIHJlcXVpc2nDp8Ojby5cbiAgICogw4kgcGFzc2FkbyBwb3IgcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gYXJxdWl2byBlIGEgcHJvcHJpZWRhZGUgZGF0YSBuZXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciBpbmZvcm1hZG8gYWxndW0gZGFkbyxcbiAgICogcXVlIHNlcsOhIGVudmlhZG8gZW0gY29uanVudG8gY29tIG8gYXJxdWl2byBuYSByZXF1aXNpw6fDo28sIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogICBldmVudC5kYXRhID0ge2lkOiAnaWQgZG8gdXN1w6FyaW8nfTtcbiAgICogYGBgXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25VcGxvYWQ/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUG9DaGVja2JveEdyb3VwT3B0aW9uLFxuICBQb0NvbWJvRmlsdGVyLFxuICBQb0NvbWJvTGl0ZXJhbHMsXG4gIFBvRGF0ZXBpY2tlcklzb0Zvcm1hdCxcbiAgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyxcbiAgUG9Mb29rdXBGaWx0ZXIsXG4gIFBvTG9va3VwTGl0ZXJhbHMsXG4gIFBvTXVsdGlzZWxlY3RGaWx0ZXJNb2RlLFxuICBQb011bHRpc2VsZWN0TGl0ZXJhbHMsXG4gIFBvU3dpdGNoTGFiZWxQb3NpdGlvbixcbiAgUG9VcGxvYWRMaXRlcmFscyxcbiAgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zXG59IGZyb20gJy4uLy4uL3BvLWZpZWxkJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtYWR2YW5jZWQtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vcG8tZmllbGQvcG8tc2VsZWN0L3BvLXNlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcmNlQm9vbGVhbkNvbXBvbmVudEVudW0sIEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bSB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQtZm9yY2UtY29tcG9uZW50LmVudW0nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZmllbGQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvRHluYW1pY0Zvcm1Db21wb25lbnQsIFBvQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnRcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9EeW5hbWljRmllbGRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBJbnRlcmZhY2UgcGFyYSBkZWZpbmnDp8OjbyBkYXMgcHJvcHJpZWRhZGVzIGRvcyBjYW1wb3MgZGUgZW50cmFkYSBxdWUgc2Vyw6NvIGNyaWFkb3MgZGluYW1pY2FtZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQgZXh0ZW5kcyBQb0R5bmFtaWNGaWVsZCB7XG4gIC8qKlxuICAgKiBEZWZpbmUgYXMgY29sdW5hcyBwYXJhIHV0aWxpemHDp8OjbyBkYSBidXNjYSBhdmFuw6dhZGEuIFVzYWRhIHNvbWVudGUgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYHNlYXJjaFNlcnZpY2VgLFxuICAgKiBlc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBbYFBvTG9va3VwQ29sdW1uYF0oL2RvY3VtZW50YXRpb24vcG8tbG9va3VwKS5cbiAgICpcbiAgICogPiBDYXNvIHNlamFtIGluZm9ybWFkYXMgY29sdW5hcywgZGV2ZS1zZSBvYnJpZ2F0b3JpYW1lbnRlIGNvbnRlciBjb2x1bmFzIGRlZmluaWRhcyBjb21vICpsYWJlbCogZSAqdmFsdWUqIHBhcmEgdmFsb3Jlc1xuICAgKiBkZSB0ZWxhIGUgZG8gbW9kZWwgcmVzcGVjdGl2YW1lbnRlLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tbG9va3VwYCwgYHBvLWNoZWNrYm94LWdyb3VwYC5cbiAgICovXG4gIGNvbHVtbnM/OiBBcnJheTxQb0xvb2t1cENvbHVtbj4gfCBudW1iZXI7XG5cbiAgLyoqIERlZmluZSBhIG9icmlnYXRvcmllZGFkZSBkbyBjYW1wby4gKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IEEgaW5kaWNhw6fDo28gbsOjbyBzZXLDoSBleGliaWRhLCBzZTpcbiAgICogLSBPIGNhbXBvIGZvciBgcmVxdWlyZWRgLCBvdTtcbiAgICogLSBOw6NvIHBvc3N1aXIgYGhlbHBgIGUgYGxhYmVsYC5cbiAgICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTGlzdGEgZGUgb3DDp8O1ZXMgcXVlIHNlcsOjbyBleGliaWRvcyBlbSB1bSBjb21wb25lbnRlLCBwb2RlbmRvIHNlbGVjaW9uYXIgdW1hIG9ww6fDo28uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1zZWxlY3RgLCBgcG8tcmFkaW8tZ3JvdXBgLCBgcG8tY2hlY2tib3gtZ3JvdXBgLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKiAqL1xuICBvcHRpb25zPzpcbiAgICB8IEFycmF5PHN0cmluZz5cbiAgICB8IEFycmF5PFBvU2VsZWN0T3B0aW9uPlxuICAgIHwgQXJyYXk8UG9NdWx0aXNlbGVjdE9wdGlvbj5cbiAgICB8IEFycmF5PFBvQ2hlY2tib3hHcm91cE9wdGlvbj5cbiAgICB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgcXVlIG8gdXN1w6FyaW8gZmHDp2EgbcO6bHRpcGxhIHNlbGXDp8OjbyBkZW50cm8gZGEgbGlzdGEgZGUgb3DDp8O1ZXMuXG4gICAqL1xuICBvcHRpb25zTXVsdGk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGJ1c2NhciBvcyBpdGVucyBlIHByZWVuY2hlciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpbmFtaWNhbWVudGUuXG4gICAqICBQb2RlIHNlciBpbmZvcm1hZGEgdW1hIFVSTCBvdSB1bWEgaW5zdGFuY2lhIGRvIHNlcnZpw6dvIGJhc2VhZG8gZW0gUG9Db21ib0ZpbHRlci5cbiAgICogICoqSW1wb3J0YW50ZSoqXG4gICAqICA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogIFtndWlhIGRlIEFQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIG9wdGlvbnNTZXJ2aWNlPzogc3RyaW5nIHwgUG9Db21ib0ZpbHRlcjtcblxuICAvKipcbiAgICogU2VydmnDp28gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIHJlYWxpemFyIGEgYnVzY2EgYXZhbsOnYWRhLiBQb2RlIHNlciB1dGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYGNvbHVtbnNgLlxuICAgKiBQb2RlIHNlciBzZXIgaW5mb3JtYWRhIHVtYSBVUkwgb3UgdW1hIGluc3RhbmNpYSBkbyBzZXJ2acOnbyBiYXNlYWRvIGVtIFBvTG9va3VwRmlsdGVyLlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogPiBDYXNvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNTZXJ2aWNlYCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhLlxuICAgKiA+IFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAgICogW2d1aWEgZGUgQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgc2VhcmNoU2VydmljZT86IHN0cmluZyB8IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKlxuICAgKiBNw6FzY2FyYSBwYXJhIG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAuXG4gICAqID4gdGFtYsOpbSDDqSBhdHJpYnXDrWRvIGFvIHV0aWxpemFyIGEgcHJvcHJpZWRhZGUgYHR5cGU6IHRpbWVgLlxuICAgKi9cbiAgbWFzaz86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHF1ZSBvIHZhbG9yIGRvIGNvbXBvbmVudGUgc2Vyw6EgY29uZm9ybWUgZXNwZWNpZmljYWRvIG5hIG1hc2PDoXJhLiBPIHZhbG9yIHBhZHLDo28gw6kgYGZhbHNlYC5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWlucHV0YC5cbiAgICogPiB0YW1iw6ltIMOpIGF0cmlidcOtZG8gYW8gdXRpbGl6YXIgYSBwcm9wcmllZGFkZSBgdHlwZTogdGltZWAuXG4gICAqICovXG4gIG1hc2tGb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqIERlZmluZSBvIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBubyBpbsOtY2lvIGRvIGNhbXBvLlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkbyBub3MgY2FtcG9zOlxuICAgKiAtIElucHV0O1xuICAgKiAtIE51bWJlcjtcbiAgICogLSBEZWNpbWFsO1xuICAgKiAtIENvbWJvO1xuICAgKiAtIFBhc3N3b3JkO1xuICAgKlxuICAgKiA+IFZlamEgYSBkaXNwb25pYmlsaWRhZGUgZGUgw61jb25lcyBlbSBbYmlibGlvdGVjYSBkZSDDrWNvbmVzXShndWlkZXMvaWNvbnMpLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKiAgUXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNhc2FzIGRlY2ltYWlzLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgZGVjaW1hbHNMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqIFF1YW50aWRhZGUgbcOheGltYSBkZSBkw61naXRvcyBhbnRlcyBkbyBzZXBhcmFkb3IgZGVjaW1hbC4gTyB2YWxvciBtw6F4aW1vIHBlcm1pdGlkbyDDqSAxM1xuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgc8OzIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbyBgdHlwZWAgZm9yICpjdXJyZW5jeSogb3UgKmRlY2ltYWwqLlxuICAgKi9cbiAgdGhvdXNhbmRNYXhsZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2V4IHBhcmEgdmFsaWRhw6fDo28gZG8gY2FtcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1pbnB1dGAsIGBwby1wYXNzd29yZGAuXG4gICAqICovXG4gIHBhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOtbmltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKiAqL1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRhbWFuaG8gbcOheGltbyBkZSBjYXJhY3RlcmVzLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgLlxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNhYmlsaXRhIG8gY2FtcG8gY2FzbyBpbmZvcm1hciBvIHZhbG9yICp0cnVlKi4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBUZXh0byBkZSBhanVkYS4gKi9cbiAgaGVscD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciAqdHJ1ZSouICovXG4gIGJvb2xlYW5UcnVlPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yICpmYWxzZSouICovXG4gIGJvb2xlYW5GYWxzZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhIHNlIG8gYG1vZGVsYCByZWNlYmVyw6EgbyB2YWxvciBmb3JtYXRhZG8gcGVsYXMgcHJvcHJpZWRhZGVzIGBwLWxhYmVsLW9uYCBlIGBwLWxhYmVsLW9mZmAgb3VcbiAgICogYXBlbmFzIG8gdmFsb3IgcHVybyAoc2VtIGZvcm1hdGHDp8OjbykuXG4gICAqXG4gICAqIE8gdmFsb3IgcGFkcsOjbyDDqTogYGZhbHNlYC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGVzdMOhIGRpc3Bvbml2ZWwgIGFwZW5hcyBwYXJhIG8gYHN3aWN0aGAuXG4gICAqL1xuICBmb3JtYXRNb2RlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DoXhpbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICogKi9cbiAgbWF4VmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFZhbG9yIG3DrW5pbW8gYSBzZXIgaW5mb3JtYWRvIG5vIGNvbXBvbmVudGUsIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBxdWFuZG8gbyB0aXBvIGRlIGRhZG8gcG9yICpudW1iZXIqLCAqZGF0ZSogb3UgKmRhdGVUaW1lKi5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGBcbiAgICovXG4gIG1pblZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBRdWFudGlkYWRlIGRlIGxpbmhhcyBleGliaWRhcyBubyBgcG8tdGV4dGFyZWFgLiAqL1xuICByb3dzPzogbnVtYmVyO1xuXG4gIC8qKiBFc2NvbmRlIGEgaW5mb3JtYcOnw6NvIGVzdGlsbyAqcGFzc3dvcmQqLCBwb2RlIHNlciB1dGlsaXphZG8gcXVhbmRvIG8gdGlwbyBkZSBkYWRvIGZvciAqc3RyaW5nKi4gKi9cbiAgc2VjcmV0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRnVuw6fDo28gb3Ugc2VydmnDp28gcGFyYSB2YWxpZGFyIGFzICoqbXVkYW7Dp2FzIGRvIGNhbXBvKiouXG4gICAqXG4gICAqICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtICoqU3RyaW5nKio6IEVuZHBvaW50IHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtICoqRnVuY3Rpb24qKjogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBBbyBzZXIgZXhlY3V0YWRvLCBpcsOhIHJlY2ViZXIgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb20gbyBub21lIGRhIHByb3ByaWVkYWRlXG4gICAqIGFsdGVyYWRhIGUgbyBub3ZvIHZhbG9yLCBjb25mb3JtZSBhIGludGVyZmFjZSBgUG9EeW5hbWljRm9ybUZpZWxkQ2hhbmdlZGA6XG4gICAqXG4gICAqIGBgXG4gICAqIHsgcHJvcGVydHk6ICdwcm9wZXJ0eSBuYW1lJywgdmFsdWU6ICduZXcgdmFsdWUnIH1cbiAgICogYGBcbiAgICpcbiAgICogTyByZXRvcm5vIGRlc3RhIGZ1bsOnw6NvIGRldmUgc2VyIGRvIHRpcG8gW1BvRHluYW1pY0Zvcm1GaWVsZFZhbGlkYXRpb25dKGRvY3VtZW50YXRpb24vcG8tZHluYW1pYy1mb3JtI3BvLWR5bmFtaWMtZm9ybS1maWVsZC12YWxpZGF0aW9uKSxcbiAgICogb25kZSBvIHVzdcOhcmlvIHBvZGVyw6EgZGV0ZXJtaW5hciBhcyBub3ZhcyBwcm9wcmllZGFkZXMgZG8gY2FtcG8uXG4gICAqIFBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYFxuICAgKiBvbkNoYW5nZUZpZWxkKGNoYW5nZVZhbHVlKTogUG9EeW5hbWljRm9ybUZpZWxkVmFsaWRhdGlvbiB7XG4gICAqXG4gICAqIGlmIChjaGFuZ2VWYWx1ZS5wcm9wZXJ0eSA9PT0gJ2JpcnRoZGF5JyAmJiAhdGhpcy52YWxpZGF0ZSgnYmlydGhkYXknKSkge1xuICAgKiAgIHJldHVybiB7XG4gICAqICAgICB2YWx1ZTogJycsXG4gICAqICAgICBmaWVsZDogeyBwcm9wZXJ0eTogJ2JpcnRoZGF5JywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICogICAgIGZvY3VzOiB0cnVlXG4gICAqICAgfTtcbiAgICogfVxuICAgKiBgYFxuICAgKlxuICAgKiBQYXJhIHJlZmVyZW5jaWFyIGEgc3VhIGZ1bsOnw6NvIHV0aWxpemUgYSBwcm9wcmllZGFkZSBgYmluZGAsIHBvciBleGVtcGxvOlxuICAgKiBgYFxuICAgKiB7IHByb3BlcnR5OiAnc3RhdGUnLCBncmlkQ29sdW1uczogNiwgdmFsaWRhdGU6IHRoaXMubXlGdW5jdGlvbi5iaW5kKHRoaXMpIH1cbiAgICogYGBcbiAgICovXG4gIHZhbGlkYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgc2Vyw6EgZW52aWFkbyBjb21vIHBhcsOibWV0cm8gbmFzIHJlcXVpc2nDp8O1ZXMgZGUgYnVzY2EgdXNhZG9zIHBlbG9zIGNvbXBvbmVudGVzIGBwby1sb29rdXBgIGVcbiAgICogYHBvLWNvbWJvYC5cbiAgICpcbiAgICogUG9yIGV4ZW1wbG8sIHBhcmEgbyBwYXLDom1ldHJvIGB7IGFnZTogMjMgfWAgYSBVUkwgZGEgcmVxdWlzacOnw6NvIGZpY2FyaWE6XG4gICAqXG4gICAqIGBgXG4gICAqIHVybCArID9hZ2U9MjMmZmlsdGVyPVBldGVyXG4gICAqIGBgXG4gICAqL1xuICBwYXJhbXM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1lbnNhZ2VtIHF1ZSBzZXLDoSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBmaWNhciBpbnbDoWxpZG8uXG4gICAqXG4gICAqIE8gY2FtcG8gZmljYSBpbnbDoWxpZG8gcXVhbmRvIGFzIHNlZ3VpbnRlcyBwcm9wcmllZGFkZXMgbsOjbyBmb3JlbSByZXNwZWl0YWRhczpcbiAgICogIC0gcGF0dGVybjtcbiAgICogIC0gbWluVmFsdWU7XG4gICAqICAtIG1heFZhbHVlO1xuICAgKlxuICAgKiA+IEVzdGEgbWVuc2FnZW0gbsOjbyDDqSBhcHJlc2VudGFkYSBxdWFuZG8gbyBjYW1wbyBlc3RpdmVyIHZhemlvLCBtZXNtbyBxdWUgZWxlIHNlamEgcmVxdWVyaWRvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tZGF0ZXBpY2tlcmAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1wYXNzd29yZGAuXG4gICAqL1xuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdG8gZGUgZXhpYmnDp8OjbyBubyBjYW1wby5cbiAgICpcbiAgICogQW8gdXRpbGl6YXIgZXN0YSBwcm9wcmllZGFkZSBjb20gbyBgdHlwZWAgKlBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlKiBvdSAqUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKixcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIHBhcmEgZm9ybWF0YcOnw6NvIGRlIGV4aWJpw6fDo28gZGEgZGF0YTpcbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICpcbiAgICogLSBkZC9tbS95eXl5XG4gICAqIC0gbW0vZGQveXl5eVxuICAgKiAtIHl5eXkvbW0vZGRcbiAgICpcbiAgICpcbiAgICogVGFtYsOpbSBwb2RlLXNlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGNvbSBgc2VhcmNoU2VydmljZWAsIGluZm9ybWFuZG8gdW1hIGxpc3RhIGRlIHByb3ByaWVkYWRlcyBxdWUgc2Vyw6EgdXRpbGl6YWRvXG4gICAqIHBhcmEgZm9ybWF0YcOnw6NvIGRhIGV4aWJpw6fDo28gbm8gY2FtcG8sIHBvciBleGVtcGxvOiBbXCJpZFwiLCBcIm5hbWVcIl0uXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIGRlc2NyacOnw6NvIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGBsYWJlbGAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZExhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byByZXRvcm5hZG8gcXVlIHNlcsOhIHV0aWxpemFkbyBjb21vIHZhbG9yIGRvIGNhbXBvLlxuICAgKlxuICAgKiBPIHZhbG9yIHBhZHLDo28gw6k6IGB2YWx1ZWAuXG4gICAqXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciB1dGlsaXphZGEgZW0gY29uanVudG8gY29tOiBgb3B0aW9uc2AsIGBvcHRpb25zU2VydmljZWAgZSBgc2VhcmNoU2VydmljZWAuXG4gICAqL1xuICBmaWVsZFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hIGEgb3JkZW0gZGUgZXhpYmnDp8OjbyBkbyBjYW1wby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqXG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAxJywgb3JkZXI6IDIgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAyJywgb3JkZXI6IDEgfSxcbiAgICogICB7IHByb3BlcnR5OiAndGVzdCAzJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd0ZXN0IDQnLCBvcmRlcjogMyB9XG4gICAqIF07XG4gICAqIGBgXG4gICAqXG4gICAqIE5hIGV4aWJpw6fDo28gYSBvcmRlbSBmaWNhcsOhIGRlc3NhIGZvcm1hOlxuICAgKiBgYFxuICAgKiBbXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMicsIG9yZGVyOiAxIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMScsIG9yZGVyOiAyIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgNCcsIG9yZGVyOiAzIH0sXG4gICAqICAgeyBwcm9wZXJ0eTogJ3Rlc3QgMycgfVxuICAgKiBdO1xuICAgKiBgYFxuICAgKlxuICAgKiBTw7Mgc2Vyw6NvIGFjZWl0b3MgdmFsb3JlcyBjb20gbsO6bWVyb3MgaW50ZWlyb3MgbWFpb3JlcyBkbyBxdWUgemVyby5cbiAgICpcbiAgICogQ2FtcG9zIHNlbSBgb3JkZXJgIG91IGNvbSB2YWxvcmVzIG5lZ2F0aXZvcywgemVyYWRvcyBvdSBpbnbDoWxpZG9zXG4gICAqIHNlcsOjbyBvcyDDumx0aW1vcyBhIHNlcmVtIHJlbmRlcml6YWRvcyBlIHNlZ3VpcsOjbyBvIHBvc2ljaW9uYW1lbnRvIGRlbnRybyBkb1xuICAgKiBhcnJheS5cbiAgICovXG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIC8qKiBNZW5zYWdlbSBxdWUgc2Vyw6EgZXhpYmlkYSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIGEgbG9jYWxpZGFkZSBhIHNlciB1dGlsaXphZGEgbm8gY29tcG9uZW50ZS5cbiAgICogUG9yIHBhZHLDo28gbyB2YWxvciBzZXLDoSBjb25maWd1cmFkbyBzZWd1bmRvIGEgbyBtw7NkdWxvIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICpcbiAgICogRXhlbXBsbyBkZSB1dGlsaXphw6fDo286XG4gICAqIGBgXG4gICAqIFtcbiAgICogICB7IHByb3BlcnR5OiAnYmlydGhkYXknLCBsb2NhbGU6ICdlbicsIHR5cGU6ICdkYXRlJyB9LFxuICAgKiAgIHsgcHJvcGVydHk6ICd3YWdlJywgbG9jYWxlOiAncnUnLCB0eXBlOiAnY3VycmVuY3knIH1cbiAgICogXTtcbiAgICogYGBcbiAgICpcbiAgICogPiBQYXJhIHZlciBxdWFpcyBsaW5ndWFnZW5zIHN1cG9ydGFkYXMgYWNlc3NlIFtgSTE4bmBdKGRvY3VtZW50YXRpb24vcG8taTE4bilcbiAgICogPiBBIHByb3ByaWVkYWRlIHNlcsOhIHJlcGFzc2FkYSBwYXJhIG9zIGNvbXBvbmVudGVzIHF1ZSBzdXBvcnRhbSBhIG1lc21hLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPIGNvbnRyb2xlIHBhc3NhIGEgcGVybWl0aXIgYSBlbnRyYWRhIGRlIHVtIGludGVydmFsbyBhbyBpbnbDqXMgZGUgdW0gw7puaWNvIHZhbG9yLlxuICAgKlxuICAgKiA+IEF0dWFsbWVudGUgZXNzYSBwcm9wcmllZGFkZSBlc3TDoSBkaXNwb27DrXZlbCBhcGVuYXMgcGFyYSBvIHRpcG8gJ2RhdGUnIGUgJ2RhdGVUaW1lJy5cbiAgICovXG4gIHJhbmdlPzogYm9vbGVhbjtcblxuICAvKiogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgbGVpdHVyYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWRhdGVwaWNrZXJgLCBgcG8tZGF0ZXBpY2tlci1yYW5nZWAsIGBwby1pbnB1dGAsIGBwby1udW1iZXJgLCBgcG8tZGVjaW1hbGAsIGBwby1zZWxlY3RgLCBgcG8tdGV4dGFyZWFgLCBgcG8tcGFzc3dvcmRgXG4gICAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbcO6bHRpcGxvcyBpdGVucy5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1sb29rdXBgLCBgcG8tdXBsb2FkYFxuICAgKi9cbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuXG4gIC8qKiBTZSB2ZXJkYWRlaXJvLCBvIGNhbXBvIHJlY2ViZXLDoSB1bSBib3TDo28gcGFyYSBzZXIgbGltcG8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tY29tYm9gLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9wcmllZGFkZSBuYXRpdmEgYGF1dG9jb21wbGV0ZWAgZG8gY2FtcG8gY29tbyBvZmYuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzOioqIGBwby1kYXRlcGlja2VyYCwgYHBvLWRhdGVwaWNrZXItcmFuZ2VgLCBgcG8taW5wdXRgLCBgcG8tbnVtYmVyYCwgYHBvLWRlY2ltYWxgLCBgcG8tbG9va3VwYCwgYHBvLXBhc3N3b3JkYFxuICAgKi9cbiAgbm9BdXRvY29tcGxldGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvIGRvIFBvU3dpdGNoLlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBsYWJlbFBvc2l0aW9uPzogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIGVzY29uZGVyIGEgZnVuw6fDo28gZGUgZXNwaWFyIGEgc2VuaGEgZGlnaXRhZGEgbm8gYHBvLXBhc3N3b3JkYC5cbiAgICovXG4gIGhpZGVQYXNzd29yZFBlZWs/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQYWRyw6NvIGRlIGZvcm1hdGHDp8OjbyBwYXJhIHNhw61kYSBkbyBtb2RlbCwgaW5kZXBlbmRlbnRlbWVudGUgZG8gZm9ybWF0byBkZSBlbnRyYWRhLlxuICAgKlxuICAgKiA+IFZlamEgb3MgdmFsb3JlcyB2w6FsaWRvcyBubyBgZW51bVBvRGF0ZXBpY2tlcklzb0Zvcm1hdGAuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbDoqKiBwby1kYXRlcGlja2VyXG4gICAqL1xuICBpc29Gb3JtYXQ/OiBQb0RhdGVwaWNrZXJJc29Gb3JtYXQ7XG5cbiAgLyoqXG4gICAqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIHBhcmEgb3Mgc2VndWludGVzIGNvbXBvbmVudGVzOiBgcG8tbG9va3VwYCwgYHBvLW11bHRpc2VsZWN0YCwgYHBvLWNvbWJvYCBlIGBwby1kYXRlcGlja2VyLXJhbmdlYC5cbiAgICpcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvIFBvSTE4blNlcnZpY2Ugb3UgZG8gYnJvd3Nlci5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWxvb2t1cGAsIGBwby1tdWx0aXNlbGVjdGAsIGBwby1jb21ib2AsIGBwby1kYXRlcGlja2VyLXJhbmdlYFxuICAgKi9cbiAgbGl0ZXJhbHM/OiBQb0xvb2t1cExpdGVyYWxzIHwgUG9NdWx0aXNlbGVjdExpdGVyYWxzIHwgUG9Db21ib0xpdGVyYWxzIHwgUG9EYXRlcGlja2VyUmFuZ2VMaXRlcmFscyB8IFBvVXBsb2FkTGl0ZXJhbHM7XG5cbiAgLyoqXG4gICAqIFNlIHZlcmRhZGVpcm8gYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBvIGNvbWJvIG91IGxvb2t1cCwgYW8gY2hlZ2FyIGFvIGZpbSBkYSB0YWJlbGEgZXhlY3V0YXLDoSBub3ZhIGJ1c2NhIGRvcyBkYWRvcyBjb25mb3JtZSBwYWdpbmHDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHBlcmNlbnR1YWwgbmVjZXNzw6FyaW8gcGFyYSBkaXNwYXJhciBvIGV2ZW50byBzaG93LW1vcmUsIHF1ZSDDqSByZXNwb25zw6F2ZWwgcG9yIGNhcnJlZ2FyIG1haXMgZGFkb3Mgbm8gY29tYm8uIENhc28gbyB2YWxvciBzZWphIG1haW9yIHF1ZSAxMDAgb3UgbWVub3IgcXVlIDAsIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSAxMDAlLlxuICAgKiAqKkV4ZW1wbG9zKipcbiAgICogYHsgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogODAgfWA6IFF1YW5kbyBhdGluZ2lyIDgwJSBkbyBzY3JvbGwgZG8gY29tYm8sIG8gc2hvdy1tb3JlIHNlcsOhIGRpc3BhcmFkby5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsOioqIGBwby1jb21ib2AuXG4gICAqL1xuICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcXVlIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgc2Vyw6EgYXV0byBhanVzdMOhdmVsLCBwb3NzdWluZG8gdW1hIGFsdHVyYSBtaW5pbWEgcG9yw6ltIGEgYWx0dXJhIG3DoXhpbWEgc2Vyw6EgZGUgYWNvcmRvIGNvbSBvIG7Dum1lcm8gZGUgaXRlbnMgc2VsZWNpb25hZG9zIGUgYSBleHRlbnPDo28gZG9zIG1lc21vcywgbWFudGVuZG8tb3Mgc2VtcHJlIHZpc8OtdmVpcy5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YCwgYHBvLWxvb2t1cGAuXG4gICAqL1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW50ZXJ2YWxvIHV0aWxpemFkbyBubyBgcG8tbnVtYmVyYC5cbiAgICovXG4gIHN0ZXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIG1vZG8gZGUgcGVzcXVpc2EgdXRpbGl6YWRvIG5vIGZpbHRybyBkYSBsaXN0YSBkZSBzZWxlw6fDo286IGBzdGFydHNXaXRoYCwgYGNvbnRhaW5zYCBvdSBgZW5kc1dpdGhgLlxuICAgKiA+IFF1YW5kbyB1dGlsaXphciBhIHByb3ByaWVkYWRlIHAtZmlsdGVyLXNlcnZpY2UgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSBpZ25vcmFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLW11bHRpc2VsZWN0YC5cbiAgICovXG4gIGZpbHRlck1vZGU/OiBQb011bHRpc2VsZWN0RmlsdGVyTW9kZTtcblxuICAvKipcbiAgICogVmFsb3IgbcOtbmltbyBkZSBjYXJhY3RlcmVzIHBhcmEgcmVhbGl6YXIgbyBmaWx0cm8gbm8gc2VydmnDp28gZG8gYHBvLWNvbWJvYC5cbiAgICovXG4gIGZpbHRlck1pbmxlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzYWJpbGl0YSBvIGZpbHRybyBpbmljaWFsIG5vIHNlcnZpw6dvIGRvIGBwby1jb21ib2AsIHF1ZSDDqSBleGVjdXRhZG8gbm8gcHJpbWVpcm8gY2xpcXVlIG5vIGNhbXBvLlxuICAgKi9cbiAgZGlzYWJsZWRJbml0RmlsdGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2UgdmVyZGFkZWlybywgZGVzYWJpbGl0YXLDoSBhIGJ1c2NhIGRlIHVtIGl0ZW0gdmlhIFRBQiBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgZGlzYWJsZWRUYWJGaWx0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIGRlZmluZSBlbSBxdWFudG8gdGVtcG8gKGVtIG1pbGlzc2VndW5kb3MpLCBhZ3VhcmRhIHBhcmEgYWNpb25hciBvIGV2ZW50byBkZSBmaWx0cm8gYXDDs3MgY2FkYSBwcmVzc2lvbmFtZW50byBkZSB0ZWNsYS4gU2Vyw6EgdXRpbGl6YWRhIGFwZW5hcyBxdWFuZG8gaG91dmVyIHNlcnZpw6dvIChgcC1maWx0ZXItc2VydmljZWApLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpczoqKiBgcG8tY29tYm9gLCBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgcXVlIG8gZXZlbnRvIGBwLWNoYW5nZWAgc8OzIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgb3UgcHJlc3Npb25hciBhIHRlY2xhIFwiRW50ZXJcIiBzb2JyZSB1bWEgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBgcG8tY29tYm9gLlxuICAgKi9cbiAgY2hhbmdlT25FbnRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBxdWUgYSBsaXN0YSBkZWZpbmlkYSBuYSBwcm9wcmllZGFkZSBwLW9wdGlvbnMgc2Vyw6Egb3JkZW5hZGEgcGVsYSBkZXNjcmnDp8Ojby5cbiAgICpcbiAgICogKipDb21wb25lbnRlcyBjb21wYXTDrXZlaXM6KiogYHBvLWNvbWJvYCwgcG8tbXVsdGlzZWxlY3RcbiAgICovXG4gIHNvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciBkbyBjYW1wbyBkZSBwZXNxdWlzYSBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKlxuICAgKiA+IENhc28gbyBtZXNtbyBuw6NvIHNlamEgaW5mb3JtYWRvLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgdHJhZHV6aWRvIGNvbSBiYXNlIG5vIGlkaW9tYSBkbyBuYXZlZ2Fkb3IgKHB0LCBlcyBlIGVuKS5cbiAgICovXG4gIHBsYWNlaG9sZGVyU2VhcmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFc2NvbmRlIG8gY2FtcG8gZGUgcGVzcXVpc2EgZXhpc3RlbnRlIGRlbnRybyBkbyBkcm9wZG93biBkbyBgcG8tbXVsdGlzZWxlY3RgLlxuICAgKi9cbiAgaGlkZVNlYXJjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYSBzZSBvIGNhbXBvIFwiU2VsZWNpb25hciB0b2Rvc1wiIGRvIGBwby1tdWx0aXNlbGVjdGAgc2Vyw6EgZXNjb25kaWRvLlxuICAgKi9cbiAgaGlkZVNlbGVjdEFsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIG9iamV0b3MgZG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3MgbmEgYnVzY2EgYXZhbsOnYWRhLlxuICAgKlxuICAgKiA+IENhc28gbsOjbyBzZWphIHBhc3NhZG8gdW0gb2JqZXRvIG91IGVudMOjbyBlbGUgZXN0ZWphIGVtIGJyYW5jbyBvIGxpbmsgZGUgYnVzY2EgYXZhbsOnYWRhIGZpY2Fyw6EgZXNjb25kaWRvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIFVSTCBjb20gYnVzY2EgYXZhbsOnYWRhOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayZuaWNrbmFtZT1Ib21lbSUyMGRlJTIwRmVycm9gXG4gICAqXG4gICAqIENhc28gYWxndW0gcGFyw6JtZXRybyBzZWphIHVtYSBsaXN0YSwgYSBjb25jYXRlbmHDp8OjbyDDqSBmZWl0YSB1dGlsaXphbmRvIHbDrXJndWxhLiBFeGVtcGxvOlxuICAgKlxuICAgKiBgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0yMCZuYW1lPVRvbnklMjBTdGFyayxQZXRlciUyMFBhcmtlcixHb2hhbmBcbiAgICovXG4gIGFkdmFuY2VkRmlsdGVycz86IEFycmF5PFBvTG9va3VwQWR2YW5jZWRGaWx0ZXI+O1xuXG4gIC8qKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bS5zd2l0Y2hcbiAgICogLSBGb3JjZUJvb2xlYW5Db21wb25lbnRFbnVtLmNoZWNrYm94XG4gICAqXG4gICAqL1xuICBmb3JjZUJvb2xlYW5Db21wb25lbnRUeXBlPzogRm9yY2VCb29sZWFuQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogcG9kZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIHByb3ByaWVkYWRlIGBvcHRpb25zYCBmb3LDp2FuZG8gbyBjb21wb25lbnRlIGEgcmVuZGVyaXphciB1bSBgcG8tc2VsZWN0YCBvdSBgcG8tcmFkaW8tZ3JvdXBgLlxuICAgKlxuICAgKiBWYWxvcmVzIGFjZWl0b3M6XG4gICAqIC0gRm9yY2VPcHRpb25Db21wb25lbnRFbnVtLnJhZGlvR3JvdXBcbiAgICogLSBGb3JjZU9wdGlvbkNvbXBvbmVudEVudW0uc2VsZWN0XG4gICAqXG4gICAqID5Fc3NhIHByb3ByaWVkYWRlIHNlcsOhIGlnbm9yYWRhIGNhc28gc2VqYSB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIGEgcHJvcHJpZWRhZGUgYG9wdGlvbnNNdWx0aWAgZSBgb3B0aW9uc1NlcnZpY2VgLlxuICAgKi9cbiAgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZT86IEZvcmNlT3B0aW9uQ29tcG9uZW50RW51bTtcblxuICAvKipcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBmZWNoYXIgbyBwb3BvdmVyIGRvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMgYXDDs3MgYWx0ZXJhciBhcyBjb2x1bmFzIHZpc8OtdmVpcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZXMgY29tcGF0w612ZWlzKio6IGBwby1sb29rdXBgXG4gICAqL1xuICBjaGFuZ2VWaXNpYmxlQ29sdW1ucz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGVzIGNvbXBhdMOtdmVpcyoqOiBgcG8tbG9va3VwYFxuICAgKi9cbiAgY29sdW1uUmVzdG9yZU1hbmFnZXI/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogVVJMIHF1ZSBkZXZlIHNlciBmZWl0YSBhIHJlcXVpc2nDp8OjbyBjb20gb3MgYXJxdWl2b3Mgc2VsZWNpb25hZG9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHNlIG8gZW52aW8gZG8gYXJxdWl2byBzZXLDoSBhdXRvbcOhdGljbyBhbyBzZWxlY2lvbmFyIG8gbWVzbW8uXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgYXV0b1VwbG9hZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgZGlyZXTDs3Jpb3MgY29udGVuZG8gdW0gb3UgbWFpcyBhcnF1aXZvcyBwYXJhIGVudmlvLlxuICAgKlxuICAgKiA+IEEgaGFiaWxpdGHDp8OjbyBkZXN0YSBwcm9wcmllZGFkZSBzZSByZXN0cmluZ2UgYXBlbmFzIMOgIHNlbGXDp8OjbyBkZSBkaXJldMOzcmlvcy5cbiAgICpcbiAgICogPiBEZWZpbmnDp8OjbyBuw6NvIHN1cG9ydGFkYSBwZWxvIGJyb3dzZXIgKipJbnRlcm5ldCBFeHBsb3JlcioqLCB0b2RhdmlhIHNlcsOhIHBvc3PDrXZlbCBhIHNlbGXDp8OjbyBkZSBhcnF1aXZvcyBwYWRyw6NvLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV4aWJlIGEgw6FyZWEgb25kZSDDqSBwb3Nzw612ZWwgYXJyYXN0YXIgZSBzZWxlY2lvbmFyIG9zIGFycXVpdm9zLiBRdWFuZG8gZXN0aXZlciBkZWZpbmlkYSwgb21pdGUgbyBib3TDo28gcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3NcbiAgICogYXV0b21hdGljYW1lbnRlLlxuICAgKlxuICAgKiA+IFJlY29tZW5kYW1vcyB1dGlsaXphciBhcGVuYXMgdW0gYHBvLXVwbG9hZGAgY29tIGVzdGEgZnVuY2lvbmFsaWRhZGUgcG9yIHRlbGEuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgZHJhZ0Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgZW0gKnBpeGVscyogYSBhbHR1cmEgZGEgw6FyZWEgb25kZSBwb2RlbSBzZXIgYXJyYXN0YWRvcyBvcyBhcnF1aXZvcy4gQSBhbHR1cmEgbcOtbmltYSBhY2VpdGEgw6kgYDE2MHB4YC5cbiAgICpcbiAgICogPiBFc3RhIHByb3ByaWVkYWRlIGZ1bmNpb25hIHNvbWVudGUgc2UgYSBwcm9wcmllZGFkZSBgcC1kcmFnLWRyb3BgIGVzdGl2ZXIgaGFiaWxpdGFkYS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBkcmFnRHJvcEhlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogT2JqZXRvIHF1ZSBzZWd1ZSBhIGRlZmluacOnw6NvIGRhIGludGVyZmFjZSBgUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zYCxcbiAgICogcXVlIHBvc3NpYmlsaXRhIGRlZmluaXIgdGFtYW5obyBtw6F4aW1vL23DrW5pbW8gZSBleHRlbnPDo28gZG9zIGFycXVpdm9zIHBlcm1pdGlkb3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgcmVzdHJpY3Rpb25zPzogUG9VcGxvYWRGaWxlUmVzdHJpY3Rpb25zO1xuXG4gIC8qKlxuICAgKiBOb21lIGRvIGNhbXBvIGRlIGZvcm11bMOhcmlvIHF1ZSBzZXLDoSBlbnZpYWRvIHBhcmEgbyBzZXJ2acOnbyBpbmZvcm1hZG8gbmEgcHJvcHJpZWRhZGUgYHVybGAuXG4gICAqXG4gICAqID4gTyB2YWxvciBkZWZhdWx0IMOpIGBmaWxlc2BcbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBmb3JtRmllbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9iamV0byBxdWUgY29udMOpbSBvcyBjYWJlw6dhbGhvcyBxdWUgc2Vyw6EgZW52aWFkbyBuYSByZXF1aXNpw6fDo28gZG9zIGFycXVpdm9zLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IH07XG5cbiAgLyoqXG4gICAqIE9jdWx0YSB2aXN1YWxtZW50ZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHJlc3RyacOnw7VlcyBwYXJhIG8gdXBsb2FkLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIGhpZGVSZXN0cmljdGlvbnNJbmZvPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT21pdGUgbyBib3TDo28gZGUgc2VsZcOnw6NvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VsZWN0RmlsZXMoKWAgcGFyYSBzZWxlw6fDo28gZGUgYXJxdWl2b3MuXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgaGlkZVNlbGVjdEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9taXRlIG8gYm90w6NvIGRlIGVudmlvIGRlIGFycXVpdm9zLlxuICAgKlxuICAgKiA+IENhc28gbyB2YWxvciBkZWZpbmlkbyBzZWphIGB0cnVlYCwgY2FiZXLDoSBhbyBkZXNlbnZvbHZlZG9yIGEgcmVzcG9uc2FiaWxpZGFkZVxuICAgKiBwZWxhIGNoYW1hZGEgZG8gbcOpdG9kbyBgc2VuZEZpbGVzKClgIHBhcmEgZW52aW8gZG8ocykgYXJxdWl2byhzKSBzZWxlY2lvbmFkbyhzKS5cbiAgICpcbiAgICogKipDb21wb25lbnRlIGNvbXBhdMOtdmVsKio6IGBwby11cGxvYWRgXG4gICAqL1xuICBoaWRlU2VuZEJ1dHRvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9icmlnYXTDs3JpbyBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICovXG4gIHNob3dSZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV2ZW50byBzZXLDoSBkaXNwYXJhZG8gcXVhbmRvIG9jb3JyZXIgYWxndW0gZXJybyBubyBlbnZpbyBkbyBhcnF1aXZvLlxuICAgKiA+IFBvciBwYXLDom1ldHJvIHNlcsOhIHBhc3NhZG8gbyBvYmpldG8gZG8gcmV0b3JubyBxdWUgw6kgZG8gdGlwbyBgSHR0cEVycm9yUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uRXJyb3I/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRXZlbnRvIHNlcsOhIGRpc3BhcmFkbyBxdWFuZG8gbyBlbnZpbyBkbyBhcnF1aXZvIGZvciByZWFsaXphZG8gY29tIHN1Y2Vzc28uXG4gICAqID4gUG9yIHBhcsOibWV0cm8gc2Vyw6EgcGFzc2FkbyBvIG9iamV0byBkbyByZXRvcm5vIHF1ZSDDqSBkbyB0aXBvIGBIdHRwUmVzcG9uc2VgLlxuICAgKlxuICAgKiAqKkNvbXBvbmVudGUgY29tcGF0w612ZWwqKjogYHBvLXVwbG9hZGBcbiAgICovXG4gIG9uU3VjY2Vzcz86IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgc2Vyw6EgZXhlY3V0YWRhIG5vIG1vbWVudG8gZGUgcmVhbGl6YXIgbyBlbnZpbyBkbyBhcnF1aXZvLFxuICAgKiBvbmRlIHNlcsOhIHBvc3PDrXZlbCBhZGljaW9uYXIgaW5mb3JtYcOnw7VlcyBhbyBwYXLDom1ldHJvIHF1ZSBzZXLDoSBlbnZpYWRvIG5hIHJlcXVpc2nDp8Ojby5cbiAgICogw4kgcGFzc2FkbyBwb3IgcGFyw6JtZXRybyB1bSBvYmpldG8gY29tIG8gYXJxdWl2byBlIGEgcHJvcHJpZWRhZGUgZGF0YSBuZXN0YSBwcm9wcmllZGFkZSBwb2RlIHNlciBpbmZvcm1hZG8gYWxndW0gZGFkbyxcbiAgICogcXVlIHNlcsOhIGVudmlhZG8gZW0gY29uanVudG8gY29tIG8gYXJxdWl2byBuYSByZXF1aXNpw6fDo28sIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogICBldmVudC5kYXRhID0ge2lkOiAnaWQgZG8gdXN1w6FyaW8nfTtcbiAgICogYGBgXG4gICAqXG4gICAqICoqQ29tcG9uZW50ZSBjb21wYXTDrXZlbCoqOiBgcG8tdXBsb2FkYFxuICAgKi9cbiAgb25VcGxvYWQ/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
|
|
@@ -108,7 +108,11 @@ export class PoDynamicFormFieldsBaseComponent {
|
|
|
108
108
|
// recupera o componente de acordo com algumas regras do field.
|
|
109
109
|
getComponentControl(field = {}) {
|
|
110
110
|
const type = field && field.type ? field.type.toLocaleLowerCase() : 'string';
|
|
111
|
-
const
|
|
111
|
+
const { forceBooleanComponentType } = field;
|
|
112
|
+
const forceOptionComponent = this.verifyForceOptionComponent(field);
|
|
113
|
+
if (forceBooleanComponentType) {
|
|
114
|
+
return forceBooleanComponentType;
|
|
115
|
+
}
|
|
112
116
|
if (forceOptionComponent) {
|
|
113
117
|
const { forceOptionsComponentType } = field;
|
|
114
118
|
return forceOptionsComponentType;
|
|
@@ -203,7 +207,7 @@ export class PoDynamicFormFieldsBaseComponent {
|
|
|
203
207
|
const { url, type } = field;
|
|
204
208
|
return url && type === 'upload';
|
|
205
209
|
}
|
|
206
|
-
|
|
210
|
+
verifyForceOptionComponent(field) {
|
|
207
211
|
const { optionsMulti, optionsService, forceOptionsComponentType } = field;
|
|
208
212
|
if (forceOptionsComponentType && !optionsMulti && !optionsService) {
|
|
209
213
|
return true;
|
|
@@ -257,4 +261,4 @@ export class PoDynamicFormFieldsBaseComponent {
|
|
|
257
261
|
type: Input,
|
|
258
262
|
args: ['p-validate-fields']
|
|
259
263
|
}] }); })();
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBT3RFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFnRHZCO0lBL0NHLFNBQVMsQ0FBVTtJQUVoQixZQUFZLENBQVU7SUFFM0IsUUFBUSxDQUFxQjtJQUV2QixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV4QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVqRSwrS0FBK0s7SUFDckosV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbEMsZUFBZSxDQUFVO0lBRXZELGFBQWEsR0FBc0MsRUFBRSxDQUFDO0lBRTlDLE9BQU8sQ0FBNEI7SUFDbkMsZUFBZSxDQUFnQjtJQUMvQixNQUFNLEdBQVMsRUFBRSxDQUFDO0lBRTFCLHFHQUFxRztJQUNyRyxJQUF1QixNQUFNLENBQUMsS0FBZ0M7UUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsSUFBc0IsS0FBSyxDQUFDLEtBQVU7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBZ0MsY0FBYyxDQUFDLEtBQW9CO1FBQ2pFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUVwRCxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVM7UUFDeEIsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCwyREFBMkQ7SUFDakQsZ0JBQWdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FDYiwrQkFBK0IsS0FBSyxDQUFDLFFBQVEsa0RBQWtELENBQ2hHLENBQUM7Z0JBQ0YsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQywrREFBK0QsQ0FBQyxDQUFDO2dCQUNqRixPQUFPO2FBQ1I7WUFFRCxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpRkFBaUY7SUFDekUsY0FBYyxDQUFDLE9BQW1CO1FBQ3hDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBRTlFLElBQUksaUJBQWlCLEVBQUU7WUFDckIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELHVHQUF1RztJQUMvRixXQUFXLENBQUMsS0FBeUI7UUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRTdFLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUMxQyxLQUFLLENBQUMsV0FBVyxFQUNqQixLQUFLLENBQUMsYUFBYSxFQUNuQjtZQUNFLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYTtZQUMzQixNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQzNCLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYTtTQUM1QixFQUNEO1lBQ0UsUUFBUSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQy9CLFFBQVEsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUMvQixRQUFRLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDL0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxlQUFlO1NBQ2hDLEVBQ0Q7WUFDRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVTtZQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDekIsQ0FDRixDQUFDO1FBRUYsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ25ELGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDOUQsR0FBRyxLQUFLO1lBQ1IsY0FBYztZQUNkLE9BQU87WUFDUCxLQUFLO1lBQ0wsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWlDLEVBQUUsUUFBZ0I7UUFDeEUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsK0RBQStEO0lBQ3ZELG1CQUFtQixDQUFDLFFBQWlDLEVBQUU7UUFDN0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRTdFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsTUFBTSxFQUFFLHlCQUF5QixFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQzVDLE9BQU8seUJBQXlCLENBQUM7U0FDbEM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQ2xGLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25DLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO2FBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzRCxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0csT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RCxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO1lBRW5DLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUF5QjtRQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQXlCO1FBQy9DLE1BQU0sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV4RCxPQUFPLENBQUMsY0FBYyxJQUFJLFlBQVksSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBeUI7UUFDdkMsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVqQyxPQUFPLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQXlCLEVBQUUsSUFBWTtRQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hGLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBVztRQUNoQyxPQUFPLE1BQU0sSUFBcUIsTUFBTyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQVc7UUFDL0IsT0FBTyxNQUFNLElBQW9CLE1BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBeUI7UUFDeEMsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVoQyxPQUFPLENBQUMsQ0FBQyxhQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQXlCO1FBQzdDLE1BQU0sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV4RCxPQUFPLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQXlCLEVBQUUsSUFBWTtRQUMxRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzlFLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBeUI7UUFDMUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV6QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQXlCO1FBQzVDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXhDLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQXlCO1FBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRTVCLE9BQU8sR0FBRyxJQUFJLElBQUksS0FBSyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVPLDBCQUEwQixDQUFDLEtBQXlCO1FBQzFELE1BQU0sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRTFFLElBQUkseUJBQXlCLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUF5QjtRQUN4QyxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV4QyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUF5QjtRQUMxQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXZCLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzswRkE3UVUsZ0NBQWdDOzZEQUFoQyxnQ0FBZ0M7O3VGQUFoQyxnQ0FBZ0M7Y0FENUMsU0FBUztnRUFFZSxTQUFTO2tCQUEvQixLQUFLO21CQUFDLGNBQWM7WUFFSyxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQjtZQUVILFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVRLFlBQVk7a0JBQXRDLE1BQU07bUJBQUMsaUJBQWlCO1lBRUMsWUFBWTtrQkFBckMsTUFBTTttQkFBQyxnQkFBZ0I7WUFHRSxXQUFXO2tCQUFwQyxNQUFNO21CQUFDLGdCQUFnQjtZQUVNLGVBQWU7a0JBQTVDLEtBQUs7bUJBQUMscUJBQXFCO1lBU0wsTUFBTTtrQkFBNUIsS0FBSzttQkFBQyxVQUFVO1lBU0ssS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBUWdCLGNBQWM7a0JBQTdDLEtBQUs7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiwgc29ydEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBnZXRHcmlkQ29sdW1uc0NsYXNzZXMsIGlzVmlzaWJsZUZpZWxkIH0gZnJvbSAnLi4vLi4vcG8tZHluYW1pYy51dGlsJztcbmltcG9ydCB7IFBvRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL3BvLWR5bmFtaWMtZmllbGQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL3BvLWR5bmFtaWMtZm9ybS1maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkSW50ZXJuYWwgfSBmcm9tICcuL3BvLWR5bmFtaWMtZm9ybS1maWVsZC1pbnRlcm5hbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Db21ib0ZpbHRlciB9IGZyb20gJy4uLy4uLy4uL3BvLWZpZWxkL3BvLWNvbWJvL2ludGVyZmFjZXMvcG8tY29tYm8tZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL3BvLWZpZWxkL3BvLWxvb2t1cC9pbnRlcmZhY2VzL3BvLWxvb2t1cC1maWx0ZXIuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9EeW5hbWljRm9ybUZpZWxkc0Jhc2VDb21wb25lbnQge1xuICBASW5wdXQoJ3AtYXV0by1mb2N1cycpIGF1dG9Gb2N1cz86IHN0cmluZztcblxuICBASW5wdXQoJ3AtZGlzYWJsZWQtZm9ybScpIGRpc2FibGVkRm9ybTogYm9vbGVhbjtcblxuICBASW5wdXQoJ3AtdmFsaWRhdGUnKSB2YWxpZGF0ZT86IHN0cmluZyB8IEZ1bmN0aW9uO1xuXG4gIEBPdXRwdXQoJ3AtZm9ybS12YWxpZGF0ZScpIGZvcm1WYWxpZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoJ3AtZmllbGRzQ2hhbmdlJykgZmllbGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLy8gRXZlbnRvIGRpc3BhcmFkbyBzZSBleGlzdGlyIG9wdGlvbnNTZXJ2aWNlIGVtIHZpc2libGVGaWVsZC4gTmVjZXNzw6FyaW8gcmVzZ2F0YXIgcmVmZXLDqm5jaWEgZG8gb2JqZXRvIHNlbGVjaW9uYWRvIHBhcmEgcXVhbmRvIHNlIHRyYXRhciBkZSByZWNlYmltZW50byBkZSBvcMOnw7VlcyB2aWEgc2VydmnDp28uXG4gIEBPdXRwdXQoJ3Atb2JqZWN0LXZhbHVlJykgb2JqZWN0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoJ3AtdmFsaWRhdGUtb24taW5wdXQnKSB2YWxpZGF0ZU9uSW5wdXQ6IGJvb2xlYW47XG5cbiAgdmlzaWJsZUZpZWxkczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkSW50ZXJuYWw+ID0gW107XG5cbiAgcHJpdmF0ZSBfZmllbGRzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+O1xuICBwcml2YXRlIF92YWxpZGF0ZUZpZWxkczogQXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSBfdmFsdWU/OiBhbnkgPSB7fTtcblxuICAvLyBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBQb0R5bmFtaWNGb3JtRmllbGQsIHF1ZSBzZXLDo28gZXhpYmlkb3Mgbm8gY29tcG9uZW50ZS5cbiAgQElucHV0KCdwLWZpZWxkcycpIHNldCBmaWVsZHModmFsdWU6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4pIHtcbiAgICB0aGlzLl9maWVsZHMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IFsuLi52YWx1ZV0gOiBbXTtcbiAgfVxuXG4gIGdldCBmaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuXG4gIC8vIHZhbG9yIHF1ZSBzZXLDoSB1dGlsaXphZG8gcGFyYSBpbmljaWFyIHZhbG9yIG5vIGNvbXBvbmVudGUuXG4gIEBJbnB1dCgncC12YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSAmJiBpc1R5cGVvZih2YWx1ZSwgJ29iamVjdCcpID8gdmFsdWUgOiB7fTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ3AtdmFsaWRhdGUtZmllbGRzJykgc2V0IHZhbGlkYXRlRmllbGRzKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgdGhpcy5fdmFsaWRhdGVGaWVsZHMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IFsuLi52YWx1ZV0gOiBbXTtcbiAgfVxuXG4gIGdldCB2YWxpZGF0ZUZpZWxkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGVGaWVsZHM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpdGxlQ2FzZVBpcGU6IFRpdGxlQ2FzZVBpcGUpIHt9XG5cbiAgY29tcGFyZVRvKHZhbHVlLCBjb21wYXJlVG8pIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IGNvbXBhcmVUbztcbiAgfVxuXG4gIC8vIHJldG9ybmEgdW0gYXJyYXkgY29tIG9zIG9iamV0b3MgY29uZmlndXJhZG9zIGUgdmlzw612ZWlzLlxuICBwcm90ZWN0ZWQgZ2V0VmlzaWJsZUZpZWxkcygpIHtcbiAgICBjb25zdCB2aXNpYmxlRmllbGRzID0gW107XG5cbiAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIGlmICh0aGlzLmV4aXN0c1Byb3BlcnR5KHZpc2libGVGaWVsZHMsIGZpZWxkLnByb3BlcnR5KSkge1xuICAgICAgICB0aGlzLnByaW50RXJyb3IoXG4gICAgICAgICAgYFwicG8tZHluYW1pYy1mb3JtXCIgcHJvcGVydHkgXCIke2ZpZWxkLnByb3BlcnR5fVwiIGVzdMOhIGR1cGxpY2Fkby4gSW50ZXJmYWNlOiBQb0R5bmFtaWNGb3JtRmllbGQuYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGRbJ3Byb3BlcnR5J10pIHtcbiAgICAgICAgdGhpcy5wcmludEVycm9yKCdcInBvLWR5bmFtaWMtZm9ybVwiIMOJIG9icmlnYXTDs3JpbyBzZXIgZXNwZWNpZmljYWRvIHVtIHByb3BlcnR5LicpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1Zpc2libGVGaWVsZChmaWVsZCkpIHtcbiAgICAgICAgdmlzaWJsZUZpZWxkcy5wdXNoKHRoaXMuY3JlYXRlRmllbGQoZmllbGQpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzb3J0RmllbGRzKHZpc2libGVGaWVsZHMpO1xuICB9XG5cbiAgLy8gY29udmVydGUgdW0gYXJyYXkgZW0gc3RyaW5nIHBhcmEgdW0gYXJyYXkgZGUgb2JqZXRvcyBxdWUgY29udGVtIGxhYmVsIGUgdmFsdWUuXG4gIHByaXZhdGUgY29udmVydE9wdGlvbnMob3B0aW9uczogQXJyYXk8YW55Pik6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiB7XG4gICAgY29uc3QgZXZlcnlPcHRpb25TdHJpbmcgPSBvcHRpb25zLmV2ZXJ5KG9wdGlvbiA9PiB0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJyk7XG5cbiAgICBpZiAoZXZlcnlPcHRpb25TdHJpbmcpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCh2YWx1ZSA9PiAoeyBsYWJlbDogdmFsdWUsIHZhbHVlIH0pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIC8vIGNyaWEgdW0gbm92byBvYmpldG8gY29tIGFzIGNsYXNzZXMgZGUgZ3JpZCBzeXN0ZW0sIGNvbSBjb250cm9sICh0aXBvIGRvIGNvbXBvbmVudGUpIGUgbGFiZWwgZGVmYXVsdC5cbiAgcHJpdmF0ZSBjcmVhdGVGaWVsZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKTogUG9EeW5hbWljRm9ybUZpZWxkSW50ZXJuYWwge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmdldENvbXBvbmVudENvbnRyb2woZmllbGQpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSAhIWZpZWxkLm9wdGlvbnMgPyB0aGlzLmNvbnZlcnRPcHRpb25zKGZpZWxkLm9wdGlvbnMpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZvY3VzID0gdGhpcy5oYXNGb2N1cyhmaWVsZCk7XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkICYmIGZpZWxkLnR5cGUgPyBmaWVsZC50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgOiAnc3RyaW5nJztcblxuICAgIGNvbnN0IGNvbXBvbmVudENsYXNzID0gZ2V0R3JpZENvbHVtbnNDbGFzc2VzKFxuICAgICAgZmllbGQuZ3JpZENvbHVtbnMsXG4gICAgICBmaWVsZC5vZmZzZXRDb2x1bW5zLFxuICAgICAge1xuICAgICAgICBzbUdyaWQ6IGZpZWxkLmdyaWRTbUNvbHVtbnMsXG4gICAgICAgIG1kR3JpZDogZmllbGQuZ3JpZE1kQ29sdW1ucyxcbiAgICAgICAgbGdHcmlkOiBmaWVsZC5ncmlkTGdDb2x1bW5zLFxuICAgICAgICB4bEdyaWQ6IGZpZWxkLmdyaWRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtT2Zmc2V0OiBmaWVsZC5vZmZzZXRTbUNvbHVtbnMsXG4gICAgICAgIG1kT2Zmc2V0OiBmaWVsZC5vZmZzZXRNZENvbHVtbnMsXG4gICAgICAgIGxnT2Zmc2V0OiBmaWVsZC5vZmZzZXRMZ0NvbHVtbnMsXG4gICAgICAgIHhsT2Zmc2V0OiBmaWVsZC5vZmZzZXRYbENvbHVtbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNtUHVsbDogZmllbGQuZ3JpZFNtUHVsbCxcbiAgICAgICAgbWRQdWxsOiBmaWVsZC5ncmlkTWRQdWxsLFxuICAgICAgICBsZ1B1bGw6IGZpZWxkLmdyaWRMZ1B1bGwsXG4gICAgICAgIHhsUHVsbDogZmllbGQuZ3JpZFhsUHVsbFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IHRoaXMudGl0bGVDYXNlUGlwZS50cmFuc2Zvcm0oZmllbGQucHJvcGVydHkpLFxuICAgICAgbWFza0Zvcm1hdE1vZGVsOiB0aGlzLmNvbXBhcmVUbyh0eXBlLCBQb0R5bmFtaWNGaWVsZFR5cGUuVGltZSksXG4gICAgICAuLi5maWVsZCxcbiAgICAgIGNvbXBvbmVudENsYXNzLFxuICAgICAgY29udHJvbCxcbiAgICAgIGZvY3VzLFxuICAgICAgb3B0aW9uc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGV4aXN0c1Byb3BlcnR5KGZpZWxkczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPiwgcHJvcGVydHk6IHN0cmluZykge1xuICAgIHJldHVybiBmaWVsZHMuc29tZShmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICB9XG5cbiAgLy8gcmVjdXBlcmEgbyBjb21wb25lbnRlIGRlIGFjb3JkbyBjb20gYWxndW1hcyByZWdyYXMgZG8gZmllbGQuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50Q29udHJvbChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkID0gPGFueT57fSkge1xuICAgIGNvbnN0IHR5cGUgPSBmaWVsZCAmJiBmaWVsZC50eXBlID8gZmllbGQudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogJ3N0cmluZyc7XG5cbiAgICBjb25zdCBmb3JjZU9wdGlvbkNvbXBvbmVudCA9IHRoaXMudmVyaWZ5Zm9yY2VPcHRpb25Db21wb25lbnQoZmllbGQpO1xuICAgIGlmIChmb3JjZU9wdGlvbkNvbXBvbmVudCkge1xuICAgICAgY29uc3QgeyBmb3JjZU9wdGlvbnNDb21wb25lbnRUeXBlIH0gPSBmaWVsZDtcbiAgICAgIHJldHVybiBmb3JjZU9wdGlvbnNDb21wb25lbnRUeXBlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzTnVtYmVyVHlwZShmaWVsZCwgdHlwZSkpIHtcbiAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDdXJyZW5jeVR5cGUoZmllbGQsIHR5cGUpIHx8IHR5cGUgPT09IFBvRHluYW1pY0ZpZWxkVHlwZS5EZWNpbWFsKSB7XG4gICAgICByZXR1cm4gJ2RlY2ltYWwnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1NlbGVjdChmaWVsZCkpIHtcbiAgICAgIHJldHVybiAnc2VsZWN0JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNSYWRpb0dyb3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdyYWRpb0dyb3VwJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDaGVja2JveEdyb3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdjaGVja2JveEdyb3VwJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdChmaWVsZCkpIHtcbiAgICAgIHJldHVybiAnbXVsdGlzZWxlY3QnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb21wYXJlVG8odHlwZSwgUG9EeW5hbWljRmllbGRUeXBlLkJvb2xlYW4pKSB7XG4gICAgICByZXR1cm4gJ3N3aXRjaCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmVUbyh0eXBlLCBQb0R5bmFtaWNGaWVsZFR5cGUuRGF0ZSkgfHwgdGhpcy5jb21wYXJlVG8odHlwZSwgUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKSkge1xuICAgICAgcmV0dXJuIGZpZWxkLnJhbmdlID8gJ2RhdGVwaWNrZXJyYW5nZScgOiAnZGF0ZXBpY2tlcic7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmVUbyh0eXBlLCBQb0R5bmFtaWNGaWVsZFR5cGUuVGltZSkpIHtcbiAgICAgIGZpZWxkLm1hc2sgPSBmaWVsZC5tYXNrIHx8ICc5OTo5OSc7XG5cbiAgICAgIHJldHVybiAnaW5wdXQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbWJvKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdjb21ibyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9va3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdsb29rdXAnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1RleHRhcmVhKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICd0ZXh0YXJlYSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzUGFzc3dvcmQoZmllbGQpKSB7XG4gICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNVcGxvYWQoZmllbGQpKSB7XG4gICAgICByZXR1cm4gJ3VwbG9hZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdpbnB1dCc7XG4gIH1cblxuICBwcml2YXRlIGhhc0ZvY3VzKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICByZXR1cm4gISF0aGlzLmF1dG9Gb2N1cyAmJiB0aGlzLmF1dG9Gb2N1cyA9PT0gZmllbGQucHJvcGVydHk7XG4gIH1cblxuICBwcml2YXRlIGlzQ2hlY2tib3hHcm91cChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgeyBvcHRpb25zU2VydmljZSwgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc1NlcnZpY2UgJiYgb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA8PSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbWJvKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBjb25zdCB7IG9wdGlvbnNTZXJ2aWNlIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhIW9wdGlvbnNTZXJ2aWNlICYmIChpc1R5cGVvZihvcHRpb25zU2VydmljZSwgJ3N0cmluZycpIHx8IHRoaXMuaXNDb21ib0ZpbHRlcihvcHRpb25zU2VydmljZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0N1cnJlbmN5VHlwZShmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IG1hc2ssIHBhdHRlcm4gfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZVRvKHR5cGUsIFBvRHluYW1pY0ZpZWxkVHlwZS5DdXJyZW5jeSkgJiYgIW1hc2sgJiYgIXBhdHRlcm47XG4gIH1cblxuICBwcml2YXRlIGlzTG9va3VwRmlsdGVyKG9iamVjdDogYW55KTogb2JqZWN0IGlzIFBvTG9va3VwRmlsdGVyIHtcbiAgICByZXR1cm4gb2JqZWN0ICYmICg8UG9Mb29rdXBGaWx0ZXI+b2JqZWN0KS5nZXRPYmplY3RCeVZhbHVlICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzQ29tYm9GaWx0ZXIob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgUG9Db21ib0ZpbHRlciB7XG4gICAgcmV0dXJuIG9iamVjdCAmJiAoPFBvQ29tYm9GaWx0ZXI+b2JqZWN0KS5nZXRGaWx0ZXJlZERhdGEgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNMb29rdXAoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgc2VhcmNoU2VydmljZSB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gISFzZWFyY2hTZXJ2aWNlICYmIChpc1R5cGVvZihzZWFyY2hTZXJ2aWNlLCAnc3RyaW5nJykgfHwgdGhpcy5pc0xvb2t1cEZpbHRlcihzZWFyY2hTZXJ2aWNlKSk7XG4gIH1cblxuICBwcml2YXRlIGlzTXVsdGlzZWxlY3QoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc1NlcnZpY2UsIG9wdGlvbnNNdWx0aSwgb3B0aW9ucyB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gb3B0aW9uc011bHRpICYmICghIW9wdGlvbnNTZXJ2aWNlIHx8ICghIW9wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGggPiAzKSk7XG4gIH1cblxuICBwcml2YXRlIGlzTnVtYmVyVHlwZShmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IG1hc2ssIHBhdHRlcm4gfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZVRvKHR5cGUsIFBvRHluYW1pY0ZpZWxkVHlwZS5OdW1iZXIpICYmICFtYXNrICYmICFwYXR0ZXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Bhc3N3b3JkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBjb25zdCB7IHNlY3JldCB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gc2VjcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JhZGlvR3JvdXAoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA8PSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VwbG9hZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgeyB1cmwsIHR5cGUgfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHVybCAmJiB0eXBlID09PSAndXBsb2FkJztcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5Zm9yY2VPcHRpb25Db21wb25lbnQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zU2VydmljZSwgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZSB9ID0gZmllbGQ7XG5cbiAgICBpZiAoZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZSAmJiAhb3B0aW9uc011bHRpICYmICFvcHRpb25zU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWxlY3QoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDM7XG4gIH1cblxuICBwcml2YXRlIGlzVGV4dGFyZWEoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gcm93cyAmJiByb3dzID49IDM7XG4gIH1cblxuICBwcml2YXRlIHByaW50RXJyb3IoZXJyb3I6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICB9XG59XG4iXX0=
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZHluYW1pYy1mb3JtLWZpZWxkcy1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0tZmllbGRzL3BvLWR5bmFtaWMtZm9ybS1maWVsZHMtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBT3RFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFnRHZCO0lBL0NHLFNBQVMsQ0FBVTtJQUVoQixZQUFZLENBQVU7SUFFM0IsUUFBUSxDQUFxQjtJQUV2QixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV4QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVqRSwrS0FBK0s7SUFDckosV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbEMsZUFBZSxDQUFVO0lBRXZELGFBQWEsR0FBc0MsRUFBRSxDQUFDO0lBRTlDLE9BQU8sQ0FBNEI7SUFDbkMsZUFBZSxDQUFnQjtJQUMvQixNQUFNLEdBQVMsRUFBRSxDQUFDO0lBRTFCLHFHQUFxRztJQUNyRyxJQUF1QixNQUFNLENBQUMsS0FBZ0M7UUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FB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dCB7IElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgaXNUeXBlb2YsIHNvcnRGaWVsZHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgZ2V0R3JpZENvbHVtbnNDbGFzc2VzLCBpc1Zpc2libGVGaWVsZCB9IGZyb20gJy4uLy4uL3BvLWR5bmFtaWMudXRpbCc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9wby1keW5hbWljLWZpZWxkLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi9wby1keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1GaWVsZEludGVybmFsIH0gZnJvbSAnLi9wby1keW5hbWljLWZvcm0tZmllbGQtaW50ZXJuYWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvQ29tYm9GaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9wby1maWVsZC9wby1jb21iby9pbnRlcmZhY2VzL3BvLWNvbWJvLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9wby1maWVsZC9wby1sb29rdXAvaW50ZXJmYWNlcy9wby1sb29rdXAtZmlsdGVyLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvRHluYW1pY0Zvcm1GaWVsZHNCYXNlQ29tcG9uZW50IHtcbiAgQElucHV0KCdwLWF1dG8tZm9jdXMnKSBhdXRvRm9jdXM/OiBzdHJpbmc7XG5cbiAgQElucHV0KCdwLWRpc2FibGVkLWZvcm0nKSBkaXNhYmxlZEZvcm06IGJvb2xlYW47XG5cbiAgQElucHV0KCdwLXZhbGlkYXRlJykgdmFsaWRhdGU/OiBzdHJpbmcgfCBGdW5jdGlvbjtcblxuICBAT3V0cHV0KCdwLWZvcm0tdmFsaWRhdGUnKSBmb3JtVmFsaWRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCdwLWZpZWxkc0NoYW5nZScpIGZpZWxkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8vIEV2ZW50byBkaXNwYXJhZG8gc2UgZXhpc3RpciBvcHRpb25zU2VydmljZSBlbSB2aXNpYmxlRmllbGQuIE5lY2Vzc8OhcmlvIHJlc2dhdGFyIHJlZmVyw6puY2lhIGRvIG9iamV0byBzZWxlY2lvbmFkbyBwYXJhIHF1YW5kbyBzZSB0cmF0YXIgZGUgcmVjZWJpbWVudG8gZGUgb3DDp8O1ZXMgdmlhIHNlcnZpw6dvLlxuICBAT3V0cHV0KCdwLW9iamVjdC12YWx1ZScpIG9iamVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCdwLXZhbGlkYXRlLW9uLWlucHV0JykgdmFsaWRhdGVPbklucHV0OiBib29sZWFuO1xuXG4gIHZpc2libGVGaWVsZHM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZEludGVybmFsPiA9IFtdO1xuXG4gIHByaXZhdGUgX2ZpZWxkczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPjtcbiAgcHJpdmF0ZSBfdmFsaWRhdGVGaWVsZHM6IEFycmF5PHN0cmluZz47XG4gIHByaXZhdGUgX3ZhbHVlPzogYW55ID0ge307XG5cbiAgLy8gYXJyYXkgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgUG9EeW5hbWljRm9ybUZpZWxkLCBxdWUgc2Vyw6NvIGV4aWJpZG9zIG5vIGNvbXBvbmVudGUuXG4gIEBJbnB1dCgncC1maWVsZHMnKSBzZXQgZmllbGRzKHZhbHVlOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+KSB7XG4gICAgdGhpcy5fZmllbGRzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBbLi4udmFsdWVdIDogW107XG4gIH1cblxuICBnZXQgZmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gIH1cblxuICAvLyB2YWxvciBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgaW5pY2lhciB2YWxvciBubyBjb21wb25lbnRlLlxuICBASW5wdXQoJ3AtdmFsdWUnKSBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWUgJiYgaXNUeXBlb2YodmFsdWUsICdvYmplY3QnKSA/IHZhbHVlIDoge307XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdwLXZhbGlkYXRlLWZpZWxkcycpIHNldCB2YWxpZGF0ZUZpZWxkcyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuX3ZhbGlkYXRlRmllbGRzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBbLi4udmFsdWVdIDogW107XG4gIH1cblxuICBnZXQgdmFsaWRhdGVGaWVsZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlRmllbGRzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aXRsZUNhc2VQaXBlOiBUaXRsZUNhc2VQaXBlKSB7fVxuXG4gIGNvbXBhcmVUbyh2YWx1ZSwgY29tcGFyZVRvKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBjb21wYXJlVG87XG4gIH1cblxuICAvLyByZXRvcm5hIHVtIGFycmF5IGNvbSBvcyBvYmpldG9zIGNvbmZpZ3VyYWRvcyBlIHZpc8OtdmVpcy5cbiAgcHJvdGVjdGVkIGdldFZpc2libGVGaWVsZHMoKSB7XG4gICAgY29uc3QgdmlzaWJsZUZpZWxkcyA9IFtdO1xuXG4gICAgdGhpcy5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBpZiAodGhpcy5leGlzdHNQcm9wZXJ0eSh2aXNpYmxlRmllbGRzLCBmaWVsZC5wcm9wZXJ0eSkpIHtcbiAgICAgICAgdGhpcy5wcmludEVycm9yKFxuICAgICAgICAgIGBcInBvLWR5bmFtaWMtZm9ybVwiIHByb3BlcnR5IFwiJHtmaWVsZC5wcm9wZXJ0eX1cIiBlc3TDoSBkdXBsaWNhZG8uIEludGVyZmFjZTogUG9EeW5hbWljRm9ybUZpZWxkLmBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZpZWxkWydwcm9wZXJ0eSddKSB7XG4gICAgICAgIHRoaXMucHJpbnRFcnJvcignXCJwby1keW5hbWljLWZvcm1cIiDDiSBvYnJpZ2F0w7NyaW8gc2VyIGVzcGVjaWZpY2FkbyB1bSBwcm9wZXJ0eS4nKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWaXNpYmxlRmllbGQoZmllbGQpKSB7XG4gICAgICAgIHZpc2libGVGaWVsZHMucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGZpZWxkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc29ydEZpZWxkcyh2aXNpYmxlRmllbGRzKTtcbiAgfVxuXG4gIC8vIGNvbnZlcnRlIHVtIGFycmF5IGVtIHN0cmluZyBwYXJhIHVtIGFycmF5IGRlIG9iamV0b3MgcXVlIGNvbnRlbSBsYWJlbCBlIHZhbHVlLlxuICBwcml2YXRlIGNvbnZlcnRPcHRpb25zKG9wdGlvbnM6IEFycmF5PGFueT4pOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4ge1xuICAgIGNvbnN0IGV2ZXJ5T3B0aW9uU3RyaW5nID0gb3B0aW9ucy5ldmVyeShvcHRpb24gPT4gdHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpO1xuXG4gICAgaWYgKGV2ZXJ5T3B0aW9uU3RyaW5nKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5tYXAodmFsdWUgPT4gKHsgbGFiZWw6IHZhbHVlLCB2YWx1ZSB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICAvLyBjcmlhIHVtIG5vdm8gb2JqZXRvIGNvbSBhcyBjbGFzc2VzIGRlIGdyaWQgc3lzdGVtLCBjb20gY29udHJvbCAodGlwbyBkbyBjb21wb25lbnRlKSBlIGxhYmVsIGRlZmF1bHQuXG4gIHByaXZhdGUgY3JlYXRlRmllbGQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCk6IFBvRHluYW1pY0Zvcm1GaWVsZEludGVybmFsIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXRDb21wb25lbnRDb250cm9sKGZpZWxkKTtcbiAgICBjb25zdCBvcHRpb25zID0gISFmaWVsZC5vcHRpb25zID8gdGhpcy5jb252ZXJ0T3B0aW9ucyhmaWVsZC5vcHRpb25zKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmb2N1cyA9IHRoaXMuaGFzRm9jdXMoZmllbGQpO1xuICAgIGNvbnN0IHR5cGUgPSBmaWVsZCAmJiBmaWVsZC50eXBlID8gZmllbGQudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogJ3N0cmluZyc7XG5cbiAgICBjb25zdCBjb21wb25lbnRDbGFzcyA9IGdldEdyaWRDb2x1bW5zQ2xhc3NlcyhcbiAgICAgIGZpZWxkLmdyaWRDb2x1bW5zLFxuICAgICAgZmllbGQub2Zmc2V0Q29sdW1ucyxcbiAgICAgIHtcbiAgICAgICAgc21HcmlkOiBmaWVsZC5ncmlkU21Db2x1bW5zLFxuICAgICAgICBtZEdyaWQ6IGZpZWxkLmdyaWRNZENvbHVtbnMsXG4gICAgICAgIGxnR3JpZDogZmllbGQuZ3JpZExnQ29sdW1ucyxcbiAgICAgICAgeGxHcmlkOiBmaWVsZC5ncmlkWGxDb2x1bW5zXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzbU9mZnNldDogZmllbGQub2Zmc2V0U21Db2x1bW5zLFxuICAgICAgICBtZE9mZnNldDogZmllbGQub2Zmc2V0TWRDb2x1bW5zLFxuICAgICAgICBsZ09mZnNldDogZmllbGQub2Zmc2V0TGdDb2x1bW5zLFxuICAgICAgICB4bE9mZnNldDogZmllbGQub2Zmc2V0WGxDb2x1bW5zXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzbVB1bGw6IGZpZWxkLmdyaWRTbVB1bGwsXG4gICAgICAgIG1kUHVsbDogZmllbGQuZ3JpZE1kUHVsbCxcbiAgICAgICAgbGdQdWxsOiBmaWVsZC5ncmlkTGdQdWxsLFxuICAgICAgICB4bFB1bGw6IGZpZWxkLmdyaWRYbFB1bGxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB0aGlzLnRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKGZpZWxkLnByb3BlcnR5KSxcbiAgICAgIG1hc2tGb3JtYXRNb2RlbDogdGhpcy5jb21wYXJlVG8odHlwZSwgUG9EeW5hbWljRmllbGRUeXBlLlRpbWUpLFxuICAgICAgLi4uZmllbGQsXG4gICAgICBjb21wb25lbnRDbGFzcyxcbiAgICAgIGNvbnRyb2wsXG4gICAgICBmb2N1cyxcbiAgICAgIG9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBleGlzdHNQcm9wZXJ0eShmaWVsZHM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4sIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmllbGRzLnNvbWUoZmllbGQgPT4gZmllbGQucHJvcGVydHkgPT09IHByb3BlcnR5KTtcbiAgfVxuXG4gIC8vIHJlY3VwZXJhIG8gY29tcG9uZW50ZSBkZSBhY29yZG8gY29tIGFsZ3VtYXMgcmVncmFzIGRvIGZpZWxkLlxuICBwcml2YXRlIGdldENvbXBvbmVudENvbnRyb2woZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCA9IDxhbnk+e30pIHtcbiAgICBjb25zdCB0eXBlID0gZmllbGQgJiYgZmllbGQudHlwZSA/IGZpZWxkLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6ICdzdHJpbmcnO1xuXG4gICAgY29uc3QgeyBmb3JjZUJvb2xlYW5Db21wb25lbnRUeXBlIH0gPSBmaWVsZDtcbiAgICBjb25zdCBmb3JjZU9wdGlvbkNvbXBvbmVudCA9IHRoaXMudmVyaWZ5Rm9yY2VPcHRpb25Db21wb25lbnQoZmllbGQpO1xuXG4gICAgaWYgKGZvcmNlQm9vbGVhbkNvbXBvbmVudFR5cGUpIHtcbiAgICAgIHJldHVybiBmb3JjZUJvb2xlYW5Db21wb25lbnRUeXBlO1xuICAgIH1cblxuICAgIGlmIChmb3JjZU9wdGlvbkNvbXBvbmVudCkge1xuICAgICAgY29uc3QgeyBmb3JjZU9wdGlvbnNDb21wb25lbnRUeXBlIH0gPSBmaWVsZDtcbiAgICAgIHJldHVybiBmb3JjZU9wdGlvbnNDb21wb25lbnRUeXBlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzTnVtYmVyVHlwZShmaWVsZCwgdHlwZSkpIHtcbiAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDdXJyZW5jeVR5cGUoZmllbGQsIHR5cGUpIHx8IHR5cGUgPT09IFBvRHluYW1pY0ZpZWxkVHlwZS5EZWNpbWFsKSB7XG4gICAgICByZXR1cm4gJ2RlY2ltYWwnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1NlbGVjdChmaWVsZCkpIHtcbiAgICAgIHJldHVybiAnc2VsZWN0JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNSYWRpb0dyb3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdyYWRpb0dyb3VwJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDaGVja2JveEdyb3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdjaGVja2JveEdyb3VwJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdChmaWVsZCkpIHtcbiAgICAgIHJldHVybiAnbXVsdGlzZWxlY3QnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb21wYXJlVG8odHlwZSwgUG9EeW5hbWljRmllbGRUeXBlLkJvb2xlYW4pKSB7XG4gICAgICByZXR1cm4gJ3N3aXRjaCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmVUbyh0eXBlLCBQb0R5bmFtaWNGaWVsZFR5cGUuRGF0ZSkgfHwgdGhpcy5jb21wYXJlVG8odHlwZSwgUG9EeW5hbWljRmllbGRUeXBlLkRhdGVUaW1lKSkge1xuICAgICAgcmV0dXJuIGZpZWxkLnJhbmdlID8gJ2RhdGVwaWNrZXJyYW5nZScgOiAnZGF0ZXBpY2tlcic7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmVUbyh0eXBlLCBQb0R5bmFtaWNGaWVsZFR5cGUuVGltZSkpIHtcbiAgICAgIGZpZWxkLm1hc2sgPSBmaWVsZC5tYXNrIHx8ICc5OTo5OSc7XG5cbiAgICAgIHJldHVybiAnaW5wdXQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbWJvKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdjb21ibyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9va3VwKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICdsb29rdXAnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1RleHRhcmVhKGZpZWxkKSkge1xuICAgICAgcmV0dXJuICd0ZXh0YXJlYSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzUGFzc3dvcmQoZmllbGQpKSB7XG4gICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNVcGxvYWQoZmllbGQpKSB7XG4gICAgICByZXR1cm4gJ3VwbG9hZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdpbnB1dCc7XG4gIH1cblxuICBwcml2YXRlIGhhc0ZvY3VzKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICByZXR1cm4gISF0aGlzLmF1dG9Gb2N1cyAmJiB0aGlzLmF1dG9Gb2N1cyA9PT0gZmllbGQucHJvcGVydHk7XG4gIH1cblxuICBwcml2YXRlIGlzQ2hlY2tib3hHcm91cChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgeyBvcHRpb25zU2VydmljZSwgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc1NlcnZpY2UgJiYgb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA8PSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbWJvKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBjb25zdCB7IG9wdGlvbnNTZXJ2aWNlIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhIW9wdGlvbnNTZXJ2aWNlICYmIChpc1R5cGVvZihvcHRpb25zU2VydmljZSwgJ3N0cmluZycpIHx8IHRoaXMuaXNDb21ib0ZpbHRlcihvcHRpb25zU2VydmljZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0N1cnJlbmN5VHlwZShmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IG1hc2ssIHBhdHRlcm4gfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZVRvKHR5cGUsIFBvRHluYW1pY0ZpZWxkVHlwZS5DdXJyZW5jeSkgJiYgIW1hc2sgJiYgIXBhdHRlcm47XG4gIH1cblxuICBwcml2YXRlIGlzTG9va3VwRmlsdGVyKG9iamVjdDogYW55KTogb2JqZWN0IGlzIFBvTG9va3VwRmlsdGVyIHtcbiAgICByZXR1cm4gb2JqZWN0ICYmICg8UG9Mb29rdXBGaWx0ZXI+b2JqZWN0KS5nZXRPYmplY3RCeVZhbHVlICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzQ29tYm9GaWx0ZXIob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgUG9Db21ib0ZpbHRlciB7XG4gICAgcmV0dXJuIG9iamVjdCAmJiAoPFBvQ29tYm9GaWx0ZXI+b2JqZWN0KS5nZXRGaWx0ZXJlZERhdGEgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNMb29rdXAoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgc2VhcmNoU2VydmljZSB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gISFzZWFyY2hTZXJ2aWNlICYmIChpc1R5cGVvZihzZWFyY2hTZXJ2aWNlLCAnc3RyaW5nJykgfHwgdGhpcy5pc0xvb2t1cEZpbHRlcihzZWFyY2hTZXJ2aWNlKSk7XG4gIH1cblxuICBwcml2YXRlIGlzTXVsdGlzZWxlY3QoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc1NlcnZpY2UsIG9wdGlvbnNNdWx0aSwgb3B0aW9ucyB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gb3B0aW9uc011bHRpICYmICghIW9wdGlvbnNTZXJ2aWNlIHx8ICghIW9wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGggPiAzKSk7XG4gIH1cblxuICBwcml2YXRlIGlzTnVtYmVyVHlwZShmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IG1hc2ssIHBhdHRlcm4gfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZVRvKHR5cGUsIFBvRHluYW1pY0ZpZWxkVHlwZS5OdW1iZXIpICYmICFtYXNrICYmICFwYXR0ZXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Bhc3N3b3JkKGZpZWxkOiBQb0R5bmFtaWNGb3JtRmllbGQpIHtcbiAgICBjb25zdCB7IHNlY3JldCB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gc2VjcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JhZGlvR3JvdXAoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA8PSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VwbG9hZChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSB7XG4gICAgY29uc3QgeyB1cmwsIHR5cGUgfSA9IGZpZWxkO1xuXG4gICAgcmV0dXJuIHVybCAmJiB0eXBlID09PSAndXBsb2FkJztcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5Rm9yY2VPcHRpb25Db21wb25lbnQoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zU2VydmljZSwgZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZSB9ID0gZmllbGQ7XG5cbiAgICBpZiAoZm9yY2VPcHRpb25zQ29tcG9uZW50VHlwZSAmJiAhb3B0aW9uc011bHRpICYmICFvcHRpb25zU2VydmljZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWxlY3QoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgb3B0aW9uc011bHRpLCBvcHRpb25zIH0gPSBmaWVsZDtcblxuICAgIHJldHVybiAhb3B0aW9uc011bHRpICYmICEhb3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDM7XG4gIH1cblxuICBwcml2YXRlIGlzVGV4dGFyZWEoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gZmllbGQ7XG5cbiAgICByZXR1cm4gcm93cyAmJiByb3dzID49IDM7XG4gIH1cblxuICBwcml2YXRlIHByaW50RXJyb3IoZXJyb3I6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICB9XG59XG4iXX0=
|