igniteui-angular 18.1.7 → 18.1.9
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/combo/combo.common.mjs +2 -10
- package/esm2022/lib/core/i18n/grid-resources.mjs +2 -1
- package/esm2022/lib/grids/grid/grid.component.mjs +6 -5
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +6 -5
- package/esm2022/lib/grids/pivot-grid/pivot-grid-dimensions.mjs +2 -2
- package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +2 -2
- package/esm2022/lib/grids/pivot-grid/pivot-grid.interface.mjs +1 -1
- package/esm2022/lib/grids/state-base.directive.mjs +10 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +6 -5
- package/esm2022/lib/services/excel/excel-files.mjs +26 -5
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +16 -8
- package/fesm2022/igniteui-angular.mjs +88 -58
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/i18n/grid-resources.d.ts +1 -0
- package/lib/core/styles/components/button/_button-theme.scss +4 -4
- package/lib/core/styles/components/input/_input-group-theme.scss +10 -10
- package/lib/core/styles/components/progress/_progress-theme.scss +1 -1
- package/lib/simple-combo/simple-combo.component.d.ts +4 -3
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -98,7 +98,7 @@ export class IgxPivotDateDimension {
|
|
|
98
98
|
this.memberFunction = (_data) => this.resourceStrings.igx_grid_pivot_date_dimension_total;
|
|
99
99
|
this._baseDimension = inBaseDimension;
|
|
100
100
|
this._options = inOptions;
|
|
101
|
-
this.enabled = inBaseDimension
|
|
101
|
+
this.enabled = inBaseDimension?.enabled;
|
|
102
102
|
if (this.baseDimension && this.options) {
|
|
103
103
|
this.initialize(this.baseDimension, this.options);
|
|
104
104
|
}
|
|
@@ -148,4 +148,4 @@ export class IgxPivotDateDimension {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC1kaW1lbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Bpdm90LWdyaWQvcGl2b3QtZ3JpZC1kaW1lbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBZXpDLDZDQUE2QztBQUM3Qyx1Q0FBdUM7QUFDdkMsNENBQTRDO0FBQzVDLElBQUk7QUFDSixtQ0FBbUM7QUFDbkMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQixvQkFBb0I7QUFDcEIsOEJBQThCO0FBQzlCLDZCQUE2QjtBQUM3QiwrQ0FBK0M7QUFDL0Msb0dBQW9HO0FBQ3BHLGFBQWE7QUFDYix5QkFBeUI7QUFDekIsd0JBQXdCO0FBQ3hCLHFDQUFxQztBQUNyQyx1REFBdUQ7QUFDdkQsK0hBQStIO0FBQy9ILHFCQUFxQjtBQUNyQixpQ0FBaUM7QUFDakMsdUNBQXVDO0FBQ3ZDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsNENBQTRDO0FBQzVDLHdDQUF3QztBQUN4Qyx3QkFBd0I7QUFDeEIsZ0JBQWdCO0FBQ2hCLFFBQVE7QUFDUixLQUFLO0FBQ0wsTUFBTSxPQUFPLHFCQUFxQjtJQWtCOUI7Ozs7O09BS0c7SUFDSCxJQUFXLGVBQWUsQ0FBQyxLQUEyQjtRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVF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LGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pGLENBQUM7WUFDRCxPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxnQkFBZ0I7U0FDL0IsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RSxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztRQUVqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztDQUlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JpZFJlc291cmNlU3RyaW5nc0VOLCBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5pbXBvcnQgeyBnZXRDdXJyZW50UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElQaXZvdERpbWVuc2lvbiB9IGZyb20gJy4vcGl2b3QtZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGl2b3RVdGlsIH0gZnJvbSAnLi9waXZvdC11dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3REYXRlRGltZW5zaW9uT3B0aW9ucyB7XG4gICAgLyoqIEVuYWJsZXMvRGlzYWJsZXMgdG90YWwgdmFsdWUgb2YgYWxsIHBlcmlvZHMuICovXG4gICAgdG90YWw/OiBib29sZWFuO1xuICAgIC8qKiBFbmFibGVzL0Rpc2FibGVzIGRpbWVuc2lvbnMgcGVyIHllYXIgZnJvbSBwcm92aWRlZCBwZXJpb2RzLiAqL1xuICAgIHllYXJzPzogYm9vbGVhbjtcbiAgICAvKi8qKiBFbmFibGVzL0Rpc2FibGVzIGRpbWVuc2lvbnMgcGVyIHF1YXJ0ZXIgZnJvbSBwcm92aWRlZCBwZXJpb2RzLiAqL1xuICAgIHF1YXJ0ZXJzPzogYm9vbGVhbjtcbiAgICAvKiogRW5hYmxlcy9EaXNhYmxlcyBkaW1lbnNpb25zIHBlciBtb250aCBmcm9tIHByb3ZpZGVkIHBlcmlvZHMuICovXG4gICAgbW9udGhzPzogYm9vbGVhbjtcbiAgICAvKiogRW5hYmxlZC9EaXNhYmxlcyBkaW1lbnNpb25zIGZvciB0aGUgZnVsbCBkYXRlIHByb3ZpZGVkICovXG4gICAgZnVsbERhdGU/OiBib29sZWFuO1xufVxuXG4vKiBibGF6b3JBbHRlcm5hdGVCYXNlVHlwZTogUGl2b3REaW1lbnNpb24gKi9cbi8qIGFsdGVybmF0ZUJhc2VUeXBlOiBQaXZvdERpbWVuc2lvbiAqL1xuLy8gRXF1YWxzIHRvIHByZXR0eSBtdWNoIHRoaXMgY29uZmlndXJhdGlvbjpcbi8vIHtcbi8vICAgICBtZW1iZXI6ICgpID0+ICdBbGwgUGVyaW9kcycsXG4vLyAgICAgZW5hYmxlZDogdHJ1ZSxcbi8vICAgICBmaWVsZE5hbWU6ICdBbGxQZXJpb2RzJyxcbi8vICAgICBjaGlsZExldmVsOiB7XG4vLyAgICAgICAgIGZpZWxkTmFtZTogJ1llYXJzJyxcbi8vICAgICAgICAgbWVtYmVyOiAocmVjKSA9PiB7XG4vLyAgICAgICAgICAgICBjb25zdCByZWNvcmRWYWx1ZSA9IHJlY1snRGF0ZSddO1xuLy8gICAgICAgICAgICAgcmV0dXJuIHJlY29yZFZhbHVlID8gKG5ldyBEYXRlKHJlY29yZFZhbHVlKSkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpIDogcmVjWydZZWFycyddO1xuLy8gICAgICAgICB9LFxuLy8gICAgICAgICBlbmFibGVkOiB0cnVlLFxuLy8gICAgICAgICBjaGlsZExldmVsOiB7XG4vLyAgICAgICAgICAgICAgICAgbWVtYmVyOiAocmVjKSA9PiB7XG4vLyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZFZhbHVlID0gcmVjWydEYXRlJ107XG4vLyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmRWYWx1ZSA/IG5ldyBEYXRlKHJlY29yZFZhbHVlKS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgbW9udGg6ICdsb25nJyB9KSA6IHJlY1snTW9udGhzJ107XG4vLyAgICAgICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuLy8gICAgICAgICAgICAgICAgIGZpZWxkTmFtZTogJ01vbnRocycsXG4vLyAgICAgICAgICAgICAgICAgY2hpbGRMZXZlbDoge1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgbWVtYmVyOiAnRGF0ZScsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZE5hbWU6J0RhdGUnLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZVxuLy8gICAgICAgICAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgfVxuLy8gfSxcbmV4cG9ydCBjbGFzcyBJZ3hQaXZvdERhdGVEaW1lbnNpb24gaW1wbGVtZW50cyBJUGl2b3REaW1lbnNpb24ge1xuICAgIC8qKiBFbmFibGVzL0Rpc2FibGVzIGEgcGFydGljdWxhciBkaW1lbnNpb24gZnJvbSBwaXZvdCBzdHJ1Y3R1cmUuICovXG4gICAgcHVibGljIGVuYWJsZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIGRhdGEgdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhVHlwZT86IEdyaWRDb2x1bW5EYXRhVHlwZTtcblxuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIERlZmF1bHQgb3B0aW9ucy4gKi9cbiAgICBwdWJsaWMgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgICAgIHRvdGFsOiB0cnVlLFxuICAgICAgICB5ZWFyczogdHJ1ZSxcbiAgICAgICAgbW9udGhzOiB0cnVlLFxuICAgICAgICBmdWxsRGF0ZTogdHJ1ZVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElHcmlkUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElHcmlkUmVzb3VyY2VTdHJpbmdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU3RyaW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGJhc2UgZGltZW5zaW9uIHRoYXQgaXMgdXNlZCBieSB0aGlzIGNsYXNzIHRvIGRldGVybWluZSB0aGUgb3RoZXIgZGltZW5zaW9ucyBhbmQgdGhlaXIgdmFsdWVzLlxuICAgICAqIEhhdmluZyBiYXNlIGRpbWVuc2lvbiBzZXQgaXMgcmVxdWlyZWQgaW4gb3JkZXIgZm9yIHRoZSBEYXRlIERpbWVuc2lvbnMgdG8gc2hvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGJhc2VEaW1lbnNpb24oKTogSVBpdm90RGltZW5zaW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2VEaW1lbnNpb247XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgYmFzZURpbWVuc2lvbih2YWx1ZTogSVBpdm90RGltZW5zaW9uKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VEaW1lbnNpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKHRoaXMuYmFzZURpbWVuc2lvbiwgdGhpcy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIG9wdGlvbnMgZm9yIHRoZSBwcmVkZWZpbmVkIGRhdGUgZGltZW5zaW9ucyB3aGV0aGVyIHRvIHNob3cgcXVhcnRlciwgeWVhcnMgYW5kIGV0Yy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogSVBpdm90RGF0ZURpbWVuc2lvbk9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBJUGl2b3REYXRlRGltZW5zaW9uT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmJhc2VEaW1lbnNpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSh0aGlzLmJhc2VEaW1lbnNpb24sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgY2hpbGRMZXZlbD86IElQaXZvdERpbWVuc2lvbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgbWVtYmVyTmFtZSA9ICdBbGxQZXJpb2RzJztcbiAgICBwdWJsaWMgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIF9yZXNvdXJjZVN0cmluZ3MgPSBnZXRDdXJyZW50UmVzb3VyY2VTdHJpbmdzKEdyaWRSZXNvdXJjZVN0cmluZ3NFTik7XG4gICAgcHJpdmF0ZSBfYmFzZURpbWVuc2lvbjogSVBpdm90RGltZW5zaW9uO1xuICAgIHByaXZhdGUgX29wdGlvbnM6IElQaXZvdERhdGVEaW1lbnNpb25PcHRpb25zID0ge307XG4gICAgcHJpdmF0ZSBfbW9udGhJbnRsID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2RlZmF1bHQnLCB7IG1vbnRoOiAnbG9uZycgfSk7XG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYWRkaXRpb25hbCBwaXZvdCBkYXRlIGRpbWVuc2lvbnMgYmFzZWQgb24gYSBwcm92aWRlZCBkaW1lbnNpb24gZGVzY3JpYmluZyBkYXRlIGRhdGE6XG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5EYXRlRGltZW5zaW9uIEJhc2UgZGltZW5zaW9uIHRoYXQgaXMgdXNlZCBieSB0aGlzIGNsYXNzIHRvIGRldGVybWluZSB0aGUgb3RoZXIgZGltZW5zaW9ucyBhbmQgdGhlaXIgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBpbk9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHByZWRlZmluZWQgZGF0ZSBkaW1lbnNpb25zIHdoZXRoZXIgdG8gc2hvdyBxdWFydGVyLCB5ZWFycyBhbmQgZXRjLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIERpc3BsYXlzIG9ubHkgeWVhcnMgYXMgcGFyZW50IGRpbWVuc2lvbiB0byB0aGUgYmFzZSBkaW1lbnNpb24gcHJvdmlkZWQuXG4gICAgICogbmV3IElneFBpdm90RGF0ZURpbWVuc2lvbih7IG1lbWJlck5hbWU6ICdEYXRlJywgZW5hYmxlZDogdHJ1ZSB9LCB7IHRvdGFsOiBmYWxzZSwgbW9udGhzOiBmYWxzZSB9KTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbkJhc2VEaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiA9IG51bGwsIGluT3B0aW9uczogSVBpdm90RGF0ZURpbWVuc2lvbk9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLl9iYXNlRGltZW5zaW9uID0gaW5CYXNlRGltZW5zaW9uO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gaW5PcHRpb25zO1xuICAgICAgICB0aGlzLmVuYWJsZWQgPSBpbkJhc2VEaW1lbnNpb24uZW5hYmxlZDtcbiAgICAgICAgaWYgKHRoaXMuYmFzZURpbWVuc2lvbiAmJiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSh0aGlzLmJhc2VEaW1lbnNpb24sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZShpbkJhc2VEaW1lbnNpb24sIGluT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLCAuLi5pbk9wdGlvbnMgfTtcblxuICAgICAgICB0aGlzLmRhdGFUeXBlID0gR3JpZENvbHVtbkRhdGFUeXBlLkRhdGU7XG4gICAgICAgIGluQmFzZURpbWVuc2lvbi5kYXRhVHlwZSA9IEdyaWRDb2x1bW5EYXRhVHlwZS5EYXRlO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU5hbWUgPSBpbkJhc2VEaW1lbnNpb24uZGlzcGxheU5hbWUgfHwgdGhpcy5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfcGl2b3RfZGF0ZV9kaW1lbnNpb25fdG90YWw7XG5cbiAgICAgICAgY29uc3QgYmFzZURpbWVuc2lvbiA9IG9wdGlvbnMuZnVsbERhdGUgPyBpbkJhc2VEaW1lbnNpb24gOiBudWxsO1xuICAgICAgICBjb25zdCBtb250aERpbWVuc2lvbkRlZjogSVBpdm90RGltZW5zaW9uID0ge1xuICAgICAgICAgICAgbWVtYmVyTmFtZTogJ01vbnRocycsXG4gICAgICAgICAgICBtZW1iZXJGdW5jdGlvbjogKHJlYykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZFZhbHVlID0gUGl2b3RVdGlsLmV4dHJhY3RWYWx1ZUZyb21EaW1lbnNpb24oaW5CYXNlRGltZW5zaW9uLCByZWMpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmRWYWx1ZSA/IHRoaXMuX21vbnRoSW50bC5mb3JtYXQobmV3IERhdGUocmVjb3JkVmFsdWUpKSA6IHJlY1snTW9udGhzJ107XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkTGV2ZWw6IGJhc2VEaW1lbnNpb25cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbW9udGhEaW1lbnNpb24gPSBvcHRpb25zLm1vbnRocyA/IG1vbnRoRGltZW5zaW9uRGVmIDogYmFzZURpbWVuc2lvbjtcblxuICAgICAgICBjb25zdCBxdWFydGVyRGltZW5zaW9uRGVmOiBJUGl2b3REaW1lbnNpb24gPSB7XG4gICAgICAgICAgICBtZW1iZXJOYW1lOiAnUXVhcnRlcnMnLFxuICAgICAgICAgICAgbWVtYmVyRnVuY3Rpb246IChyZWMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRWYWx1ZSA9IFBpdm90VXRpbC5leHRyYWN0VmFsdWVGcm9tRGltZW5zaW9uKGluQmFzZURpbWVuc2lvbiwgcmVjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkVmFsdWUgPyBgUWAgKyBNYXRoLmNlaWwoKG5ldyBEYXRlKHJlY29yZFZhbHVlKS5nZXRNb250aCgpICsgMSkgLyAzKSA6IHJlY1snUXVhcnRlcnMnXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRMZXZlbDogbW9udGhEaW1lbnNpb25cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcXVhcnRlckRpbWVuc2lvbiA9IG9wdGlvbnMucXVhcnRlcnMgPyBxdWFydGVyRGltZW5zaW9uRGVmIDogbW9udGhEaW1lbnNpb247XG5cbiAgICAgICAgY29uc3QgeWVhcnNEaW1lbnNpb25EZWY6IElQaXZvdERpbWVuc2lvbiA9IHtcbiAgICAgICAgICAgIG1lbWJlck5hbWU6ICdZZWFycycsXG4gICAgICAgICAgICBtZW1iZXJGdW5jdGlvbjogKHJlYykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZFZhbHVlID0gUGl2b3RVdGlsLmV4dHJhY3RWYWx1ZUZyb21EaW1lbnNpb24oaW5CYXNlRGltZW5zaW9uLCByZWMpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmRWYWx1ZSA/IChuZXcgRGF0ZShyZWNvcmRWYWx1ZSkpLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKSA6IHJlY1snWWVhcnMnXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRMZXZlbDogcXVhcnRlckRpbWVuc2lvblxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB5ZWFyc0RpbWVuc2lvbiA9IG9wdGlvbnMueWVhcnMgPyB5ZWFyc0RpbWVuc2lvbkRlZiA6IHF1YXJ0ZXJEaW1lbnNpb247XG4gICAgICAgIHRoaXMuY2hpbGRMZXZlbCA9IHllYXJzRGltZW5zaW9uO1xuXG4gICAgICAgIGlmICghb3B0aW9ucy50b3RhbCkge1xuICAgICAgICAgICAgdGhpcy5tZW1iZXJOYW1lID0geWVhcnNEaW1lbnNpb24ubWVtYmVyTmFtZTtcbiAgICAgICAgICAgIHRoaXMubWVtYmVyRnVuY3Rpb24gPSB5ZWFyc0RpbWVuc2lvbi5tZW1iZXJGdW5jdGlvbjtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRMZXZlbCA9IHllYXJzRGltZW5zaW9uLmNoaWxkTGV2ZWw7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0geWVhcnNEaW1lbnNpb24uZGlzcGxheU5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgbWVtYmVyRnVuY3Rpb24gPSAoX2RhdGEpID0+IHRoaXMucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Bpdm90X2RhdGVfZGltZW5zaW9uX3RvdGFsO1xufVxuIl19
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC1kaW1lbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL3Bpdm90LWdyaWQvcGl2b3QtZ3JpZC1kaW1lbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBZXpDLDZDQUE2QztBQUM3Qyx1Q0FBdUM7QUFDdkMsNENBQTRDO0FBQzVDLElBQUk7QUFDSixtQ0FBbUM7QUFDbkMscUJBQXFCO0FBQ3JCLCtCQUErQjtBQUMvQixvQkFBb0I7QUFDcEIsOEJBQThCO0FBQzlCLDZCQUE2QjtBQUM3QiwrQ0FBK0M7QUFDL0Msb0dBQW9HO0FBQ3BHLGFBQWE7QUFDYix5QkFBeUI7QUFDekIsd0JBQXdCO0FBQ3hCLHFDQUFxQztBQUNyQyx1REFBdUQ7QUFDdkQsK0hBQStIO0FBQy9ILHFCQUFxQjtBQUNyQixpQ0FBaUM7QUFDakMsdUNBQXVDO0FBQ3ZDLGdDQUFnQztBQUNoQywwQ0FBMEM7QUFDMUMsNENBQTRDO0FBQzVDLHdDQUF3QztBQUN4Qyx3QkFBd0I7QUFDeEIsZ0JBQWdCO0FBQ2hCLFFBQVE7QUFDUixLQUFLO0FBQ0wsTUFBTSxPQUFPLHFCQUFxQjtJQWtCOUI7Ozs7O09BS0c7SUFDSCxJQUFXLGVBQWUsQ0FBQyxLQUEyQjtRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVF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LGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pGLENBQUM7WUFDRCxPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxnQkFBZ0I7U0FDL0IsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RSxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztRQUVqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztDQUlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JpZFJlc291cmNlU3RyaW5nc0VOLCBJR3JpZFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9ncmlkLXJlc291cmNlcyc7XG5pbXBvcnQgeyBnZXRDdXJyZW50UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElQaXZvdERpbWVuc2lvbiB9IGZyb20gJy4vcGl2b3QtZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGl2b3RVdGlsIH0gZnJvbSAnLi9waXZvdC11dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3REYXRlRGltZW5zaW9uT3B0aW9ucyB7XG4gICAgLyoqIEVuYWJsZXMvRGlzYWJsZXMgdG90YWwgdmFsdWUgb2YgYWxsIHBlcmlvZHMuICovXG4gICAgdG90YWw/OiBib29sZWFuO1xuICAgIC8qKiBFbmFibGVzL0Rpc2FibGVzIGRpbWVuc2lvbnMgcGVyIHllYXIgZnJvbSBwcm92aWRlZCBwZXJpb2RzLiAqL1xuICAgIHllYXJzPzogYm9vbGVhbjtcbiAgICAvKi8qKiBFbmFibGVzL0Rpc2FibGVzIGRpbWVuc2lvbnMgcGVyIHF1YXJ0ZXIgZnJvbSBwcm92aWRlZCBwZXJpb2RzLiAqL1xuICAgIHF1YXJ0ZXJzPzogYm9vbGVhbjtcbiAgICAvKiogRW5hYmxlcy9EaXNhYmxlcyBkaW1lbnNpb25zIHBlciBtb250aCBmcm9tIHByb3ZpZGVkIHBlcmlvZHMuICovXG4gICAgbW9udGhzPzogYm9vbGVhbjtcbiAgICAvKiogRW5hYmxlZC9EaXNhYmxlcyBkaW1lbnNpb25zIGZvciB0aGUgZnVsbCBkYXRlIHByb3ZpZGVkICovXG4gICAgZnVsbERhdGU/OiBib29sZWFuO1xufVxuXG4vKiBibGF6b3JBbHRlcm5hdGVCYXNlVHlwZTogUGl2b3REaW1lbnNpb24gKi9cbi8qIGFsdGVybmF0ZUJhc2VUeXBlOiBQaXZvdERpbWVuc2lvbiAqL1xuLy8gRXF1YWxzIHRvIHByZXR0eSBtdWNoIHRoaXMgY29uZmlndXJhdGlvbjpcbi8vIHtcbi8vICAgICBtZW1iZXI6ICgpID0+ICdBbGwgUGVyaW9kcycsXG4vLyAgICAgZW5hYmxlZDogdHJ1ZSxcbi8vICAgICBmaWVsZE5hbWU6ICdBbGxQZXJpb2RzJyxcbi8vICAgICBjaGlsZExldmVsOiB7XG4vLyAgICAgICAgIGZpZWxkTmFtZTogJ1llYXJzJyxcbi8vICAgICAgICAgbWVtYmVyOiAocmVjKSA9PiB7XG4vLyAgICAgICAgICAgICBjb25zdCByZWNvcmRWYWx1ZSA9IHJlY1snRGF0ZSddO1xuLy8gICAgICAgICAgICAgcmV0dXJuIHJlY29yZFZhbHVlID8gKG5ldyBEYXRlKHJlY29yZFZhbHVlKSkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpIDogcmVjWydZZWFycyddO1xuLy8gICAgICAgICB9LFxuLy8gICAgICAgICBlbmFibGVkOiB0cnVlLFxuLy8gICAgICAgICBjaGlsZExldmVsOiB7XG4vLyAgICAgICAgICAgICAgICAgbWVtYmVyOiAocmVjKSA9PiB7XG4vLyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZFZhbHVlID0gcmVjWydEYXRlJ107XG4vLyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmRWYWx1ZSA/IG5ldyBEYXRlKHJlY29yZFZhbHVlKS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgbW9udGg6ICdsb25nJyB9KSA6IHJlY1snTW9udGhzJ107XG4vLyAgICAgICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuLy8gICAgICAgICAgICAgICAgIGZpZWxkTmFtZTogJ01vbnRocycsXG4vLyAgICAgICAgICAgICAgICAgY2hpbGRMZXZlbDoge1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgbWVtYmVyOiAnRGF0ZScsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZE5hbWU6J0RhdGUnLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZVxuLy8gICAgICAgICAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgfVxuLy8gfSxcbmV4cG9ydCBjbGFzcyBJZ3hQaXZvdERhdGVEaW1lbnNpb24gaW1wbGVtZW50cyBJUGl2b3REaW1lbnNpb24ge1xuICAgIC8qKiBFbmFibGVzL0Rpc2FibGVzIGEgcGFydGljdWxhciBkaW1lbnNpb24gZnJvbSBwaXZvdCBzdHJ1Y3R1cmUuICovXG4gICAgcHVibGljIGVuYWJsZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIGRhdGEgdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhVHlwZT86IEdyaWRDb2x1bW5EYXRhVHlwZTtcblxuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIERlZmF1bHQgb3B0aW9ucy4gKi9cbiAgICBwdWJsaWMgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgICAgIHRvdGFsOiB0cnVlLFxuICAgICAgICB5ZWFyczogdHJ1ZSxcbiAgICAgICAgbW9udGhzOiB0cnVlLFxuICAgICAgICBmdWxsRGF0ZTogdHJ1ZVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElHcmlkUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElHcmlkUmVzb3VyY2VTdHJpbmdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU3RyaW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIGJhc2UgZGltZW5zaW9uIHRoYXQgaXMgdXNlZCBieSB0aGlzIGNsYXNzIHRvIGRldGVybWluZSB0aGUgb3RoZXIgZGltZW5zaW9ucyBhbmQgdGhlaXIgdmFsdWVzLlxuICAgICAqIEhhdmluZyBiYXNlIGRpbWVuc2lvbiBzZXQgaXMgcmVxdWlyZWQgaW4gb3JkZXIgZm9yIHRoZSBEYXRlIERpbWVuc2lvbnMgdG8gc2hvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGJhc2VEaW1lbnNpb24oKTogSVBpdm90RGltZW5zaW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2VEaW1lbnNpb247XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgYmFzZURpbWVuc2lvbih2YWx1ZTogSVBpdm90RGltZW5zaW9uKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VEaW1lbnNpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKHRoaXMuYmFzZURpbWVuc2lvbiwgdGhpcy5vcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIG9wdGlvbnMgZm9yIHRoZSBwcmVkZWZpbmVkIGRhdGUgZGltZW5zaW9ucyB3aGV0aGVyIHRvIHNob3cgcXVhcnRlciwgeWVhcnMgYW5kIGV0Yy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogSVBpdm90RGF0ZURpbWVuc2lvbk9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBJUGl2b3REYXRlRGltZW5zaW9uT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmJhc2VEaW1lbnNpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSh0aGlzLmJhc2VEaW1lbnNpb24sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgY2hpbGRMZXZlbD86IElQaXZvdERpbWVuc2lvbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgbWVtYmVyTmFtZSA9ICdBbGxQZXJpb2RzJztcbiAgICBwdWJsaWMgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIF9yZXNvdXJjZVN0cmluZ3MgPSBnZXRDdXJyZW50UmVzb3VyY2VTdHJpbmdzKEdyaWRSZXNvdXJjZVN0cmluZ3NFTik7XG4gICAgcHJpdmF0ZSBfYmFzZURpbWVuc2lvbjogSVBpdm90RGltZW5zaW9uO1xuICAgIHByaXZhdGUgX29wdGlvbnM6IElQaXZvdERhdGVEaW1lbnNpb25PcHRpb25zID0ge307XG4gICAgcHJpdmF0ZSBfbW9udGhJbnRsID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2RlZmF1bHQnLCB7IG1vbnRoOiAnbG9uZycgfSk7XG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYWRkaXRpb25hbCBwaXZvdCBkYXRlIGRpbWVuc2lvbnMgYmFzZWQgb24gYSBwcm92aWRlZCBkaW1lbnNpb24gZGVzY3JpYmluZyBkYXRlIGRhdGE6XG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5EYXRlRGltZW5zaW9uIEJhc2UgZGltZW5zaW9uIHRoYXQgaXMgdXNlZCBieSB0aGlzIGNsYXNzIHRvIGRldGVybWluZSB0aGUgb3RoZXIgZGltZW5zaW9ucyBhbmQgdGhlaXIgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBpbk9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHByZWRlZmluZWQgZGF0ZSBkaW1lbnNpb25zIHdoZXRoZXIgdG8gc2hvdyBxdWFydGVyLCB5ZWFycyBhbmQgZXRjLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIC8vIERpc3BsYXlzIG9ubHkgeWVhcnMgYXMgcGFyZW50IGRpbWVuc2lvbiB0byB0aGUgYmFzZSBkaW1lbnNpb24gcHJvdmlkZWQuXG4gICAgICogbmV3IElneFBpdm90RGF0ZURpbWVuc2lvbih7IG1lbWJlck5hbWU6ICdEYXRlJywgZW5hYmxlZDogdHJ1ZSB9LCB7IHRvdGFsOiBmYWxzZSwgbW9udGhzOiBmYWxzZSB9KTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbkJhc2VEaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiA9IG51bGwsIGluT3B0aW9uczogSVBpdm90RGF0ZURpbWVuc2lvbk9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLl9iYXNlRGltZW5zaW9uID0gaW5CYXNlRGltZW5zaW9uO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gaW5PcHRpb25zO1xuICAgICAgICB0aGlzLmVuYWJsZWQgPSBpbkJhc2VEaW1lbnNpb24/LmVuYWJsZWQ7XG4gICAgICAgIGlmICh0aGlzLmJhc2VEaW1lbnNpb24gJiYgdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemUodGhpcy5iYXNlRGltZW5zaW9uLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemUoaW5CYXNlRGltZW5zaW9uLCBpbk9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4uaW5PcHRpb25zIH07XG5cbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IEdyaWRDb2x1bW5EYXRhVHlwZS5EYXRlO1xuICAgICAgICBpbkJhc2VEaW1lbnNpb24uZGF0YVR5cGUgPSBHcmlkQ29sdW1uRGF0YVR5cGUuRGF0ZTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0gaW5CYXNlRGltZW5zaW9uLmRpc3BsYXlOYW1lIHx8IHRoaXMucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX3Bpdm90X2RhdGVfZGltZW5zaW9uX3RvdGFsO1xuXG4gICAgICAgIGNvbnN0IGJhc2VEaW1lbnNpb24gPSBvcHRpb25zLmZ1bGxEYXRlID8gaW5CYXNlRGltZW5zaW9uIDogbnVsbDtcbiAgICAgICAgY29uc3QgbW9udGhEaW1lbnNpb25EZWY6IElQaXZvdERpbWVuc2lvbiA9IHtcbiAgICAgICAgICAgIG1lbWJlck5hbWU6ICdNb250aHMnLFxuICAgICAgICAgICAgbWVtYmVyRnVuY3Rpb246IChyZWMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRWYWx1ZSA9IFBpdm90VXRpbC5leHRyYWN0VmFsdWVGcm9tRGltZW5zaW9uKGluQmFzZURpbWVuc2lvbiwgcmVjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkVmFsdWUgPyB0aGlzLl9tb250aEludGwuZm9ybWF0KG5ldyBEYXRlKHJlY29yZFZhbHVlKSkgOiByZWNbJ01vbnRocyddO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZExldmVsOiBiYXNlRGltZW5zaW9uXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG1vbnRoRGltZW5zaW9uID0gb3B0aW9ucy5tb250aHMgPyBtb250aERpbWVuc2lvbkRlZiA6IGJhc2VEaW1lbnNpb247XG5cbiAgICAgICAgY29uc3QgcXVhcnRlckRpbWVuc2lvbkRlZjogSVBpdm90RGltZW5zaW9uID0ge1xuICAgICAgICAgICAgbWVtYmVyTmFtZTogJ1F1YXJ0ZXJzJyxcbiAgICAgICAgICAgIG1lbWJlckZ1bmN0aW9uOiAocmVjKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkVmFsdWUgPSBQaXZvdFV0aWwuZXh0cmFjdFZhbHVlRnJvbURpbWVuc2lvbihpbkJhc2VEaW1lbnNpb24sIHJlYyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZFZhbHVlID8gYFFgICsgTWF0aC5jZWlsKChuZXcgRGF0ZShyZWNvcmRWYWx1ZSkuZ2V0TW9udGgoKSArIDEpIC8gMykgOiByZWNbJ1F1YXJ0ZXJzJ107XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkTGV2ZWw6IG1vbnRoRGltZW5zaW9uXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJEaW1lbnNpb24gPSBvcHRpb25zLnF1YXJ0ZXJzID8gcXVhcnRlckRpbWVuc2lvbkRlZiA6IG1vbnRoRGltZW5zaW9uO1xuXG4gICAgICAgIGNvbnN0IHllYXJzRGltZW5zaW9uRGVmOiBJUGl2b3REaW1lbnNpb24gPSB7XG4gICAgICAgICAgICBtZW1iZXJOYW1lOiAnWWVhcnMnLFxuICAgICAgICAgICAgbWVtYmVyRnVuY3Rpb246IChyZWMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRWYWx1ZSA9IFBpdm90VXRpbC5leHRyYWN0VmFsdWVGcm9tRGltZW5zaW9uKGluQmFzZURpbWVuc2lvbiwgcmVjKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkVmFsdWUgPyAobmV3IERhdGUocmVjb3JkVmFsdWUpKS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkgOiByZWNbJ1llYXJzJ107XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkTGV2ZWw6IHF1YXJ0ZXJEaW1lbnNpb25cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgeWVhcnNEaW1lbnNpb24gPSBvcHRpb25zLnllYXJzID8geWVhcnNEaW1lbnNpb25EZWYgOiBxdWFydGVyRGltZW5zaW9uO1xuICAgICAgICB0aGlzLmNoaWxkTGV2ZWwgPSB5ZWFyc0RpbWVuc2lvbjtcblxuICAgICAgICBpZiAoIW9wdGlvbnMudG90YWwpIHtcbiAgICAgICAgICAgIHRoaXMubWVtYmVyTmFtZSA9IHllYXJzRGltZW5zaW9uLm1lbWJlck5hbWU7XG4gICAgICAgICAgICB0aGlzLm1lbWJlckZ1bmN0aW9uID0geWVhcnNEaW1lbnNpb24ubWVtYmVyRnVuY3Rpb247XG4gICAgICAgICAgICB0aGlzLmNoaWxkTGV2ZWwgPSB5ZWFyc0RpbWVuc2lvbi5jaGlsZExldmVsO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IHllYXJzRGltZW5zaW9uLmRpc3BsYXlOYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcHVibGljIG1lbWJlckZ1bmN0aW9uID0gKF9kYXRhKSA9PiB0aGlzLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9waXZvdF9kYXRlX2RpbWVuc2lvbl90b3RhbDtcbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { HEADER_KEYS, ROW_COLLAPSE_KEYS, ROW_EXPAND_KEYS } from '../../core/utils';
|
|
4
4
|
import { PivotUtil } from './pivot-util';
|
|
5
5
|
import { SortingDirection } from '../../data-operations/sorting-strategy';
|
|
6
|
-
import { take, timeout } from 'rxjs';
|
|
6
|
+
import { take, timeout } from 'rxjs/operators';
|
|
7
7
|
import { PivotSummaryPosition } from './pivot-grid.interface';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class IgxPivotGridNavigationService extends IgxGridNavigationService {
|
|
@@ -366,4 +366,4 @@ export class IgxPivotGridNavigationService extends IgxGridNavigationService {
|
|
|
366
366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IgxPivotGridNavigationService, decorators: [{
|
|
367
367
|
type: Injectable
|
|
368
368
|
}] });
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvcGl2b3QtZ3JpZC9waXZvdC1ncmlkLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQXFDLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBR2pHLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBd0I7SUFEM0U7O1FBR1csc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztLQXdZN0M7SUF0WUcsSUFBVyxzQkFBc0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsMkJBQTJCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFD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UUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQzs4R0ExWVEsNkJBQTZCO2tIQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQWN0aXZlTm9kZSwgSWd4R3JpZE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4UGl2b3RHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9waXZvdC1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIRUFERVJfS0VZUywgUk9XX0NPTExBUFNFX0tFWVMsIFJPV19FWFBBTkRfS0VZUyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgUGl2b3RVdGlsIH0gZnJvbSAnLi9waXZvdC11dGlsJztcbmltcG9ydCB7IElneFBpdm90Um93RGltZW5zaW9uTXJsUm93Q29tcG9uZW50IH0gZnJvbSAnLi9waXZvdC1yb3ctZGltZW5zaW9uLW1ybC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IElNdWx0aVJvd0xheW91dE5vZGUgfSBmcm9tICcuLi9wdWJsaWNfYXBpJztcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyB0YWtlLCB0aW1lb3V0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJUGl2b3REaW1lbnNpb24sIElQaXZvdEdyaWRSZWNvcmQsIFBpdm90U3VtbWFyeVBvc2l0aW9uIH0gZnJvbSAnLi9waXZvdC1ncmlkLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJZ3hQaXZvdEdyaWROYXZpZ2F0aW9uU2VydmljZSBleHRlbmRzIElneEdyaWROYXZpZ2F0aW9uU2VydmljZSB7XG4gICAgcHVibGljIG92ZXJyaWRlIGdyaWQ6IElneFBpdm90R3JpZENvbXBvbmVudDtcbiAgICBwdWJsaWMgaXNSb3dIZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgbGFzdFJvd0RpbWVuc2lvbnNJbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC52aXNpYmxlUm93RGltZW5zaW9ucy5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGFzdFJvd0RpbWVuc2lvbk1STFJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkLnZlcnRpY2FsUm93RGltU2Nyb2xsQ29udGFpbmVycy5maXJzdC5pZ3hHcmlkRm9yT2YubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNPdXRSb3dIZWFkZXIoKSB7XG4gICAgICAgIHRoaXMuaXNSb3dIZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhc3luYyBoYW5kbGVOYXZpZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzUm93SGVhZGVyQWN0aXZlKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGN0cmwgPSBldmVudC5jdHJsS2V5O1xuICAgICAgICAgICAgaWYgKCFIRUFERVJfS0VZUy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld0FjdGl2ZU5vZGU6IElBY3RpdmVOb2RlID0ge1xuICAgICAgICAgICAgICAgIHJvdzogdGhpcy5hY3RpdmVOb2RlLnJvdyxcbiAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sXG4gICAgICAgICAgICAgICAgbGV2ZWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbWNoQ2FjaGU6IG51bGwsXG4gICAgICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFsdChrZXksIGV2ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCB2ZXJ0aWNhbENvbnRhaW5lcjtcbiAgICAgICAgICAgIGlmICh0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdmVydGljYWxDb250YWluZXIgPSB0aGlzLmdyaWQudmVydGljYWxSb3dEaW1TY3JvbGxDb250YWluZXJzLmZpcnN0O1xuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2xlZnQnKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dEhvcml6b250YWxQb3NpdGlvbih0cnVlLCBjdHJsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygncmlnaHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dEhvcml6b250YWxQb3NpdGlvbihmYWxzZSwgY3RybCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ3VwJykgfHwga2V5ID09PSAnaG9tZScpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb24gPSBhd2FpdCB0aGlzLmdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHRydWUsIGN0cmwgfHwga2V5ID09PSAnaG9tZScsIGtleSA9PT0gJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKCdkb3duJykgfHwga2V5ID09PSAnZW5kJykge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dFZlcnRpY2FsUG9zaXRpb24oZmFsc2UsIGN0cmwgfHwga2V5ID09PSAnZW5kJywga2V5ID09PSAnZW5kJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSBuZXdQb3NpdGlvbi5yb3c7XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5jb2x1bW4gPSBuZXdQb3NpdGlvbi5jb2x1bW47XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5sYXlvdXQgPSBuZXdQb3NpdGlvbi5sYXlvdXQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICgoa2V5LmluY2x1ZGVzKCdsZWZ0JykgfHwga2V5ID09PSAnaG9tZScpICYmIHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4gPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUuY29sdW1uID0gY3RybCB8fCBrZXkgPT09ICdob21lJyA/IDAgOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uIC0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChrZXkuaW5jbHVkZXMoJ3JpZ2h0JykgfHwga2V5ID09PSAnZW5kJykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA8IHRoaXMubGFzdFJvd0RpbWVuc2lvbnNJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IGN0cmwgfHwga2V5ID09PSAnZW5kJyA/IHRoaXMubGFzdFJvd0RpbWVuc2lvbnNJbmRleCA6IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4gKyAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyID0gdGhpcy5ncmlkLnZlcnRpY2FsUm93RGltU2Nyb2xsQ29udGFpbmVycy50b0FycmF5KClbbmV3QWN0aXZlTm9kZS5jb2x1bW5dO1xuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ3VwJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN0cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZU5vZGUucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSB0aGlzLmFjdGl2ZU5vZGUucm93IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IG5ld0FjdGl2ZU5vZGUubGF5b3V0ID8gbmV3QWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQgLSAxIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUubGF5b3V0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0hlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLnRoZWFkUm93Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2Rvd24nKSAmJiB0aGlzLmFjdGl2ZU5vZGUucm93IDwgdGhpcy5maW5kTGFzdERhdGFSb3dJbmRleCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gY3RybCA/IHZlcnRpY2FsQ29udGFpbmVyLmlneEZvck9mLmxlbmd0aCAtIDEgOiBNYXRoLm1pbih0aGlzLmFjdGl2ZU5vZGUucm93ICsgMSwgdmVydGljYWxDb250YWluZXIuaWd4Rm9yT2YubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnbGVmdCcpIHx8IGtleS5pbmNsdWRlcygncmlnaHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2UkluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLnJvdztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldlNjckNvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFJvd0RpbVNjcm9sbENvbnRhaW5lcnMudG9BcnJheSgpW3RoaXMuYWN0aXZlTm9kZS5jb2x1bW5dO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzcmMgPSBwcmV2U2NyQ29udGFpbmVyLmdldFNjcm9sbEZvckluZGV4KHByZXZSSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLnJvdyA9IHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZSAmJiB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUubGV2ZWwgPT09IG5ld0FjdGl2ZU5vZGUuY29sdW1uID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZS52aXNpYmxlSW5kZXggOlxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxDb250YWluZXIuZ2V0SW5kZXhBdFNjcm9sbChzcmMpO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLm1jaENhY2hlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUluZGV4OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlTm9kZShuZXdBY3RpdmVOb2RlKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmlkLmhhc0hvcml6b250YWxMYXlvdXQgJiYgdmVydGljYWxDb250YWluZXIuaXNJbmRleE91dHNpZGVWaWV3KG5ld0FjdGl2ZU5vZGUucm93KSkge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyLnNjcm9sbFRvKG5ld0FjdGl2ZU5vZGUucm93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZU5hdmlnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUFsdChrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBsZXQgcm93RGF0YSwgZGltSW5kZXg7XG4gICAgICAgIGlmICghdGhpcy5ncmlkLmhhc0hvcml6b250YWxMYXlvdXQpIHtcbiAgICAgICAgICAgIGRpbUluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLmNvbHVtbjtcbiAgICAgICAgICAgIGNvbnN0IHNjckNvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFJvd0RpbVNjcm9sbENvbnRhaW5lcnMudG9BcnJheSgpW2RpbUluZGV4XTtcbiAgICAgICAgICAgIHJvd0RhdGEgPSBzY3JDb250YWluZXIuaWd4R3JpZEZvck9mW3RoaXMuYWN0aXZlTm9kZS5yb3ddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbXJsUm93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQobXJsID0+IG1ybC5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgICAgICByb3dEYXRhID0gbXJsUm93LnJvd0dyb3VwW3RoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQgLSAxXTtcbiAgICAgICAgICAgIGRpbUluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGltZW5zaW9uID0gdGhpcy5ncmlkLnZpc2libGVSb3dEaW1lbnNpb25zW2RpbUluZGV4XTtcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uUm93S2V5ID0gUGl2b3RVdGlsLmdldFJlY29yZEtleShyb3dEYXRhLCBkaW1lbnNpb24pO1xuICAgICAgICBjb25zdCBpc0V4cGFuZGVkID0gdGhpcy5ncmlkLmV4cGFuc2lvblN0YXRlcy5nZXQoZXhwYW5zaW9uUm93S2V5KSA/PyB0cnVlO1xuXG4gICAgICAgIGxldCBwcmV2Q2VsbExheW91dDtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRSb3cgPSB0aGlzLmdyaWQucm93RGltZW5zaW9uTXJsUm93c0NvbGxlY3Rpb24uZmluZChyb3cgPT4gcm93LnJvd0luZGV4ID09PSB0aGlzLmFjdGl2ZU5vZGUucm93KTtcbiAgICAgICAgICAgIHByZXZDZWxsTGF5b3V0ID0gdGhpcy5nZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChcbiAgICAgICAgICAgICAgICBwYXJlbnRSb3csXG4gICAgICAgICAgICAgICAgTWF0aC5taW4ocGFyZW50Um93LnJvd0dyb3VwLmxlbmd0aCwgdGhpcy5hY3RpdmVOb2RlLmxheW91dC5yb3dTdGFydCksXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUk9XX0VYUEFORF9LRVlTLmhhcyhrZXkpICYmICFpc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQuZ3JpZEFQSS5zZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShleHBhbnNpb25Sb3dLZXksIHRydWUsIGV2ZW50KVxuICAgICAgICB9IGVsc2UgaWYgKFJPV19DT0xMQVBTRV9LRVlTLmhhcyhrZXkpICYmIGlzRXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC5ncmlkQVBJLnNldF9yb3dfZXhwYW5zaW9uX3N0YXRlKGV4cGFuc2lvblJvd0tleSwgZmFsc2UsIGV2ZW50KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChST1dfRVhQQU5EX0tFWVMuaGFzKGtleSkgJiYgIWlzRXhwYW5kZWQpIHx8IChST1dfQ09MTEFQU0VfS0VZUy5oYXMoa2V5KSAmJiBpc0V4cGFuZGVkKSkge1xuICAgICAgICAgICAgdGhpcy5vblJvd1RvZ2dsZSghaXNFeHBhbmRlZCwgZGltZW5zaW9uLCByb3dEYXRhLCBwcmV2Q2VsbExheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVOb2RlTGF5b3V0KCk7XG4gICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjdGl2ZU5vZGVMYXlvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCkge1xuICAgICAgICAgICAgY29uc3QgbXJsUm93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVDZWxsID0gbXJsUm93LmNvbnRlbnRDZWxscy50b0FycmF5KClbdGhpcy5hY3RpdmVOb2RlLmNvbHVtbl07XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0ID0gYWN0aXZlQ2VsbC5sYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIGFjdGl2ZSBjZWxsIHdoZW4gdG9nZ2xpbmcgcm93IGV4cGFuZCB3aGVuIGhvcml6b250YWwgc3VtbWFyaWVzIGhhdmUgcG9zaXRpb24gc2V0IHRvIHRvcCAqL1xuICAgIHB1YmxpYyBvblJvd1RvZ2dsZShuZXdFeHBhbmRTdGF0ZTogYm9vbGVhbiwgZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24sIHJvd0RhdGE6IElQaXZvdEdyaWRSZWNvcmQsIHByZXZDZWxsTGF5b3V0OiBJTXVsdGlSb3dMYXlvdXROb2RlKXtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0ICYmXG4gICAgICAgICAgICByb3dEYXRhLnRvdGFsUmVjb3JkRGltZW5zaW9uTmFtZSAhPT0gZGltZW5zaW9uLm1lbWJlck5hbWUgJiZcbiAgICAgICAgICAgIGRpbWVuc2lvbi5ob3Jpem9udGFsU3VtbWFyeSAmJiB0aGlzLmdyaWQucGl2b3RVSS5ob3Jpem9udGFsU3VtbWFyaWVzUG9zaXRpb24gPT09IFBpdm90U3VtbWFyeVBvc2l0aW9uLlRvcCkge1xuICAgICAgICAgICAgY29uc3QgbWF4QWN0aXZlUm93ID0gTWF0aC5taW4odGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXgsIHRoaXMuYWN0aXZlTm9kZS5yb3cpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Um93VXBkYXRlZCA9IHRoaXMuZ3JpZC5yb3dEaW1lbnNpb25NcmxSb3dzQ29sbGVjdGlvbi5maW5kKHJvdyA9PiByb3cucm93SW5kZXggPT09IG1heEFjdGl2ZVJvdyk7XG4gICAgICAgICAgICBjb25zdCBtYXhSb3dFbmQgPSBwYXJlbnRSb3dVcGRhdGVkLnJvd0dyb3VwLmxlbmd0aCArIDE7XG4gICAgICAgICAgICBjb25zdCBuZXh0Um93U3RhcnQgPSBNYXRoLm1heCgxLCB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0ICsgKCFuZXdFeHBhbmRTdGF0ZSA/IC0xIDogMSkpO1xuICAgICAgICAgICAgY29uc3QgY3VyVmFsaWRSb3dTdGFydCA9IE1hdGgubWluKHBhcmVudFJvd1VwZGF0ZWQucm93R3JvdXAubGVuZ3RoLCBuZXh0Um93U3RhcnQpO1xuICAgICAgICAgICAgLy8gR2V0IGN1cnJlbnQgY2VsbCBsYXlvdXQsIGJlY2F1c2UgdGhlIGFjdGluZU5vZGUgdGhlIHJvd1N0YXJ0IG1pZ2h0IGJlIGRpZmZlcmVudCwgYmFzZWQgb24gd2hlcmUgd2UgY29tZSBmcm9tKG1pZ2h0IGJlIHNtYWxsZXIgY2VsbCkuXG5cbiAgICAgICAgICAgIGNvbnN0IGN1ckNlbGxMYXlvdXQgPSB0aGlzLmdldE5leHRWZXJ0aWNhbENvbHVtbkluZGV4KHBhcmVudFJvd1VwZGF0ZWQsIGN1clZhbGlkUm93U3RhcnQsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQpO1xuICAgICAgICAgICAgY29uc3QgbmV4dEJsb2NrID0gKCFuZXdFeHBhbmRTdGF0ZSAmJiBwcmV2Q2VsbExheW91dC5yb3dTdGFydCA9PT0gMSkgfHwgKG5ld0V4cGFuZFN0YXRlICYmICBwcmV2Q2VsbExheW91dC5yb3dFbmQgPj0gbWF4Um93RW5kKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5yb3cgKz0gbmV4dEJsb2NrID8gKCFuZXdFeHBhbmRTdGF0ZSA/IC0xIDogMSkgOiAwO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA9IGN1ckNlbGxMYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4O1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmxheW91dCA9IGN1ckNlbGxMYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaGVhZGVyTmF2aWdhdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgY3RybCA9IGV2ZW50LmN0cmxLZXk7XG4gICAgICAgIGlmICghSEVBREVSX0tFWVMuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzUm93RGltZW5zaW9uSGVhZGVyQWN0aXZlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdBY3RpdmVOb2RlOiBJQWN0aXZlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICByb3c6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uLFxuICAgICAgICAgICAgICAgIGxldmVsOiBudWxsLFxuICAgICAgICAgICAgICAgIG1jaENhY2hlOiB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUsXG4gICAgICAgICAgICAgICAgbGF5b3V0OiBudWxsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjdHJsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGltSW5kZXggPSB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpbSA9IHRoaXMuZ3JpZC52aXNpYmxlUm93RGltZW5zaW9uc1tkaW1JbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlTm9kZS5yb3cgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2Rvd24nKSB8fCBrZXkuaW5jbHVkZXMoJ3VwJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdTb3J0RGlyZWN0aW9uID0gU29ydGluZ0RpcmVjdGlvbi5Ob25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnZG93bicpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U29ydERpcmVjdGlvbiA9IChkaW0uc29ydERpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5EZXNjKSA/IFNvcnRpbmdEaXJlY3Rpb24uTm9uZSA6IFNvcnRpbmdEaXJlY3Rpb24uRGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCd1cCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U29ydERpcmVjdGlvbiA9IChkaW0uc29ydERpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5Bc2MpID8gU29ydGluZ0RpcmVjdGlvbi5Ob25lIDogU29ydGluZ0RpcmVjdGlvbi5Bc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuc29ydERpbWVuc2lvbihkaW0sIG5ld1NvcnREaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKChrZXkuaW5jbHVkZXMoJ2xlZnQnKSB8fCBrZXkgPT09ICdob21lJykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IGN0cmwgfHwga2V5ID09PSAnaG9tZScgPyAwIDogdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGtleS5pbmNsdWRlcygncmlnaHQnKSB8fCBrZXkgPT09ICdlbmQnKSAmJiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uIDwgdGhpcy5sYXN0Um93RGltZW5zaW9uc0luZGV4KSB7XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5jb2x1bW4gPSBjdHJsIHx8IGtleSA9PT0gJ2VuZCcgPyB0aGlzLmxhc3RSb3dEaW1lbnNpb25zSW5kZXggOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uICsgMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCdyaWdodCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUuY29sdW1uID0gMDtcbiAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmxldmVsID0gdGhpcy5hY3RpdmVOb2RlLm1jaENhY2hlPy5sZXZlbCB8fCAwO1xuICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUubWNoQ2FjaGUgPSB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUgfHwge1xuICAgICAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUluZGV4OiAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnZG93bicpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5yb3cgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm93U3RhcnQ6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dFbmQ6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xTdGFydDogbmV3QWN0aXZlTm9kZS5jb2x1bW4gKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sRW5kOiBuZXdBY3RpdmVOb2RlLmNvbHVtbiArIDIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5WaXNpYmxlSW5kZXg6IG5ld0FjdGl2ZU5vZGUuY29sdW1uXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb24gPSBhd2FpdCB0aGlzLmdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHRydWUsIGN0cmwgfHwga2V5ID09PSAnaG9tZScsIGtleSA9PT0gJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSAwO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IG5ld1Bvc2l0aW9uLmNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5sYXlvdXQgPSBuZXdQb3NpdGlvbi5sYXlvdXQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmVydGljYWxDb250YWluZXIgPSB0aGlzLmdyaWQudmVydGljYWxSb3dEaW1TY3JvbGxDb250YWluZXJzLnRvQXJyYXkoKVtuZXdBY3RpdmVOb2RlLmNvbHVtbl07XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gY3RybCA/IHZlcnRpY2FsQ29udGFpbmVyLmlneEZvck9mLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUm93SGVhZGVyQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWQucm93RGltZW5zaW9uQ29udGFpbmVyLnRvQXJyYXkoKVt0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCA/IDAgOiBuZXdBY3RpdmVOb2RlLmNvbHVtbl0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZU5vZGUobmV3QWN0aXZlTm9kZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCdsZWZ0JykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA9PT0gMCAmJiB0aGlzLmdyaWQucGl2b3RVSS5zaG93Um93SGVhZGVycykge1xuICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBuZXdBY3RpdmVOb2RlOiBJQWN0aXZlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICByb3c6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmxhc3RSb3dEaW1lbnNpb25zSW5kZXgsXG4gICAgICAgICAgICAgICAgbGV2ZWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbWNoQ2FjaGU6IHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZSxcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IG51bGxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVOb2RlKG5ld0FjdGl2ZU5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIuaGVhZGVyTmF2aWdhdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9jdXNUYm9keShldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlTm9kZSB8fCB0aGlzLmFjdGl2ZU5vZGUucm93ID09PSBudWxsIHx8IHRoaXMuYWN0aXZlTm9kZS5yb3cgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5sYXN0QWN0aXZlTm9kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmZvY3VzVGJvZHkoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHByZXZpb3VzLCBjdHJsLCBob21lRW5kKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFJvdyA9IHRoaXMuZ3JpZC5yb3dEaW1lbnNpb25NcmxSb3dzQ29sbGVjdGlvbi5maW5kKHJvdyA9PiByb3cucm93SW5kZXggPT09IHRoaXMuYWN0aXZlTm9kZS5yb3cpO1xuICAgICAgICBjb25zdCBtYXhSb3dFbmQgPSBwYXJlbnRSb3cucm93R3JvdXAubGVuZ3RoICsgMTtcbiAgICAgICAgY29uc3QgY3VyVmFsaWRSb3dTdGFydCA9IE1hdGgubWluKHBhcmVudFJvdy5yb3dHcm91cC5sZW5ndGgsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQpO1xuICAgICAgICAvLyBHZXQgY3VycmVudCBjZWxsIGxheW91dCwgYmVjYXVzZSB0aGUgYWN0aW5lTm9kZSB0aGUgcm93U3RhcnQgbWlnaHQgYmUgZGlmZmVyZW50LCBiYXNlZCBvbiB3aGVyZSB3ZSBjb21lIGZyb20obWlnaHQgYmUgc21hbGxlciBjZWxsKS5cbiAgICAgICAgY29uc3QgY3VyQ2VsbExheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgocGFyZW50Um93LCBjdXJWYWxpZFJvd1N0YXJ0LCB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LmNvbFN0YXJ0KTtcbiAgICAgICAgY29uc3QgbmV4dEJsb2NrID0gKHByZXZpb3VzICYmIGN1ckNlbGxMYXlvdXQucm93U3RhcnQgPT09IDEpIHx8ICghcHJldmlvdXMgJiYgY3VyQ2VsbExheW91dC5yb3dFbmQgPT09IG1heFJvd0VuZCk7XG4gICAgICAgIGlmIChuZXh0QmxvY2sgJiZcbiAgICAgICAgICAgICgocHJldmlvdXMgJiYgdGhpcy5hY3RpdmVOb2RlLnJvdyA9PT0gMCkgfHxcbiAgICAgICAgICAgICghcHJldmlvdXMgJiYgdGhpcy5hY3RpdmVOb2RlLnJvdyA9PT0gdGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXgpKSkge1xuICAgICAgICAgICAgaWYgKHByZXZpb3VzICYmIHRoaXMuZ3JpZC5waXZvdFVJLnNob3dSb3dIZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0hlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC50aGVhZFJvdy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICB7IHJvdzogLTEsIGNvbHVtbjogdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCAtIDEsIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LCBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dE1STFJvd0luZGV4ID0gcHJldmlvdXMgP1xuICAgICAgICAgICAgKGN0cmwgPyAwIDogdGhpcy5hY3RpdmVOb2RlLnJvdyAtIDEpIDpcbiAgICAgICAgICAgIChjdHJsID8gdGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXggOiB0aGlzLmFjdGl2ZU5vZGUucm93ICsgMSkgO1xuICAgICAgICBsZXQgbmV4dFJvdyA9IG5leHRCbG9jayB8fCBjdHJsID8gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gbmV4dE1STFJvd0luZGV4KSA6IHBhcmVudFJvdztcbiAgICAgICAgaWYgKCFuZXh0Um93KSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0RGF0YVZpZXdJbmRleCA9IHByZXZpb3VzID9cbiAgICAgICAgICAgICAgICAoY3RybCA/IDAgOiBwYXJlbnRSb3cucm93R3JvdXBbY3VyQ2VsbExheW91dC5yb3dTdGFydCAtIDFdLmRhdGFJbmRleCAtIDEpIDpcbiAgICAgICAgICAgICAgICAoY3RybCA/IHRoaXMuZ3JpZC5kYXRhVmlldy5sZW5ndGggLSAxIDogcGFyZW50Um93LnJvd0dyb3VwW2N1ckNlbGxMYXlvdXQucm93RW5kIC0gMl0uZGF0YUluZGV4ICsgMSk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNjcm9sbFRvTmV4dEhvcml6b250YWxEaW1Sb3cobmV4dERhdGFWaWV3SW5kZXgpO1xuICAgICAgICAgICAgbmV4dFJvdyA9IG5leHRCbG9jayB8fCBjdHJsID8gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gbmV4dE1STFJvd0luZGV4KSA6IHBhcmVudFJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHRSb3dTdGFydCA9IG5leHRCbG9jayA/XG4gICAgICAgICAgICAocHJldmlvdXMgPyBuZXh0Um93LnJvd0dyb3VwLmxlbmd0aCA6IDEpIDpcbiAgICAgICAgICAgIChwcmV2aW91cyA/IGN1ckNlbGxMYXlvdXQucm93U3RhcnQgLSAxIDogY3VyQ2VsbExheW91dC5yb3dFbmQpO1xuICAgICAgICBjb25zdCBtYXhDb2xFbmQgPSBNYXRoLm1heCguLi5uZXh0Um93LmNvbnRlbnRDZWxscy5tYXAoY2VsbCA9PiBjZWxsLmxheW91dC5jb2xFbmQpKTtcbiAgICAgICAgY29uc3QgbmV4dENvbHVtbkxheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgoXG4gICAgICAgICAgICBuZXh0Um93LFxuICAgICAgICAgICAgY3RybCA/IChwcmV2aW91cyA/IDEgOiBuZXh0Um93LnJvd0dyb3VwLmxlbmd0aCkgOiBuZXh0Um93U3RhcnQsXG4gICAgICAgICAgICBob21lRW5kID8gKHByZXZpb3VzID8gMSA6IG1heENvbEVuZCAtIDEpIDogdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5leHREYXRhVmlld0luZGV4ID0gcHJldmlvdXMgP1xuICAgICAgICAgICAgbmV4dFJvdy5yb3dHcm91cFtuZXh0Q29sdW1uTGF5b3V0LnJvd1N0YXJ0IC0gMV0uZGF0YUluZGV4OlxuICAgICAgICAgICAgbmV4dFJvdy5yb3dHcm91cFtuZXh0Q29sdW1uTGF5b3V0LnJvd0VuZCAtIDJdLmRhdGFJbmRleDtcbiAgICAgICAgYXdhaXQgdGhpcy5zY3JvbGxUb05leHRIb3Jpem9udGFsRGltUm93KG5leHREYXRhVmlld0luZGV4KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcm93OiBuZXh0QmxvY2sgfHwgY3RybCA/IG5leHRNUkxSb3dJbmRleCA6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICBjb2x1bW46IG5leHRDb2x1bW5MYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4LFxuICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcm93U3RhcnQ6IG5leHRDb2x1bW5MYXlvdXQucm93U3RhcnQsXG4gICAgICAgICAgICAgICAgcm93RW5kOiBuZXh0Q29sdW1uTGF5b3V0LnJvd0VuZCxcbiAgICAgICAgICAgICAgICBjb2xTdGFydDogaG9tZUVuZCA/IG5leHRDb2x1bW5MYXlvdXQuY29sU3RhcnQgOiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LmNvbFN0YXJ0LFxuICAgICAgICAgICAgICAgIGNvbEVuZDogbmV4dENvbHVtbkxheW91dC5jb2xFbmQsXG4gICAgICAgICAgICAgICAgY29sdW1uVmlzaWJsZUluZGV4OiBuZXh0Q29sdW1uTGF5b3V0LmNvbHVtblZpc2libGVJbmRleFxuICAgICAgICAgICAgfSBhcyBJTXVsdGlSb3dMYXlvdXROb2RlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldE5leHRIb3Jpem9udGFsUG9zaXRpb24ocHJldmlvdXMsIGN0cmwpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Um93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgIGNvbnN0IG1heENvbEVuZCA9IE1hdGgubWF4KC4uLnBhcmVudFJvdy5jb250ZW50Q2VsbHMubWFwKGNlbGwgPT4gY2VsbC5sYXlvdXQuY29sRW5kKSk7XG4gICAgICAgIC8vIEdldCBjdXJyZW50IGNlbGwgbGF5b3V0LCBiZWNhdXNlIHRoZSBhY3RpbmVOb2RlIHRoZSByb3dTdGFydCBtaWdodCBiZSBkaWZmZXJlbnQsIGJhc2VkIG9uIHdoZXJlIHdlIGNvbWUgZnJvbShtaWdodCBiZSBzbWFsbGVyIGNlbGwpLlxuICAgICAgICBjb25zdCBjdXJDZWxsTGF5b3V0ID0gdGhpcy5nZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChwYXJlbnRSb3csIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQpO1xuXG4gICAgICAgIGlmICgocHJldmlvdXMgJiYgY3VyQ2VsbExheW91dC5jb2xTdGFydCA9PT0gMSkgfHwgKCFwcmV2aW91cyAmJiBjdXJDZWxsTGF5b3V0LmNvbEVuZCA9PT0gbWF4Q29sRW5kKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LCBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dENvbFN0YXJ0Tm9ybWFsID0gY3VyQ2VsbExheW91dC5jb2xTdGFydCArIChwcmV2aW91cyA/IC0xIDogY3VyQ2VsbExheW91dC5jb2xFbmQgLSBjdXJDZWxsTGF5b3V0LmNvbFN0YXJ0KTtcbiAgICAgICAgY29uc3QgbmV4dENvbHVtbkxheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgoXG4gICAgICAgICAgICBwYXJlbnRSb3csXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0LFxuICAgICAgICAgICAgY3RybCA/IChwcmV2aW91cyA/IDEgOiBtYXhDb2xFbmQgLSAxKSA6IG5leHRDb2xTdGFydE5vcm1hbFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5leHREYXRhVmlld0luZGV4ID0gcGFyZW50Um93LnJvd0dyb3VwW25leHRDb2x1bW5MYXlvdXQucm93U3RhcnQgLSAxXS5kYXRhSW5kZXhcbiAgICAgICAgYXdhaXQgdGhpcy5zY3JvbGxUb05leHRIb3Jpem9udGFsRGltUm93KG5leHREYXRhVmlld0luZGV4KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgY29sdW1uOiBuZXh0Q29sdW1uTGF5b3V0LmNvbHVtblZpc2libGVJbmRleCxcbiAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHJvd1N0YXJ0OiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0LFxuICAgICAgICAgICAgICAgIHJvd0VuZDogbmV4dENvbHVtbkxheW91dC5yb3dFbmQsXG4gICAgICAgICAgICAgICAgY29sU3RhcnQ6IG5leHRDb2x1bW5MYXlvdXQuY29sU3RhcnQsXG4gICAgICAgICAgICAgICAgY29sRW5kOiBuZXh0Q29sdW1uTGF5b3V0LmNvbEVuZCxcbiAgICAgICAgICAgICAgICBjb2x1bW5WaXNpYmxlSW5kZXg6IG5leHRDb2x1bW5MYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4XG4gICAgICAgICAgICB9IGFzIElNdWx0aVJvd0xheW91dE5vZGVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHNjcm9sbFRvTmV4dEhvcml6b250YWxEaW1Sb3cobmV4dERhdGFWaWV3SW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbENvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgaWYgKHZlcnRpY2FsQ29udGFpbmVyLmlzSW5kZXhPdXRzaWRlVmlldyhuZXh0RGF0YVZpZXdJbmRleCkpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyLnNjcm9sbFRvKG5leHREYXRhVmlld0luZGV4KTtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLmdyaWRTY3JvbGwucGlwZSh0YWtlKDEpLCB0aW1lb3V0KHsgZmlyc3Q6IDEwMDAwIH0pKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBuZXh0OiAodmFsdWUpID0+IHJlc29sdmUodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4gcmVzb2x2ZShlcnIpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBnZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChuZXh0Um93OiBJZ3hQaXZvdFJvd0RpbWVuc2lvbk1ybFJvd0NvbXBvbmVudCwgbmV3Um93U3RhcnQsIG5ld0NvbFN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IG5leHRDZWxsID0gbmV4dFJvdy5jb250ZW50Q2VsbHMuZmluZChjZWxsID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjZWxsLmxheW91dC5yb3dTdGFydCA8PSBuZXdSb3dTdGFydCAmJiBuZXdSb3dTdGFydCA8IGNlbGwubGF5b3V0LnJvd0VuZCAmJlxuICAgICAgICAgICAgICAgIGNlbGwubGF5b3V0LmNvbFN0YXJ0IDw9IG5ld0NvbFN0YXJ0ICYmIG5ld0NvbFN0YXJ0IDwgY2VsbC5sYXlvdXQuY29sRW5kO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5leHRDZWxsLmxheW91dDtcbiAgICB9XG59XG4iXX0=
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC1uYXZpZ2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvcGl2b3QtZ3JpZC9waXZvdC1ncmlkLW5hdmlnYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBcUMsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHakcsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHdCQUF3QjtJQUQzRTs7UUFHVyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO0tBd1k3QztJQXRZRyxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBVywyQkFBMkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRWUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQW9CO1FBQ3ZELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU87WUFDWCxDQUFDO1lBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLE1BQU0sYUFBYSxHQUFnQjtnQkFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDOUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTthQUNqQyxDQUFBO1lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxpQkFBaUIsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxXQUFXLEdBQUc7b0JBQ2QsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztvQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtpQkFDakMsQ0FBQztnQkFDRixpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQztnQkFDbkUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ25FLENBQUM7Z0JBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BFLENBQUM7Z0JBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztvQkFDdkMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxJQUFJLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUM7Z0JBQ25HLENBQUM7Z0JBRUQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDeEMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRSxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ2xHLENBQUM7Z0JBRUQsYUFBYSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUNwQyxhQUFhLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM5QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN6RSxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDbkYsQ0FBQztnQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7b0JBQ25HLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RyxDQUFDO2dCQUVELGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDUCxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsQ0FBQzt5QkFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNqQyxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFDaEQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZCLGFBQWEsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3BGLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUM1QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO3dCQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO3dCQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdDLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztvQkFDNUUsYUFBYSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoSixDQUFDO2dCQUVELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDcEcsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzNELGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDckcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ3ZDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHO3dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO3dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO3FCQUNoQyxDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUYsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFZSxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQW9CO1FBQ3ZELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNqQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRixPQUFPLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9ELFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFMUUsSUFBSSxjQUFjLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUcsY0FBYyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDNUMsU0FBUyxFQUNULElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3BFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzNFLENBQUM7YUFBTSxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVFLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxzQkFBc0I7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekcsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFFRCxxR0FBcUc7SUFDOUYsV0FBVyxDQUFDLGNBQXVCLEVBQUUsU0FBMEIsRUFBRSxPQUF5QixFQUFFLGNBQW1DO1FBQ2xJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDN0IsT0FBTyxDQUFDLHdCQUF3QixLQUFLLFNBQVMsQ0FBQyxVQUFVO1lBQ3pELFNBQVMsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsS0FBSyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM1RyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxDQUFDO1lBQzVHLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNsRix1SUFBdUk7WUFFdkksTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNILE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSyxjQUFjLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQ2hJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1lBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVlLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUN2RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLE1BQU0sYUFBYSxHQUFnQjtnQkFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDOUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtnQkFDbEMsTUFBTSxFQUFFLElBQUk7YUFDZixDQUFBO1lBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM3QixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUM3QyxJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQzt3QkFDN0MsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7NEJBQ3ZCLGdCQUFnQixHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3JILENBQUM7NkJBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQzVCLGdCQUFnQixHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7d0JBQ25ILENBQUM7d0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUM7d0JBQy9DLE9BQU87b0JBQ1gsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekUsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksR0FBRyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDbkYsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDbkcsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDNUcsQ0FBQztpQkFBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztnQkFDeEMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDM0QsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSTtvQkFDakQsS0FBSyxFQUFFLENBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUM7aUJBQ2xCLENBQUM7WUFDTixDQUFDO1lBRUQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHO3dCQUNyQixRQUFRLEVBQUUsQ0FBQzt3QkFDWCxNQUFNLEVBQUUsQ0FBQzt3QkFDVCxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDO3dCQUNsQyxNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDO3dCQUNoQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsTUFBTTtxQkFDM0MsQ0FBQztvQkFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUUsR0FBRyxLQUFLLE1BQU0sQ0FBQyxDQUFDO29CQUNyRyxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFDdEIsYUFBYSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUMxQyxhQUFhLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNuRyxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekUsQ0FBQztnQkFFRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2dCQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5SCxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsRyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFnQjtnQkFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxzQkFBc0I7Z0JBQ25DLEtBQUssRUFBRSxJQUFJO2dCQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVE7Z0JBQ2xDLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQTtZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFZSxVQUFVLENBQUMsS0FBSztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU87UUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUcsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5Rix1SUFBdUk7UUFDdkksTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwSCxNQUFNLFNBQVMsR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNsSCxJQUFJLFNBQVM7WUFDVCxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0UsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekMsT0FBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyRyxDQUFDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEcsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUU7UUFDekUsSUFBSSxPQUFPLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzNELE9BQU8sR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwSSxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNwRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDcEQsT0FBTyxFQUNQLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUM5RCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3RSxDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQztZQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUEsQ0FBQztZQUMxRCxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUQsTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRCxPQUFPO1lBQ0gsR0FBRyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQzlELE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxrQkFBa0I7WUFDM0MsTUFBTSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO2dCQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtnQkFDL0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2dCQUMvRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtnQkFDL0Isa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCO2FBQ25DO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRU0sS0FBSyxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxJQUFJO1FBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0Rix1SUFBdUk7UUFDdkksTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkksSUFBSSxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xHLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hHLENBQUM7UUFFRCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwSCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDcEQsU0FBUyxFQUNULElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUM3RCxDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDckYsTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRCxPQUFPO1lBQ0gsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUN4QixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCO1lBQzNDLE1BQU0sRUFBRTtnQkFDSixRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUTtnQkFDekMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07Z0JBQy9CLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO2dCQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtnQkFDL0Isa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCO2FBQ25DO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRU8sS0FBSyxDQUFDLDRCQUE0QixDQUFDLGlCQUF5QjtRQUNoRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDNUQsSUFBSSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDMUQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDOUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNwRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQy9CLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztpQkFDL0IsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUdPLDBCQUEwQixDQUFDLE9BQTRDLEVBQUUsV0FBVyxFQUFFLFdBQVc7UUFDckcsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxXQUFXLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksV0FBVyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDOzhHQTFZUSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBY3RpdmVOb2RlLCBJZ3hHcmlkTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ncmlkLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hQaXZvdEdyaWRDb21wb25lbnQgfSBmcm9tICcuL3Bpdm90LWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IEhFQURFUl9LRVlTLCBST1dfQ09MTEFQU0VfS0VZUywgUk9XX0VYUEFORF9LRVlTIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBQaXZvdFV0aWwgfSBmcm9tICcuL3Bpdm90LXV0aWwnO1xuaW1wb3J0IHsgSWd4UGl2b3RSb3dEaW1lbnNpb25NcmxSb3dDb21wb25lbnQgfSBmcm9tICcuL3Bpdm90LXJvdy1kaW1lbnNpb24tbXJsLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU11bHRpUm93TGF5b3V0Tm9kZSB9IGZyb20gJy4uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IHRha2UsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJUGl2b3REaW1lbnNpb24sIElQaXZvdEdyaWRSZWNvcmQsIFBpdm90U3VtbWFyeVBvc2l0aW9uIH0gZnJvbSAnLi9waXZvdC1ncmlkLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJZ3hQaXZvdEdyaWROYXZpZ2F0aW9uU2VydmljZSBleHRlbmRzIElneEdyaWROYXZpZ2F0aW9uU2VydmljZSB7XG4gICAgcHVibGljIG92ZXJyaWRlIGdyaWQ6IElneFBpdm90R3JpZENvbXBvbmVudDtcbiAgICBwdWJsaWMgaXNSb3dIZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgbGFzdFJvd0RpbWVuc2lvbnNJbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC52aXNpYmxlUm93RGltZW5zaW9ucy5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGFzdFJvd0RpbWVuc2lvbk1STFJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkLnZlcnRpY2FsUm93RGltU2Nyb2xsQ29udGFpbmVycy5maXJzdC5pZ3hHcmlkRm9yT2YubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNPdXRSb3dIZWFkZXIoKSB7XG4gICAgICAgIHRoaXMuaXNSb3dIZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhc3luYyBoYW5kbGVOYXZpZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzUm93SGVhZGVyQWN0aXZlKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGN0cmwgPSBldmVudC5jdHJsS2V5O1xuICAgICAgICAgICAgaWYgKCFIRUFERVJfS0VZUy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld0FjdGl2ZU5vZGU6IElBY3RpdmVOb2RlID0ge1xuICAgICAgICAgICAgICAgIHJvdzogdGhpcy5hY3RpdmVOb2RlLnJvdyxcbiAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sXG4gICAgICAgICAgICAgICAgbGV2ZWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbWNoQ2FjaGU6IG51bGwsXG4gICAgICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUFsdChrZXksIGV2ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCB2ZXJ0aWNhbENvbnRhaW5lcjtcbiAgICAgICAgICAgIGlmICh0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdmVydGljYWxDb250YWluZXIgPSB0aGlzLmdyaWQudmVydGljYWxSb3dEaW1TY3JvbGxDb250YWluZXJzLmZpcnN0O1xuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2xlZnQnKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dEhvcml6b250YWxQb3NpdGlvbih0cnVlLCBjdHJsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygncmlnaHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dEhvcml6b250YWxQb3NpdGlvbihmYWxzZSwgY3RybCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ3VwJykgfHwga2V5ID09PSAnaG9tZScpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb24gPSBhd2FpdCB0aGlzLmdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHRydWUsIGN0cmwgfHwga2V5ID09PSAnaG9tZScsIGtleSA9PT0gJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKCdkb3duJykgfHwga2V5ID09PSAnZW5kJykge1xuICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0TmV4dFZlcnRpY2FsUG9zaXRpb24oZmFsc2UsIGN0cmwgfHwga2V5ID09PSAnZW5kJywga2V5ID09PSAnZW5kJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSBuZXdQb3NpdGlvbi5yb3c7XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5jb2x1bW4gPSBuZXdQb3NpdGlvbi5jb2x1bW47XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5sYXlvdXQgPSBuZXdQb3NpdGlvbi5sYXlvdXQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICgoa2V5LmluY2x1ZGVzKCdsZWZ0JykgfHwga2V5ID09PSAnaG9tZScpICYmIHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4gPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUuY29sdW1uID0gY3RybCB8fCBrZXkgPT09ICdob21lJyA/IDAgOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uIC0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChrZXkuaW5jbHVkZXMoJ3JpZ2h0JykgfHwga2V5ID09PSAnZW5kJykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA8IHRoaXMubGFzdFJvd0RpbWVuc2lvbnNJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IGN0cmwgfHwga2V5ID09PSAnZW5kJyA/IHRoaXMubGFzdFJvd0RpbWVuc2lvbnNJbmRleCA6IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4gKyAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyID0gdGhpcy5ncmlkLnZlcnRpY2FsUm93RGltU2Nyb2xsQ29udGFpbmVycy50b0FycmF5KClbbmV3QWN0aXZlTm9kZS5jb2x1bW5dO1xuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ3VwJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN0cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZU5vZGUucm93ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSB0aGlzLmFjdGl2ZU5vZGUucm93IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IG5ld0FjdGl2ZU5vZGUubGF5b3V0ID8gbmV3QWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQgLSAxIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUubGF5b3V0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0hlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLnRoZWFkUm93Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2Rvd24nKSAmJiB0aGlzLmFjdGl2ZU5vZGUucm93IDwgdGhpcy5maW5kTGFzdERhdGFSb3dJbmRleCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gY3RybCA/IHZlcnRpY2FsQ29udGFpbmVyLmlneEZvck9mLmxlbmd0aCAtIDEgOiBNYXRoLm1pbih0aGlzLmFjdGl2ZU5vZGUucm93ICsgMSwgdmVydGljYWxDb250YWluZXIuaWd4Rm9yT2YubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnbGVmdCcpIHx8IGtleS5pbmNsdWRlcygncmlnaHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2UkluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLnJvdztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldlNjckNvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFJvd0RpbVNjcm9sbENvbnRhaW5lcnMudG9BcnJheSgpW3RoaXMuYWN0aXZlTm9kZS5jb2x1bW5dO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzcmMgPSBwcmV2U2NyQ29udGFpbmVyLmdldFNjcm9sbEZvckluZGV4KHByZXZSSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLnJvdyA9IHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZSAmJiB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUubGV2ZWwgPT09IG5ld0FjdGl2ZU5vZGUuY29sdW1uID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZS52aXNpYmxlSW5kZXggOlxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxDb250YWluZXIuZ2V0SW5kZXhBdFNjcm9sbChzcmMpO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLm1jaENhY2hlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUluZGV4OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlTm9kZShuZXdBY3RpdmVOb2RlKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmlkLmhhc0hvcml6b250YWxMYXlvdXQgJiYgdmVydGljYWxDb250YWluZXIuaXNJbmRleE91dHNpZGVWaWV3KG5ld0FjdGl2ZU5vZGUucm93KSkge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyLnNjcm9sbFRvKG5ld0FjdGl2ZU5vZGUucm93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZU5hdmlnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUFsdChrZXk6IHN0cmluZywgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBsZXQgcm93RGF0YSwgZGltSW5kZXg7XG4gICAgICAgIGlmICghdGhpcy5ncmlkLmhhc0hvcml6b250YWxMYXlvdXQpIHtcbiAgICAgICAgICAgIGRpbUluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLmNvbHVtbjtcbiAgICAgICAgICAgIGNvbnN0IHNjckNvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFJvd0RpbVNjcm9sbENvbnRhaW5lcnMudG9BcnJheSgpW2RpbUluZGV4XTtcbiAgICAgICAgICAgIHJvd0RhdGEgPSBzY3JDb250YWluZXIuaWd4R3JpZEZvck9mW3RoaXMuYWN0aXZlTm9kZS5yb3ddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbXJsUm93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQobXJsID0+IG1ybC5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgICAgICByb3dEYXRhID0gbXJsUm93LnJvd0dyb3VwW3RoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQgLSAxXTtcbiAgICAgICAgICAgIGRpbUluZGV4ID0gdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGltZW5zaW9uID0gdGhpcy5ncmlkLnZpc2libGVSb3dEaW1lbnNpb25zW2RpbUluZGV4XTtcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uUm93S2V5ID0gUGl2b3RVdGlsLmdldFJlY29yZEtleShyb3dEYXRhLCBkaW1lbnNpb24pO1xuICAgICAgICBjb25zdCBpc0V4cGFuZGVkID0gdGhpcy5ncmlkLmV4cGFuc2lvblN0YXRlcy5nZXQoZXhwYW5zaW9uUm93S2V5KSA/PyB0cnVlO1xuXG4gICAgICAgIGxldCBwcmV2Q2VsbExheW91dDtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRSb3cgPSB0aGlzLmdyaWQucm93RGltZW5zaW9uTXJsUm93c0NvbGxlY3Rpb24uZmluZChyb3cgPT4gcm93LnJvd0luZGV4ID09PSB0aGlzLmFjdGl2ZU5vZGUucm93KTtcbiAgICAgICAgICAgIHByZXZDZWxsTGF5b3V0ID0gdGhpcy5nZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChcbiAgICAgICAgICAgICAgICBwYXJlbnRSb3csXG4gICAgICAgICAgICAgICAgTWF0aC5taW4ocGFyZW50Um93LnJvd0dyb3VwLmxlbmd0aCwgdGhpcy5hY3RpdmVOb2RlLmxheW91dC5yb3dTdGFydCksXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUk9XX0VYUEFORF9LRVlTLmhhcyhrZXkpICYmICFpc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQuZ3JpZEFQSS5zZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShleHBhbnNpb25Sb3dLZXksIHRydWUsIGV2ZW50KVxuICAgICAgICB9IGVsc2UgaWYgKFJPV19DT0xMQVBTRV9LRVlTLmhhcyhrZXkpICYmIGlzRXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZC5ncmlkQVBJLnNldF9yb3dfZXhwYW5zaW9uX3N0YXRlKGV4cGFuc2lvblJvd0tleSwgZmFsc2UsIGV2ZW50KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChST1dfRVhQQU5EX0tFWVMuaGFzKGtleSkgJiYgIWlzRXhwYW5kZWQpIHx8IChST1dfQ09MTEFQU0VfS0VZUy5oYXMoa2V5KSAmJiBpc0V4cGFuZGVkKSkge1xuICAgICAgICAgICAgdGhpcy5vblJvd1RvZ2dsZSghaXNFeHBhbmRlZCwgZGltZW5zaW9uLCByb3dEYXRhLCBwcmV2Q2VsbExheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVOb2RlTGF5b3V0KCk7XG4gICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjdGl2ZU5vZGVMYXlvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCkge1xuICAgICAgICAgICAgY29uc3QgbXJsUm93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVDZWxsID0gbXJsUm93LmNvbnRlbnRDZWxscy50b0FycmF5KClbdGhpcy5hY3RpdmVOb2RlLmNvbHVtbl07XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0ID0gYWN0aXZlQ2VsbC5sYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIGFjdGl2ZSBjZWxsIHdoZW4gdG9nZ2xpbmcgcm93IGV4cGFuZCB3aGVuIGhvcml6b250YWwgc3VtbWFyaWVzIGhhdmUgcG9zaXRpb24gc2V0IHRvIHRvcCAqL1xuICAgIHB1YmxpYyBvblJvd1RvZ2dsZShuZXdFeHBhbmRTdGF0ZTogYm9vbGVhbiwgZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24sIHJvd0RhdGE6IElQaXZvdEdyaWRSZWNvcmQsIHByZXZDZWxsTGF5b3V0OiBJTXVsdGlSb3dMYXlvdXROb2RlKXtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0ICYmXG4gICAgICAgICAgICByb3dEYXRhLnRvdGFsUmVjb3JkRGltZW5zaW9uTmFtZSAhPT0gZGltZW5zaW9uLm1lbWJlck5hbWUgJiZcbiAgICAgICAgICAgIGRpbWVuc2lvbi5ob3Jpem9udGFsU3VtbWFyeSAmJiB0aGlzLmdyaWQucGl2b3RVSS5ob3Jpem9udGFsU3VtbWFyaWVzUG9zaXRpb24gPT09IFBpdm90U3VtbWFyeVBvc2l0aW9uLlRvcCkge1xuICAgICAgICAgICAgY29uc3QgbWF4QWN0aXZlUm93ID0gTWF0aC5taW4odGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXgsIHRoaXMuYWN0aXZlTm9kZS5yb3cpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Um93VXBkYXRlZCA9IHRoaXMuZ3JpZC5yb3dEaW1lbnNpb25NcmxSb3dzQ29sbGVjdGlvbi5maW5kKHJvdyA9PiByb3cucm93SW5kZXggPT09IG1heEFjdGl2ZVJvdyk7XG4gICAgICAgICAgICBjb25zdCBtYXhSb3dFbmQgPSBwYXJlbnRSb3dVcGRhdGVkLnJvd0dyb3VwLmxlbmd0aCArIDE7XG4gICAgICAgICAgICBjb25zdCBuZXh0Um93U3RhcnQgPSBNYXRoLm1heCgxLCB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0ICsgKCFuZXdFeHBhbmRTdGF0ZSA/IC0xIDogMSkpO1xuICAgICAgICAgICAgY29uc3QgY3VyVmFsaWRSb3dTdGFydCA9IE1hdGgubWluKHBhcmVudFJvd1VwZGF0ZWQucm93R3JvdXAubGVuZ3RoLCBuZXh0Um93U3RhcnQpO1xuICAgICAgICAgICAgLy8gR2V0IGN1cnJlbnQgY2VsbCBsYXlvdXQsIGJlY2F1c2UgdGhlIGFjdGluZU5vZGUgdGhlIHJvd1N0YXJ0IG1pZ2h0IGJlIGRpZmZlcmVudCwgYmFzZWQgb24gd2hlcmUgd2UgY29tZSBmcm9tKG1pZ2h0IGJlIHNtYWxsZXIgY2VsbCkuXG5cbiAgICAgICAgICAgIGNvbnN0IGN1ckNlbGxMYXlvdXQgPSB0aGlzLmdldE5leHRWZXJ0aWNhbENvbHVtbkluZGV4KHBhcmVudFJvd1VwZGF0ZWQsIGN1clZhbGlkUm93U3RhcnQsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQpO1xuICAgICAgICAgICAgY29uc3QgbmV4dEJsb2NrID0gKCFuZXdFeHBhbmRTdGF0ZSAmJiBwcmV2Q2VsbExheW91dC5yb3dTdGFydCA9PT0gMSkgfHwgKG5ld0V4cGFuZFN0YXRlICYmICBwcmV2Q2VsbExheW91dC5yb3dFbmQgPj0gbWF4Um93RW5kKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5yb3cgKz0gbmV4dEJsb2NrID8gKCFuZXdFeHBhbmRTdGF0ZSA/IC0xIDogMSkgOiAwO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA9IGN1ckNlbGxMYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4O1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlLmxheW91dCA9IGN1ckNlbGxMYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaGVhZGVyTmF2aWdhdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgY3RybCA9IGV2ZW50LmN0cmxLZXk7XG4gICAgICAgIGlmICghSEVBREVSX0tFWVMuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzUm93RGltZW5zaW9uSGVhZGVyQWN0aXZlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdBY3RpdmVOb2RlOiBJQWN0aXZlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICByb3c6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uLFxuICAgICAgICAgICAgICAgIGxldmVsOiBudWxsLFxuICAgICAgICAgICAgICAgIG1jaENhY2hlOiB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUsXG4gICAgICAgICAgICAgICAgbGF5b3V0OiBudWxsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjdHJsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGltSW5kZXggPSB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpbSA9IHRoaXMuZ3JpZC52aXNpYmxlUm93RGltZW5zaW9uc1tkaW1JbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlTm9kZS5yb3cgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ2Rvd24nKSB8fCBrZXkuaW5jbHVkZXMoJ3VwJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdTb3J0RGlyZWN0aW9uID0gU29ydGluZ0RpcmVjdGlvbi5Ob25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnZG93bicpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U29ydERpcmVjdGlvbiA9IChkaW0uc29ydERpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5EZXNjKSA/IFNvcnRpbmdEaXJlY3Rpb24uTm9uZSA6IFNvcnRpbmdEaXJlY3Rpb24uRGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCd1cCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U29ydERpcmVjdGlvbiA9IChkaW0uc29ydERpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5Bc2MpID8gU29ydGluZ0RpcmVjdGlvbi5Ob25lIDogU29ydGluZ0RpcmVjdGlvbi5Bc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuc29ydERpbWVuc2lvbihkaW0sIG5ld1NvcnREaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKChrZXkuaW5jbHVkZXMoJ2xlZnQnKSB8fCBrZXkgPT09ICdob21lJykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IGN0cmwgfHwga2V5ID09PSAnaG9tZScgPyAwIDogdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKGtleS5pbmNsdWRlcygncmlnaHQnKSB8fCBrZXkgPT09ICdlbmQnKSAmJiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uIDwgdGhpcy5sYXN0Um93RGltZW5zaW9uc0luZGV4KSB7XG4gICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5jb2x1bW4gPSBjdHJsIHx8IGtleSA9PT0gJ2VuZCcgPyB0aGlzLmxhc3RSb3dEaW1lbnNpb25zSW5kZXggOiB0aGlzLmFjdGl2ZU5vZGUuY29sdW1uICsgMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCdyaWdodCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUuY29sdW1uID0gMDtcbiAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmxldmVsID0gdGhpcy5hY3RpdmVOb2RlLm1jaENhY2hlPy5sZXZlbCB8fCAwO1xuICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUubWNoQ2FjaGUgPSB0aGlzLmFjdGl2ZU5vZGUubWNoQ2FjaGUgfHwge1xuICAgICAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUluZGV4OiAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnZG93bicpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNIb3Jpem9udGFsTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZS5yb3cgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm93U3RhcnQ6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dFbmQ6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xTdGFydDogbmV3QWN0aXZlTm9kZS5jb2x1bW4gKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sRW5kOiBuZXdBY3RpdmVOb2RlLmNvbHVtbiArIDIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5WaXNpYmxlSW5kZXg6IG5ld0FjdGl2ZU5vZGUuY29sdW1uXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb24gPSBhd2FpdCB0aGlzLmdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHRydWUsIGN0cmwgfHwga2V5ID09PSAnaG9tZScsIGtleSA9PT0gJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5yb3cgPSAwO1xuICAgICAgICAgICAgICAgICAgICBuZXdBY3RpdmVOb2RlLmNvbHVtbiA9IG5ld1Bvc2l0aW9uLmNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgbmV3QWN0aXZlTm9kZS5sYXlvdXQgPSBuZXdQb3NpdGlvbi5sYXlvdXQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmVydGljYWxDb250YWluZXIgPSB0aGlzLmdyaWQudmVydGljYWxSb3dEaW1TY3JvbGxDb250YWluZXJzLnRvQXJyYXkoKVtuZXdBY3RpdmVOb2RlLmNvbHVtbl07XG4gICAgICAgICAgICAgICAgICAgIG5ld0FjdGl2ZU5vZGUucm93ID0gY3RybCA/IHZlcnRpY2FsQ29udGFpbmVyLmlneEZvck9mLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuaXNSb3dEaW1lbnNpb25IZWFkZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUm93SGVhZGVyQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWQucm93RGltZW5zaW9uQ29udGFpbmVyLnRvQXJyYXkoKVt0aGlzLmdyaWQuaGFzSG9yaXpvbnRhbExheW91dCA/IDAgOiBuZXdBY3RpdmVOb2RlLmNvbHVtbl0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZU5vZGUobmV3QWN0aXZlTm9kZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5LmluY2x1ZGVzKCdsZWZ0JykgJiYgdGhpcy5hY3RpdmVOb2RlLmNvbHVtbiA9PT0gMCAmJiB0aGlzLmdyaWQucGl2b3RVSS5zaG93Um93SGVhZGVycykge1xuICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBuZXdBY3RpdmVOb2RlOiBJQWN0aXZlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICByb3c6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmxhc3RSb3dEaW1lbnNpb25zSW5kZXgsXG4gICAgICAgICAgICAgICAgbGV2ZWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbWNoQ2FjaGU6IHRoaXMuYWN0aXZlTm9kZS5tY2hDYWNoZSxcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IG51bGxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVOb2RlKG5ld0FjdGl2ZU5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIuaGVhZGVyTmF2aWdhdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9jdXNUYm9keShldmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlTm9kZSB8fCB0aGlzLmFjdGl2ZU5vZGUucm93ID09PSBudWxsIHx8IHRoaXMuYWN0aXZlTm9kZS5yb3cgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5sYXN0QWN0aXZlTm9kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLmZvY3VzVGJvZHkoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldE5leHRWZXJ0aWNhbFBvc2l0aW9uKHByZXZpb3VzLCBjdHJsLCBob21lRW5kKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFJvdyA9IHRoaXMuZ3JpZC5yb3dEaW1lbnNpb25NcmxSb3dzQ29sbGVjdGlvbi5maW5kKHJvdyA9PiByb3cucm93SW5kZXggPT09IHRoaXMuYWN0aXZlTm9kZS5yb3cpO1xuICAgICAgICBjb25zdCBtYXhSb3dFbmQgPSBwYXJlbnRSb3cucm93R3JvdXAubGVuZ3RoICsgMTtcbiAgICAgICAgY29uc3QgY3VyVmFsaWRSb3dTdGFydCA9IE1hdGgubWluKHBhcmVudFJvdy5yb3dHcm91cC5sZW5ndGgsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQpO1xuICAgICAgICAvLyBHZXQgY3VycmVudCBjZWxsIGxheW91dCwgYmVjYXVzZSB0aGUgYWN0aW5lTm9kZSB0aGUgcm93U3RhcnQgbWlnaHQgYmUgZGlmZmVyZW50LCBiYXNlZCBvbiB3aGVyZSB3ZSBjb21lIGZyb20obWlnaHQgYmUgc21hbGxlciBjZWxsKS5cbiAgICAgICAgY29uc3QgY3VyQ2VsbExheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgocGFyZW50Um93LCBjdXJWYWxpZFJvd1N0YXJ0LCB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LmNvbFN0YXJ0KTtcbiAgICAgICAgY29uc3QgbmV4dEJsb2NrID0gKHByZXZpb3VzICYmIGN1ckNlbGxMYXlvdXQucm93U3RhcnQgPT09IDEpIHx8ICghcHJldmlvdXMgJiYgY3VyQ2VsbExheW91dC5yb3dFbmQgPT09IG1heFJvd0VuZCk7XG4gICAgICAgIGlmIChuZXh0QmxvY2sgJiZcbiAgICAgICAgICAgICgocHJldmlvdXMgJiYgdGhpcy5hY3RpdmVOb2RlLnJvdyA9PT0gMCkgfHxcbiAgICAgICAgICAgICghcHJldmlvdXMgJiYgdGhpcy5hY3RpdmVOb2RlLnJvdyA9PT0gdGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXgpKSkge1xuICAgICAgICAgICAgaWYgKHByZXZpb3VzICYmIHRoaXMuZ3JpZC5waXZvdFVJLnNob3dSb3dIZWFkZXJzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0RpbWVuc2lvbkhlYWRlckFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jvd0hlYWRlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC50aGVhZFJvdy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICB7IHJvdzogLTEsIGNvbHVtbjogdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydCAtIDEsIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LCBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dE1STFJvd0luZGV4ID0gcHJldmlvdXMgP1xuICAgICAgICAgICAgKGN0cmwgPyAwIDogdGhpcy5hY3RpdmVOb2RlLnJvdyAtIDEpIDpcbiAgICAgICAgICAgIChjdHJsID8gdGhpcy5sYXN0Um93RGltZW5zaW9uTVJMUm93SW5kZXggOiB0aGlzLmFjdGl2ZU5vZGUucm93ICsgMSkgO1xuICAgICAgICBsZXQgbmV4dFJvdyA9IG5leHRCbG9jayB8fCBjdHJsID8gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gbmV4dE1STFJvd0luZGV4KSA6IHBhcmVudFJvdztcbiAgICAgICAgaWYgKCFuZXh0Um93KSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0RGF0YVZpZXdJbmRleCA9IHByZXZpb3VzID9cbiAgICAgICAgICAgICAgICAoY3RybCA/IDAgOiBwYXJlbnRSb3cucm93R3JvdXBbY3VyQ2VsbExheW91dC5yb3dTdGFydCAtIDFdLmRhdGFJbmRleCAtIDEpIDpcbiAgICAgICAgICAgICAgICAoY3RybCA/IHRoaXMuZ3JpZC5kYXRhVmlldy5sZW5ndGggLSAxIDogcGFyZW50Um93LnJvd0dyb3VwW2N1ckNlbGxMYXlvdXQucm93RW5kIC0gMl0uZGF0YUluZGV4ICsgMSk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNjcm9sbFRvTmV4dEhvcml6b250YWxEaW1Sb3cobmV4dERhdGFWaWV3SW5kZXgpO1xuICAgICAgICAgICAgbmV4dFJvdyA9IG5leHRCbG9jayB8fCBjdHJsID8gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gbmV4dE1STFJvd0luZGV4KSA6IHBhcmVudFJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHRSb3dTdGFydCA9IG5leHRCbG9jayA/XG4gICAgICAgICAgICAocHJldmlvdXMgPyBuZXh0Um93LnJvd0dyb3VwLmxlbmd0aCA6IDEpIDpcbiAgICAgICAgICAgIChwcmV2aW91cyA/IGN1ckNlbGxMYXlvdXQucm93U3RhcnQgLSAxIDogY3VyQ2VsbExheW91dC5yb3dFbmQpO1xuICAgICAgICBjb25zdCBtYXhDb2xFbmQgPSBNYXRoLm1heCguLi5uZXh0Um93LmNvbnRlbnRDZWxscy5tYXAoY2VsbCA9PiBjZWxsLmxheW91dC5jb2xFbmQpKTtcbiAgICAgICAgY29uc3QgbmV4dENvbHVtbkxheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgoXG4gICAgICAgICAgICBuZXh0Um93LFxuICAgICAgICAgICAgY3RybCA/IChwcmV2aW91cyA/IDEgOiBuZXh0Um93LnJvd0dyb3VwLmxlbmd0aCkgOiBuZXh0Um93U3RhcnQsXG4gICAgICAgICAgICBob21lRW5kID8gKHByZXZpb3VzID8gMSA6IG1heENvbEVuZCAtIDEpIDogdGhpcy5hY3RpdmVOb2RlLmxheW91dC5jb2xTdGFydFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5leHREYXRhVmlld0luZGV4ID0gcHJldmlvdXMgP1xuICAgICAgICAgICAgbmV4dFJvdy5yb3dHcm91cFtuZXh0Q29sdW1uTGF5b3V0LnJvd1N0YXJ0IC0gMV0uZGF0YUluZGV4OlxuICAgICAgICAgICAgbmV4dFJvdy5yb3dHcm91cFtuZXh0Q29sdW1uTGF5b3V0LnJvd0VuZCAtIDJdLmRhdGFJbmRleDtcbiAgICAgICAgYXdhaXQgdGhpcy5zY3JvbGxUb05leHRIb3Jpem9udGFsRGltUm93KG5leHREYXRhVmlld0luZGV4KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcm93OiBuZXh0QmxvY2sgfHwgY3RybCA/IG5leHRNUkxSb3dJbmRleCA6IHRoaXMuYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICBjb2x1bW46IG5leHRDb2x1bW5MYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4LFxuICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcm93U3RhcnQ6IG5leHRDb2x1bW5MYXlvdXQucm93U3RhcnQsXG4gICAgICAgICAgICAgICAgcm93RW5kOiBuZXh0Q29sdW1uTGF5b3V0LnJvd0VuZCxcbiAgICAgICAgICAgICAgICBjb2xTdGFydDogaG9tZUVuZCA/IG5leHRDb2x1bW5MYXlvdXQuY29sU3RhcnQgOiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LmNvbFN0YXJ0LFxuICAgICAgICAgICAgICAgIGNvbEVuZDogbmV4dENvbHVtbkxheW91dC5jb2xFbmQsXG4gICAgICAgICAgICAgICAgY29sdW1uVmlzaWJsZUluZGV4OiBuZXh0Q29sdW1uTGF5b3V0LmNvbHVtblZpc2libGVJbmRleFxuICAgICAgICAgICAgfSBhcyBJTXVsdGlSb3dMYXlvdXROb2RlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldE5leHRIb3Jpem9udGFsUG9zaXRpb24ocHJldmlvdXMsIGN0cmwpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Um93ID0gdGhpcy5ncmlkLnJvd0RpbWVuc2lvbk1ybFJvd3NDb2xsZWN0aW9uLmZpbmQocm93ID0+IHJvdy5yb3dJbmRleCA9PT0gdGhpcy5hY3RpdmVOb2RlLnJvdyk7XG4gICAgICAgIGNvbnN0IG1heENvbEVuZCA9IE1hdGgubWF4KC4uLnBhcmVudFJvdy5jb250ZW50Q2VsbHMubWFwKGNlbGwgPT4gY2VsbC5sYXlvdXQuY29sRW5kKSk7XG4gICAgICAgIC8vIEdldCBjdXJyZW50IGNlbGwgbGF5b3V0LCBiZWNhdXNlIHRoZSBhY3RpbmVOb2RlIHRoZSByb3dTdGFydCBtaWdodCBiZSBkaWZmZXJlbnQsIGJhc2VkIG9uIHdoZXJlIHdlIGNvbWUgZnJvbShtaWdodCBiZSBzbWFsbGVyIGNlbGwpLlxuICAgICAgICBjb25zdCBjdXJDZWxsTGF5b3V0ID0gdGhpcy5nZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChwYXJlbnRSb3csIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQucm93U3RhcnQsIHRoaXMuYWN0aXZlTm9kZS5sYXlvdXQuY29sU3RhcnQpO1xuXG4gICAgICAgIGlmICgocHJldmlvdXMgJiYgY3VyQ2VsbExheW91dC5jb2xTdGFydCA9PT0gMSkgfHwgKCFwcmV2aW91cyAmJiBjdXJDZWxsTGF5b3V0LmNvbEVuZCA9PT0gbWF4Q29sRW5kKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LCBjb2x1bW46IHRoaXMuYWN0aXZlTm9kZS5jb2x1bW4sIGxheW91dDogdGhpcy5hY3RpdmVOb2RlLmxheW91dCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dENvbFN0YXJ0Tm9ybWFsID0gY3VyQ2VsbExheW91dC5jb2xTdGFydCArIChwcmV2aW91cyA/IC0xIDogY3VyQ2VsbExheW91dC5jb2xFbmQgLSBjdXJDZWxsTGF5b3V0LmNvbFN0YXJ0KTtcbiAgICAgICAgY29uc3QgbmV4dENvbHVtbkxheW91dCA9IHRoaXMuZ2V0TmV4dFZlcnRpY2FsQ29sdW1uSW5kZXgoXG4gICAgICAgICAgICBwYXJlbnRSb3csXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0LFxuICAgICAgICAgICAgY3RybCA/IChwcmV2aW91cyA/IDEgOiBtYXhDb2xFbmQgLSAxKSA6IG5leHRDb2xTdGFydE5vcm1hbFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG5leHREYXRhVmlld0luZGV4ID0gcGFyZW50Um93LnJvd0dyb3VwW25leHRDb2x1bW5MYXlvdXQucm93U3RhcnQgLSAxXS5kYXRhSW5kZXhcbiAgICAgICAgYXdhaXQgdGhpcy5zY3JvbGxUb05leHRIb3Jpem9udGFsRGltUm93KG5leHREYXRhVmlld0luZGV4KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcm93OiB0aGlzLmFjdGl2ZU5vZGUucm93LFxuICAgICAgICAgICAgY29sdW1uOiBuZXh0Q29sdW1uTGF5b3V0LmNvbHVtblZpc2libGVJbmRleCxcbiAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHJvd1N0YXJ0OiB0aGlzLmFjdGl2ZU5vZGUubGF5b3V0LnJvd1N0YXJ0LFxuICAgICAgICAgICAgICAgIHJvd0VuZDogbmV4dENvbHVtbkxheW91dC5yb3dFbmQsXG4gICAgICAgICAgICAgICAgY29sU3RhcnQ6IG5leHRDb2x1bW5MYXlvdXQuY29sU3RhcnQsXG4gICAgICAgICAgICAgICAgY29sRW5kOiBuZXh0Q29sdW1uTGF5b3V0LmNvbEVuZCxcbiAgICAgICAgICAgICAgICBjb2x1bW5WaXNpYmxlSW5kZXg6IG5leHRDb2x1bW5MYXlvdXQuY29sdW1uVmlzaWJsZUluZGV4XG4gICAgICAgICAgICB9IGFzIElNdWx0aVJvd0xheW91dE5vZGVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHNjcm9sbFRvTmV4dEhvcml6b250YWxEaW1Sb3cobmV4dERhdGFWaWV3SW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbENvbnRhaW5lciA9IHRoaXMuZ3JpZC52ZXJ0aWNhbFNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgaWYgKHZlcnRpY2FsQ29udGFpbmVyLmlzSW5kZXhPdXRzaWRlVmlldyhuZXh0RGF0YVZpZXdJbmRleCkpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsQ29udGFpbmVyLnNjcm9sbFRvKG5leHREYXRhVmlld0luZGV4KTtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLmdyaWRTY3JvbGwucGlwZSh0YWtlKDEpLCB0aW1lb3V0KHsgZmlyc3Q6IDEwMDAwIH0pKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBuZXh0OiAodmFsdWUpID0+IHJlc29sdmUodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4gcmVzb2x2ZShlcnIpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBnZXROZXh0VmVydGljYWxDb2x1bW5JbmRleChuZXh0Um93OiBJZ3hQaXZvdFJvd0RpbWVuc2lvbk1ybFJvd0NvbXBvbmVudCwgbmV3Um93U3RhcnQsIG5ld0NvbFN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IG5leHRDZWxsID0gbmV4dFJvdy5jb250ZW50Q2VsbHMuZmluZChjZWxsID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjZWxsLmxheW91dC5yb3dTdGFydCA8PSBuZXdSb3dTdGFydCAmJiBuZXdSb3dTdGFydCA8IGNlbGwubGF5b3V0LnJvd0VuZCAmJlxuICAgICAgICAgICAgICAgIGNlbGwubGF5b3V0LmNvbFN0YXJ0IDw9IG5ld0NvbFN0YXJ0ICYmIG5ld0NvbFN0YXJ0IDwgY2VsbC5sYXlvdXQuY29sRW5kO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5leHRDZWxsLmxheW91dDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -23,4 +23,4 @@ export var PivotSummaryPosition;
|
|
|
23
23
|
PivotSummaryPosition["Top"] = "top";
|
|
24
24
|
PivotSummaryPosition["Bottom"] = "bottom";
|
|
25
25
|
})(PivotSummaryPosition || (PivotSummaryPosition = {}));
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvcGl2b3QtZ3JpZC9waXZvdC1ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7RUFFRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLFlBQVksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPO0lBQ3RGLHFCQUFxQixFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxHQUFHO0NBQzVELENBQUM7QUF5TUYscUJBQXFCO0FBQ3JCLG1EQUFtRDtBQUNuRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLHlEQUFHLENBQUE7SUFDSCwrREFBTSxDQUFBO0lBQ04sK0RBQU0sQ0FBQTtBQUNWLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBR0QsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUMxQiwyQ0FBcUIsQ0FBQTtJQUNyQiwrQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDNUIsbUNBQVcsQ0FBQTtJQUNYLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURhdGFDbG9uZVN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtY2xvbmUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgR3JpZENvbHVtbkRhdGFUeXBlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuXG4vKipcbiogRGVmYXVsdCBwaXZvdCBrZXlzIHVzZWQgZm9yIGRhdGEgcHJvY2Vzc2luZyBpbiB0aGUgcGl2b3QgcGlwZXMuXG4qL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUElWT1RfS0VZUyA9IHtcbiAgICBhZ2dyZWdhdGlvbnM6ICdhZ2dyZWdhdGlvbnMnLCByZWNvcmRzOiAncmVjb3JkcycsIGNoaWxkcmVuOiAnY2hpbGRyZW4nLCBsZXZlbDogJ2xldmVsJyxcbiAgICByb3dEaW1lbnNpb25TZXBhcmF0b3I6ICdfJywgY29sdW1uRGltZW5zaW9uU2VwYXJhdG9yOiAnLSdcbn07XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGRpbWVuc2lvbiBjb2xsZWN0aW9uIGZvciByb3dzLCBjb2x1bW5zIG9mIGZpbHRlcnMgaXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGltZW5zaW9uc0NoYW5nZSB7XG4gICAgLyoqIFRoZSBuZXcgbGlzdCBvZiBkaW1lbnNpb25zLiAqL1xuICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgIC8qKiBUaGUgZGltZW5zaW9uIGxpc3QgdHlwZSAtIFJvdywgQ29sdW1uIG9yIEZpbHRlci4gKi9cbiAgICBkaW1lbnNpb25Db2xsZWN0aW9uVHlwZTogUGl2b3REaW1lbnNpb25UeXBlXG59XG5cbi8qKlxuKiBFdmVudCBlbWl0dGVkIHdoZW4gdmFsdWVzIGxpc3QgaXMgY2hhbmdlZC5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElWYWx1ZXNDaGFuZ2Uge1xuICAgIC8qKiBUaGUgbmV3IGxpc3Qgb2YgdmFsdWVzLiAqL1xuICAgIHZhbHVlczogSVBpdm90VmFsdWVbXVxufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBwaXZvdCBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90Q29uZmlndXJhdGlvbkNoYW5nZWRFdmVudEFyZ3Mge1xuICAgIC8qKiBUaGUgbmV3IGNvbmZpZ3VyYXRpb24uICovXG4gICAgcGl2b3RDb25maWd1cmF0aW9uOiBJUGl2b3RDb25maWd1cmF0aW9uXG59XG5cbi8qKlxuKiBJbnRlcmZhY2UgZGVzY3JpYmluZyBQaXZvdCBkYXRhIHByb2Nlc3NpbmcgZm9yIGRpbWVuc2lvbnMuXG4qIFNob3VsZCBjb250YWluIGEgcHJvY2VzcyBtZXRob2QgYW5kIHJldHVybiByZWNvcmRzIGhpZXJhcmNoeSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZGltZW5zaW9ucy5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdERpbWVuc2lvblN0cmF0ZWd5IHtcbiAgICAvKiBibGF6b3JDU1N1cHByZXNzICovXG4gICAgcHJvY2Vzcyhjb2xsZWN0aW9uOiBhbnksXG4gICAgICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgICAgICB2YWx1ZXM6IElQaXZvdFZhbHVlW10sXG4gICAgICAgIGNsb25lU3RyYXRlZ3k6IElEYXRhQ2xvbmVTdHJhdGVneSxcbiAgICAgICAgcGl2b3RLZXlzPzogSVBpdm90S2V5cyk6IGFueVtdO1xufVxuXG4vKipcbiogSW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBQaXZvdEFnZ3JlZ2F0aW9uIGZ1bmN0aW9uLlxuKiBBY2NlcHRzIGFuIGFycmF5IG9mIGV4dHJhY3RlZCBkYXRhIG1lbWJlcnMgYW5kIGEgYXJyYXkgb2YgdGhlIG9yaWdpbmFsIGRhdGEgcmVjb3Jkcy5cbiovXG5leHBvcnQgdHlwZSBQaXZvdEFnZ3JlZ2F0aW9uID0gKG1lbWJlcnM6IGFueVtdLCBkYXRhOiBhbnlbXSkgPT4gYW55O1xuXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyoganNvbkFQSUNvbXBsZXhPYmplY3QgKi9cbi8qKlxuKiBJbnRlcmZhY2UgZGVzY3JpYmluZyBhIElQaXZvdEFnZ3JlZ2F0b3IgY2xhc3MuXG4qIFVzZWQgZm9yIHNwZWNpZnlpbmcgY3VzdG9tIGFnZ3JlZ2F0b3IgbGlzdHMuXG4qL1xuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RBZ2dyZWdhdG9yIHtcbiAgICAvKiogQWdncmVnYXRpb24gdW5pcXVlIGtleS4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogQWdncmVnYXRpb24gbGFiZWwgdG8gc2hvdyBpbiB0aGUgVUkuICovXG4gICAgbGFiZWw6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBZ2dyZWdhdGlvbiBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZyb20gYSBsaXN0IG9mIHByZWRlZmluZWQgYWdncmVnYXRpb25zLlxuICAgICAqIElmIG5vdCBzZXQgd2lsbCB1c2UgdGhlIHNwZWNpZmllZCBhZ2dyZWdhdG9yIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGFnZ3JlZ2F0b3JOYW1lPzogUGl2b3RBZ2dyZWdhdGlvblR5cGU7XG5cbiAgICAvKiBibGF6b3JBbHRlcm5hdGVUeXBlOiBBZ2dyZWdhdG9yRXZlbnRIYW5kbGVyICovXG4gICAgLyogYmxhem9yT25seVNjcmlwdCAqL1xuICAgIC8qKlxuICAgICAqIEFnZ3JlZ2F0b3IgZnVuY3Rpb24gY2FuIGJlIGEgY3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIGBQaXZvdEFnZ3JlZ2F0aW9uYCwgb3JcbiAgICAgKiB1c2UgcHJlZGVmaW5lZCBvbmVzIGZyb20gYElneFBpdm90QWdncmVnYXRlYCBhbmQgaXRzIHZhcmlhbnRzLlxuICAgICAqL1xuICAgIGFnZ3JlZ2F0b3I/OiAobWVtYmVyczogYW55W10sIGRhdGE/OiBhbnlbXSkgPT4gYW55O1xufVxuXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyoganNvbkFQSUNvbXBsZXhPYmplY3QgKi9cbi8qKlxuKiBDb25maWd1cmF0aW9uIG9mIHRoZSBwaXZvdCBncmlkLlxuKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90Q29uZmlndXJhdGlvbiB7XG4gICAgLyoqIEEgc3RyYXRlZ3kgdG8gdHJhbnNmb3JtIHRoZSByb3dzLiAqL1xuICAgIHJvd1N0cmF0ZWd5PzogSVBpdm90RGltZW5zaW9uU3RyYXRlZ3kgfCBudWxsO1xuICAgIC8qKiBBIHN0cmF0ZWd5IHRvIHRyYW5zZm9ybSB0aGUgY29sdW1ucy4gKi9cbiAgICBjb2x1bW5TdHJhdGVneT86IElQaXZvdERpbWVuc2lvblN0cmF0ZWd5IHwgbnVsbDtcbiAgICAvKiogQSBsaXN0IG9mIHRoZSByb3dzLiAqL1xuICAgIHJvd3M6IElQaXZvdERpbWVuc2lvbltdIHwgbnVsbDtcbiAgICAvKiogQSBsaXN0IG9mIHRoZSBjb2x1bW5zLiAqL1xuICAgIGNvbHVtbnM6IElQaXZvdERpbWVuc2lvbltdIHwgbnVsbDtcbiAgICAvKiogQSBsaXN0IG9mIHRoZSB2YWx1ZXMuICovXG4gICAgdmFsdWVzOiBJUGl2b3RWYWx1ZVtdIHwgbnVsbDtcbiAgICAvKiogRGltZW5zaW9ucyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGZpbHRlciBhcmVhLiAqL1xuICAgIGZpbHRlcnM/OiBJUGl2b3REaW1lbnNpb25bXSB8IG51bGw7XG4gICAgLyoqIFBpdm90IGRhdGEga2V5cyB1c2VkIGZvciBkYXRhIGdlbmVyYXRpb24uIENhbiBiZSB1c2VkIGZvciBjdXN0b20gcmVtb3RlIHNjZW5hcmlvcyB3aGVyZSB0aGUgZGF0YSBpcyBwcmUtcG9wdWxhdGVkLiAqL1xuICAgIHBpdm90S2V5cz86IElQaXZvdEtleXM7XG59XG5cbi8qIGJsYXpvckVsZW1lbnQgKi9cbi8qIG1hcnNoYWxCeVZhbHVlICovXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuLyoqXG4qIENvbmZpZ3VyYXRpb24gb2YgYSBwaXZvdCBkaW1lbnNpb24uXG4qL1xuZXhwb3J0IGludGVyZmFjZSBJUGl2b3REaW1lbnNpb24ge1xuICAgIC8qKiBBbGxvd3MgZGVmaW5pbmcgYSBoaWVyYXJjaHkgd2hlbiBtdWx0aXBsZSBzdWIgZ3JvdXBzIG5lZWQgdG8gYmUgZXh0cmFjdGVkIGZyb20gc2luZ2xlIG1lbWJlci4gKi9cbiAgICBjaGlsZExldmVsPzogSVBpdm90RGltZW5zaW9uO1xuICAgIC8qKiBGaWVsZCBuYW1lIHRvIHVzZSBpbiBvcmRlciB0byBleHRyYWN0IHZhbHVlLiAqL1xuICAgIG1lbWJlck5hbWU6IHN0cmluZztcblxuICAgIC8qIGNzVHJlYXRBc0V2ZW50OiBNZW1iZXJGdW5jdGlvbkhhbmRsZXIgKi9cbiAgICAvKiBibGF6b3JPbmx5U2NyaXB0ICovXG4gICAgLyoqIEZ1bmN0aW9uIHRoYXQgZXh0cmFjdHMgdGhlIHZhbHVlICovXG4gICAgbWVtYmVyRnVuY3Rpb24/OiAoZGF0YTogYW55KSA9PiBhbnk7XG4gICAgLyoqIERpc3BsYXkgbmFtZSB0byBzaG93IGluc3RlYWQgb2YgdGhlIGZpZWxkIG5hbWUgb2YgdGhpcyB2YWx1ZS4gKiovXG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgLyoqIEVuYWJsZXMvRGlzYWJsZXMgYSBwYXJ0aWN1bGFyIGRpbWVuc2lvbiBmcm9tIHBpdm90IHN0cnVjdHVyZS4gKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZGVmaW5lZCBvciBkZWZpbmVkIHZpYSB0aGUgYGlneFBpdm90U2VsZWN0b3JgIGZpbHRlciBleHByZXNzaW9uIHRyZWUgZm9yIHRoZSBjdXJyZW50IGRpbWVuc2lvbiB0byBiZSBhcHBsaWVkIGluIHRoZSBmaWx0ZXIgcGlwZS5cbiAgICAgKiAqL1xuICAgIGZpbHRlcj86IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUgfCBudWxsO1xuICAgIC8qKiBFbmFibGUvZGlzYWJsZSBzb3J0aW5nIGZvciBhIHBhcnRpY3VsYXIgZGltZW5zaW9uLiBUcnVlIGJ5IGRlZmF1bHQuICovXG4gICAgc29ydGFibGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBzb3J0aW5nIGRpcmVjdGlvbiBvZiB0aGUgY3VycmVudCBkaW1lbnNpb24uIERldGVybWluZXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSB2YWx1ZXMgd2lsbCBhcHBlYXIgaW4gdGhlIHJlbGF0ZWQgZGltZW5zaW9uLlxuICAgICAqL1xuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0aW5nRGlyZWN0aW9uO1xuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhVHlwZSBvZiB0aGUgcmVsYXRlZCBkYXRhIGZpZWxkLlxuICAgICAqL1xuICAgIGRhdGFUeXBlPzogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKiBUaGUgd2lkdGggb2YgdGhlIGRpbWVuc2lvbiBjZWxscyB0byBiZSByZW5kZXJlZC5DYW4gYmUgcGl4ZWwsICUgb3IgXCJhdXRvXCIuICovXG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgLyoqIExldmVsIG9mIHRoZSBkaW1lbnNpb24uICovXG4gICAgbGV2ZWw/OiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYXV0b1dpZHRoPzogbnVtYmVyO1xuICAgIGhvcml6b250YWxTdW1tYXJ5PyA6IGJvb2xlYW47XG59XG5cbi8qIG1hcnNoYWxCeVZhbHVlICovXG4vKiBqc29uQVBJQ29tcGxleE9iamVjdCAqL1xuLyoqXG4qIENvbmZpZ3VyYXRpb24gb2YgYSBwaXZvdCB2YWx1ZSBhZ2dyZWdhdGlvbi5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdFZhbHVlIHtcbiAgICAvKiogRmllbGQgbmFtZSB0byB1c2UgaW4gb3JkZXIgdG8gZXh0cmFjdCB2YWx1ZS4gKi9cbiAgICBtZW1iZXI6IHN0cmluZztcbiAgICAvKiogRGlzcGxheSBuYW1lIHRvIHNob3cgaW5zdGVhZCBvZiBtZW1iZXIgZm9yIHRoZSBjb2x1bW4gaGVhZGVyIG9mIHRoaXMgdmFsdWUuICoqL1xuICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBhZ2dyZWdhdG9yIGRlZmluaXRpb24gd2l0aCBrZXksIGxhYmVsIGFuZCBhZ2dyZWdhdG9yLlxuICAgICAqL1xuICAgIGFnZ3JlZ2F0ZTogSVBpdm90QWdncmVnYXRvcjtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIGFnZ3JlZ2F0ZXMgdG8gc2hvdyBpbiBhZ2dyZWdhdGUgZHJvcC1kb3duLlxuICAgICAqL1xuICAgIGFnZ3JlZ2F0ZUxpc3Q/OiBJUGl2b3RBZ2dyZWdhdG9yW107XG4gICAgLyoqIEVuYWJsZXMvRGlzYWJsZXMgYSBwYXJ0aWN1bGFyIHZhbHVlIGZyb20gcGl2b3QgYWdncmVnYXRpb24uICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogIEFsbG93IGNvbmRpdGlvbmFsbHkgc3R5bGluZyBvZiB0aGUgSWd4UGl2b3RHcmlkIGNlbGxzLiAqL1xuICAgIHN0eWxlcz86IGFueTtcbiAgICAvKiogRW5hYmxlcyBhIGRhdGEgdHlwZSBzcGVjaWZpYyB0ZW1wbGF0ZSBvZiB0aGUgY2VsbHMgKi9cbiAgICBkYXRhVHlwZT86IEdyaWRDb2x1bW5EYXRhVHlwZTtcblxuICAgIC8qIGNzVHJlYXRBc0V2ZW50OiBQaXZvdFZhbHVlRm9ybWF0dGVyRXZlbnRIYW5kbGVyICovXG4gICAgLyogYmxhem9yT25seVNjcmlwdCAqL1xuICAgIC8qKiBBcHBsaWVzIGRpc3BsYXkgZm9ybWF0IHRvIGNlbGwgdmFsdWVzLiAqL1xuICAgIGZvcm1hdHRlcj86ICh2YWx1ZTogYW55LCByb3dEYXRhPzogSVBpdm90R3JpZFJlY29yZCwgY29sdW1uRGF0YT86IElQaXZvdEdyaWRDb2x1bW4pID0+IGFueTtcbn1cblxuLyoqIEludGVyZmFjZSBkZXNjcmliaW5nIHRoZSBQaXZvdCBjb2x1bW4gZGF0YS5cbiogIENvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSByZWxhdGVkIGNvbHVtbiBkaW1lbnNpb25zIGFuZCB0aGVpciB2YWx1ZXMuXG4qL1xuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RHcmlkQ29sdW1uIHtcbiAgICAgICAgZmllbGQ6IHN0cmluZyxcbiAgICAgICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAgICAgLyoqIEdldHMvU2V0cyB0aGUgZ3JvdXAgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWxhdGVkIGNvbHVtbiBkaW1lbnNpb24gYnkgaXRzIG1lbWJlck5hbWUuICoqL1xuICAgICAgICBkaW1lbnNpb25WYWx1ZXM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICAgICAgIC8qKiBMaXN0IG9mIGRpbWVuc2lvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb2x1bW4uKiovXG4gICAgICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgICAgICB2YWx1ZTogSVBpdm90VmFsdWVcbn1cblxuLyogbWFyc2hhbEJ5VmFsdWUgKi9cbi8qKiBJbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgUGl2b3QgZGF0YSBrZXlzIHVzZWQgZm9yIGRhdGEgZ2VuZXJhdGlvbi5cbiogIENhbiBiZSB1c2VkIGZvciBjdXN0b20gcmVtb3RlIHNjZW5hcmlvcyB3aGVyZSB0aGUgZGF0YSBpcyBwcmUtcG9wdWxhdGVkLlxuKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90S2V5cyB7XG4gICAgLyoqIEZpZWxkIHRoYXQgc3RvcmVzIGNoaWxkcmVuIGZvciBoaWVyYXJjaHkgYnVpbGRpbmcuICovXG4gICAgY2hpbGRyZW46IHN0cmluZztcbiAgICAvKiogRmllbGQgdGhhdCBzdG9yZXMgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBkYXRhIHJlY29yZHMuICovXG4gICAgcmVjb3Jkczogc3RyaW5nO1xuICAgIC8qKiBGaWVsZCB0aGF0IHN0b3JlcyBhZ2dyZWdhdGlvbiB2YWx1ZXMuICovXG4gICAgYWdncmVnYXRpb25zOiBzdHJpbmc7XG4gICAgLyoqIEZpZWxkIHRoYXQgc3RvcmVzIGRpbWVuc2lvbiBsZXZlbCBiYXNlZCBvbiBpdHMgaGllcmFyY2h5LiAqL1xuICAgIGxldmVsOiBzdHJpbmc7XG4gICAgLyoqIFNlcGFyYXRvciB1c2VkIHdoZW4gZ2VuZXJhdGluZyB0aGUgdW5pcXVlIGNvbHVtbiBmaWVsZCB2YWx1ZXMuICovXG4gICAgY29sdW1uRGltZW5zaW9uU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgLyoqIFNlcGFyYXRvciB1c2VkIHdoZW4gZ2VuZXJhdGluZyB0aGUgdW5pcXVlIHJvdyBmaWVsZCB2YWx1ZXMuICovXG4gICAgcm93RGltZW5zaW9uU2VwYXJhdG9yOiBzdHJpbmc7XG59XG5cbi8qIG11c3RDb2VyY2VUb0ludCAqL1xuLyoqIFRoZSBkaW1lbnNpb24gdHlwZXMgLSBSb3csIENvbHVtbiBvciBGaWx0ZXIuICovXG5leHBvcnQgZW51bSBQaXZvdERpbWVuc2lvblR5cGUge1xuICAgIFJvdyxcbiAgICBDb2x1bW4sXG4gICAgRmlsdGVyXG59XG5cblxuZXhwb3J0IGVudW0gUGl2b3RSb3dMYXlvdXRUeXBlIHtcbiAgICBWZXJ0aWNhbCA9IFwidmVydGljYWxcIixcbiAgICBIb3Jpem9udGFsID0gXCJob3Jpem9udGFsXCJcbn1cblxuZXhwb3J0IGVudW0gUGl2b3RTdW1tYXJ5UG9zaXRpb24ge1xuICAgIFRvcCA9IFwidG9wXCIsXG4gICAgQm90dG9tID0gXCJib3R0b21cIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdFVJU2V0dGluZ3Mge1xuICAgIHNob3dDb25maWd1cmF0aW9uPzogYm9vbGVhbjtcbiAgICBzaG93Um93SGVhZGVycz86IGJvb2xlYW47XG4gICAgcm93TGF5b3V0PzogUGl2b3RSb3dMYXlvdXRUeXBlO1xuICAgIGhvcml6b250YWxTdW1tYXJpZXNQb3NpdGlvbj86IFBpdm90U3VtbWFyeVBvc2l0aW9uO1xufVxuXG5leHBvcnQgdHlwZSBQaXZvdEFnZ3JlZ2F0aW9uVHlwZSA9ICdTVU0nIHwgJ0FWRycgfCAnTUlOJyB8ICdNQVgnIHwgJ0NPVU5UJyB8ICdMQVRFU1QnIHwgJ0VBUkxJRVNUJyA7XG5cbi8qKiBJbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgcGl2b3QgZGltZW5zaW9uIGRhdGEuXG4qIENvbnRhaW5zIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbmVlZGVkIHRvIHJlbmRlciBkaW1lbnNpb24gaGVhZGVycy5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdERpbWVuc2lvbkRhdGEge1xuICAgIC8qKiBBc3NvY2lhdGVkIGNvbHVtbiBkZWZpbml0aW9uLiAqL1xuICAgIGNvbHVtbjogQ29sdW1uVHlwZTtcbiAgICAvKiogQXNzb2NpYXRlZCBkaW1lbnNpb24gZGVmaW5pdGlvbi4gKi9cbiAgICBkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbjtcbiAgICAvKiogTGlzdCBvZiBwcmV2aW91cyBkaW1lbnNpb24gZ3JvdXBzLiAqL1xuICAgIHByZXZEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICAvKiogV2hldGhlciB0aGlzIGEgY2hpbGQgZGltZW5zaW9uLiAqL1xuICAgIGlzQ2hpbGQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpdm90Um93SGVhZGVyR3JvdXBUeXBlIHtcbiAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIHBhcmVudDogYW55O1xuICAgIGhlYWRlcjogYW55O1xuICAgIGhlYWRlcklEOiBzdHJpbmc7XG4gICAgZ3JpZDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpbWVuc2lvblZhbHVlVHlwZSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBjaGlsZHJlbjogTWFwPHN0cmluZywgc3RyaW5nIHwgRGltZW5zaW9uVmFsdWVUeXBlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RHcmlkUmVjb3JkIHtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKiBHZXRzL1NldHMgdGhlIGdyb3VwIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVsYXRlZCByb3cgZGltZW5zaW9uIGJ5IGl0cyBtZW1iZXJOYW1lLiAqKi9cbiAgICBkaW1lbnNpb25WYWx1ZXM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKiogR2V0cy9TZXRzIHRoZSBhZ2dyZWdhdGlvbiB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHZhbHVlIHBhdGguIFZhbHVlIHBhdGggZGVwZW5kcyBvbiBjb25maWd1cmVkIGNvbHVtbiBkaW1lbnNpb24gaGllcmFyY2h5IGFuZCB2YWx1ZXMuKiovXG4gICAgYWdncmVnYXRpb25WYWx1ZXM6IE1hcDxzdHJpbmcsIGFueT47XG4gICAgLyogYmxhem9yU3VwcHJlc3MgKi9cbiAgICAvKiogTGlzdCBvZiBjaGlsZHJlbiByZWNvcmRzIGluIGNhc2UgYW55IHJvdyBkaW1lbnNpb24gbWVtYmVyIGNvbnRhaW4gYSBoaWVyYXJjaHkuIEVhY2ggZGltZW5zaW9uIG1lbWJlciBjb250YWlucyBpdHMgb3duIGhpZXJhcmNoeSwgd2hpY2ggeW91IGNhbiBnZXQgYnkgaXRzIG1lbWJlck5hbWUuICoqL1xuICAgIGNoaWxkcmVuPzogTWFwPHN0cmluZywgSVBpdm90R3JpZFJlY29yZFtdPjtcbiAgICAvKiogTGlzdCBvZiBvcmlnaW5hbCBkYXRhIHJlY29yZHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHBpdm90ZWQgZGF0YS4gKiovXG4gICAgcmVjb3Jkcz86IGFueVtdO1xuICAgICAvKiogUmVjb3JkIGxldmVsKiovXG4gICAgbGV2ZWw/OiBudW1iZXI7XG4gICAgLyoqIExpc3Qgb2YgZGltZW5zaW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlY29yZC4qKi9cbiAgICBkaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICAvKiogSWYgc2V0LCBpdCBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRpbWVuc2lvbiwgdGhhdCBoYXMgdG90YWwgcmVjb3JkIGVuYWJsZWQuICovXG4gICAgdG90YWxSZWNvcmREaW1lbnNpb25OYW1lPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgaW5kZXggb2YgdGhlIHJlY29yZCBpbiB0aGUgdG90YWwgdmlldyAqL1xuICAgIGRhdGFJbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RHcmlkR3JvdXBSZWNvcmQgZXh0ZW5kcyBJUGl2b3RHcmlkUmVjb3JkIHtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgcm93U3Bhbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RHcmlkSG9yaXpvbnRhbEdyb3VwIHtcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICByb290RGltZW5zaW9uPzogSVBpdm90RGltZW5zaW9uO1xuICAgIGRpbWVuc2lvbnM/OiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICByZWNvcmRzPzogSVBpdm90R3JpZFJlY29yZFtdO1xuICAgIHJvd1N0YXJ0PzogbnVtYmVyO1xuICAgIHJvd1NwYW4/OiBudW1iZXI7XG4gICAgY29sU3RhcnQ/OiBudW1iZXI7XG4gICAgY29sU3Bhbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hQaXZvdEdyaWRWYWx1ZVRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJUGl2b3RWYWx1ZTtcbn1cbiJdfQ==
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvcGl2b3QtZ3JpZC9waXZvdC1ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7RUFFRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLFlBQVksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPO0lBQ3RGLHFCQUFxQixFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxHQUFHO0NBQzVELENBQUM7QUFxTUYscUJBQXFCO0FBQ3JCLG1EQUFtRDtBQUNuRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLHlEQUFHLENBQUE7SUFDSCwrREFBTSxDQUFBO0lBQ04sK0RBQU0sQ0FBQTtBQUNWLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBR0QsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUMxQiwyQ0FBcUIsQ0FBQTtJQUNyQiwrQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDNUIsbUNBQVcsQ0FBQTtJQUNYLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURhdGFDbG9uZVN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtY2xvbmUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgR3JpZENvbHVtbkRhdGFUeXBlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvc29ydGluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuXG4vKipcbiogRGVmYXVsdCBwaXZvdCBrZXlzIHVzZWQgZm9yIGRhdGEgcHJvY2Vzc2luZyBpbiB0aGUgcGl2b3QgcGlwZXMuXG4qL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUElWT1RfS0VZUyA9IHtcbiAgICBhZ2dyZWdhdGlvbnM6ICdhZ2dyZWdhdGlvbnMnLCByZWNvcmRzOiAncmVjb3JkcycsIGNoaWxkcmVuOiAnY2hpbGRyZW4nLCBsZXZlbDogJ2xldmVsJyxcbiAgICByb3dEaW1lbnNpb25TZXBhcmF0b3I6ICdfJywgY29sdW1uRGltZW5zaW9uU2VwYXJhdG9yOiAnLSdcbn07XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGRpbWVuc2lvbiBjb2xsZWN0aW9uIGZvciByb3dzLCBjb2x1bW5zIG9mIGZpbHRlcnMgaXMgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGltZW5zaW9uc0NoYW5nZSB7XG4gICAgLyoqIFRoZSBuZXcgbGlzdCBvZiBkaW1lbnNpb25zLiAqL1xuICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgIC8qKiBUaGUgZGltZW5zaW9uIGxpc3QgdHlwZSAtIFJvdywgQ29sdW1uIG9yIEZpbHRlci4gKi9cbiAgICBkaW1lbnNpb25Db2xsZWN0aW9uVHlwZTogUGl2b3REaW1lbnNpb25UeXBlXG59XG5cbi8qKlxuKiBFdmVudCBlbWl0dGVkIHdoZW4gdmFsdWVzIGxpc3QgaXMgY2hhbmdlZC5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElWYWx1ZXNDaGFuZ2Uge1xuICAgIC8qKiBUaGUgbmV3IGxpc3Qgb2YgdmFsdWVzLiAqL1xuICAgIHZhbHVlczogSVBpdm90VmFsdWVbXVxufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBwaXZvdCBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90Q29uZmlndXJhdGlvbkNoYW5nZWRFdmVudEFyZ3Mge1xuICAgIC8qKiBUaGUgbmV3IGNvbmZpZ3VyYXRpb24uICovXG4gICAgcGl2b3RDb25maWd1cmF0aW9uOiBJUGl2b3RDb25maWd1cmF0aW9uXG59XG5cbi8qKlxuKiBJbnRlcmZhY2UgZGVzY3JpYmluZyBQaXZvdCBkYXRhIHByb2Nlc3NpbmcgZm9yIGRpbWVuc2lvbnMuXG4qIFNob3VsZCBjb250YWluIGEgcHJvY2VzcyBtZXRob2QgYW5kIHJldHVybiByZWNvcmRzIGhpZXJhcmNoeSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZGltZW5zaW9ucy5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdERpbWVuc2lvblN0cmF0ZWd5IHtcbiAgICAvKiBibGF6b3JDU1N1cHByZXNzICovXG4gICAgcHJvY2Vzcyhjb2xsZWN0aW9uOiBhbnksXG4gICAgICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgICAgICB2YWx1ZXM6IElQaXZvdFZhbHVlW10sXG4gICAgICAgIGNsb25lU3RyYXRlZ3k6IElEYXRhQ2xvbmVTdHJhdGVneSxcbiAgICAgICAgcGl2b3RLZXlzPzogSVBpdm90S2V5cyk6IGFueVtdO1xufVxuXG4vKipcbiogSW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBQaXZvdEFnZ3JlZ2F0aW9uIGZ1bmN0aW9uLlxuKiBBY2NlcHRzIGFuIGFycmF5IG9mIGV4dHJhY3RlZCBkYXRhIG1lbWJlcnMgYW5kIGEgYXJyYXkgb2YgdGhlIG9yaWdpbmFsIGRhdGEgcmVjb3Jkcy5cbiovXG5leHBvcnQgdHlwZSBQaXZvdEFnZ3JlZ2F0aW9uID0gKG1lbWJlcnM6IGFueVtdLCBkYXRhOiBhbnlbXSkgPT4gYW55O1xuXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyoqXG4qIEludGVyZmFjZSBkZXNjcmliaW5nIGEgSVBpdm90QWdncmVnYXRvciBjbGFzcy5cbiogVXNlZCBmb3Igc3BlY2lmeWluZyBjdXN0b20gYWdncmVnYXRvciBsaXN0cy5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdEFnZ3JlZ2F0b3Ige1xuICAgIC8qKiBBZ2dyZWdhdGlvbiB1bmlxdWUga2V5LiAqL1xuICAgIGtleTogc3RyaW5nO1xuICAgIC8qKiBBZ2dyZWdhdGlvbiBsYWJlbCB0byBzaG93IGluIHRoZSBVSS4gKi9cbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEFnZ3JlZ2F0aW9uIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgZnJvbSBhIGxpc3Qgb2YgcHJlZGVmaW5lZCBhZ2dyZWdhdGlvbnMuXG4gICAgICogSWYgbm90IHNldCB3aWxsIHVzZSB0aGUgc3BlY2lmaWVkIGFnZ3JlZ2F0b3IgZnVuY3Rpb24uXG4gICAgICovXG4gICAgYWdncmVnYXRvck5hbWU/OiBQaXZvdEFnZ3JlZ2F0aW9uVHlwZTtcblxuICAgIC8qIGJsYXpvckFsdGVybmF0ZVR5cGU6IEFnZ3JlZ2F0b3JFdmVudEhhbmRsZXIgKi9cbiAgICAvKiBibGF6b3JPbmx5U2NyaXB0ICovXG4gICAgLyoqXG4gICAgICogQWdncmVnYXRvciBmdW5jdGlvbiBjYW4gYmUgYSBjdXN0b20gaW1wbGVtZW50YXRpb24gb2YgYFBpdm90QWdncmVnYXRpb25gLCBvclxuICAgICAqIHVzZSBwcmVkZWZpbmVkIG9uZXMgZnJvbSBgSWd4UGl2b3RBZ2dyZWdhdGVgIGFuZCBpdHMgdmFyaWFudHMuXG4gICAgICovXG4gICAgYWdncmVnYXRvcj86IChtZW1iZXJzOiBhbnlbXSwgZGF0YT86IGFueVtdKSA9PiBhbnk7XG59XG5cbi8qIG1hcnNoYWxCeVZhbHVlICovXG4vKipcbiogQ29uZmlndXJhdGlvbiBvZiB0aGUgcGl2b3QgZ3JpZC5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdENvbmZpZ3VyYXRpb24ge1xuICAgIC8qKiBBIHN0cmF0ZWd5IHRvIHRyYW5zZm9ybSB0aGUgcm93cy4gKi9cbiAgICByb3dTdHJhdGVneT86IElQaXZvdERpbWVuc2lvblN0cmF0ZWd5IHwgbnVsbDtcbiAgICAvKiogQSBzdHJhdGVneSB0byB0cmFuc2Zvcm0gdGhlIGNvbHVtbnMuICovXG4gICAgY29sdW1uU3RyYXRlZ3k/OiBJUGl2b3REaW1lbnNpb25TdHJhdGVneSB8IG51bGw7XG4gICAgLyoqIEEgbGlzdCBvZiB0aGUgcm93cy4gKi9cbiAgICByb3dzOiBJUGl2b3REaW1lbnNpb25bXSB8IG51bGw7XG4gICAgLyoqIEEgbGlzdCBvZiB0aGUgY29sdW1ucy4gKi9cbiAgICBjb2x1bW5zOiBJUGl2b3REaW1lbnNpb25bXSB8IG51bGw7XG4gICAgLyoqIEEgbGlzdCBvZiB0aGUgdmFsdWVzLiAqL1xuICAgIHZhbHVlczogSVBpdm90VmFsdWVbXSB8IG51bGw7XG4gICAgLyoqIERpbWVuc2lvbnMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBmaWx0ZXIgYXJlYS4gKi9cbiAgICBmaWx0ZXJzPzogSVBpdm90RGltZW5zaW9uW10gfCBudWxsO1xuICAgIC8qKiBQaXZvdCBkYXRhIGtleXMgdXNlZCBmb3IgZGF0YSBnZW5lcmF0aW9uLiBDYW4gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbW90ZSBzY2VuYXJpb3Mgd2hlcmUgdGhlIGRhdGEgaXMgcHJlLXBvcHVsYXRlZC4gKi9cbiAgICBwaXZvdEtleXM/OiBJUGl2b3RLZXlzO1xufVxuXG4vKiBibGF6b3JFbGVtZW50ICovXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyoqXG4qIENvbmZpZ3VyYXRpb24gb2YgYSBwaXZvdCBkaW1lbnNpb24uXG4qL1xuZXhwb3J0IGludGVyZmFjZSBJUGl2b3REaW1lbnNpb24ge1xuICAgIC8qKiBBbGxvd3MgZGVmaW5pbmcgYSBoaWVyYXJjaHkgd2hlbiBtdWx0aXBsZSBzdWIgZ3JvdXBzIG5lZWQgdG8gYmUgZXh0cmFjdGVkIGZyb20gc2luZ2xlIG1lbWJlci4gKi9cbiAgICBjaGlsZExldmVsPzogSVBpdm90RGltZW5zaW9uO1xuICAgIC8qKiBGaWVsZCBuYW1lIHRvIHVzZSBpbiBvcmRlciB0byBleHRyYWN0IHZhbHVlLiAqL1xuICAgIG1lbWJlck5hbWU6IHN0cmluZztcblxuICAgIC8qIGNzVHJlYXRBc0V2ZW50OiBNZW1iZXJGdW5jdGlvbkhhbmRsZXIgKi9cbiAgICAvKiBibGF6b3JPbmx5U2NyaXB0ICovXG4gICAgLyoqIEZ1bmN0aW9uIHRoYXQgZXh0cmFjdHMgdGhlIHZhbHVlICovXG4gICAgbWVtYmVyRnVuY3Rpb24/OiAoZGF0YTogYW55KSA9PiBhbnk7XG4gICAgLyoqIERpc3BsYXkgbmFtZSB0byBzaG93IGluc3RlYWQgb2YgdGhlIGZpZWxkIG5hbWUgb2YgdGhpcyB2YWx1ZS4gKiovXG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgLyoqIEVuYWJsZXMvRGlzYWJsZXMgYSBwYXJ0aWN1bGFyIGRpbWVuc2lvbiBmcm9tIHBpdm90IHN0cnVjdHVyZS4gKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZGVmaW5lZCBvciBkZWZpbmVkIHZpYSB0aGUgYGlneFBpdm90U2VsZWN0b3JgIGZpbHRlciBleHByZXNzaW9uIHRyZWUgZm9yIHRoZSBjdXJyZW50IGRpbWVuc2lvbiB0byBiZSBhcHBsaWVkIGluIHRoZSBmaWx0ZXIgcGlwZS5cbiAgICAgKiAqL1xuICAgIGZpbHRlcj86IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUgfCBudWxsO1xuICAgIC8qKiBFbmFibGUvZGlzYWJsZSBzb3J0aW5nIGZvciBhIHBhcnRpY3VsYXIgZGltZW5zaW9uLiBUcnVlIGJ5IGRlZmF1bHQuICovXG4gICAgc29ydGFibGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBzb3J0aW5nIGRpcmVjdGlvbiBvZiB0aGUgY3VycmVudCBkaW1lbnNpb24uIERldGVybWluZXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSB2YWx1ZXMgd2lsbCBhcHBlYXIgaW4gdGhlIHJlbGF0ZWQgZGltZW5zaW9uLlxuICAgICAqL1xuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0aW5nRGlyZWN0aW9uO1xuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhVHlwZSBvZiB0aGUgcmVsYXRlZCBkYXRhIGZpZWxkLlxuICAgICAqL1xuICAgIGRhdGFUeXBlPzogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKiBUaGUgd2lkdGggb2YgdGhlIGRpbWVuc2lvbiBjZWxscyB0byBiZSByZW5kZXJlZC5DYW4gYmUgcGl4ZWwsICUgb3IgXCJhdXRvXCIuICovXG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgLyoqIExldmVsIG9mIHRoZSBkaW1lbnNpb24uICovXG4gICAgbGV2ZWw/OiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYXV0b1dpZHRoPzogbnVtYmVyO1xuICAgIGhvcml6b250YWxTdW1tYXJ5PyA6IGJvb2xlYW47XG59XG5cbi8qIG1hcnNoYWxCeVZhbHVlICovXG4vKipcbiogQ29uZmlndXJhdGlvbiBvZiBhIHBpdm90IHZhbHVlIGFnZ3JlZ2F0aW9uLlxuKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90VmFsdWUge1xuICAgIC8qKiBGaWVsZCBuYW1lIHRvIHVzZSBpbiBvcmRlciB0byBleHRyYWN0IHZhbHVlLiAqL1xuICAgIG1lbWJlcjogc3RyaW5nO1xuICAgIC8qKiBEaXNwbGF5IG5hbWUgdG8gc2hvdyBpbnN0ZWFkIG9mIG1lbWJlciBmb3IgdGhlIGNvbHVtbiBoZWFkZXIgb2YgdGhpcyB2YWx1ZS4gKiovXG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWN0aXZlIGFnZ3JlZ2F0b3IgZGVmaW5pdGlvbiB3aXRoIGtleSwgbGFiZWwgYW5kIGFnZ3JlZ2F0b3IuXG4gICAgICovXG4gICAgYWdncmVnYXRlOiBJUGl2b3RBZ2dyZWdhdG9yO1xuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgYWdncmVnYXRlcyB0byBzaG93IGluIGFnZ3JlZ2F0ZSBkcm9wLWRvd24uXG4gICAgICovXG4gICAgYWdncmVnYXRlTGlzdD86IElQaXZvdEFnZ3JlZ2F0b3JbXTtcbiAgICAvKiogRW5hYmxlcy9EaXNhYmxlcyBhIHBhcnRpY3VsYXIgdmFsdWUgZnJvbSBwaXZvdCBhZ2dyZWdhdGlvbi4gKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIC8qKiAgQWxsb3cgY29uZGl0aW9uYWxseSBzdHlsaW5nIG9mIHRoZSBJZ3hQaXZvdEdyaWQgY2VsbHMuICovXG4gICAgc3R5bGVzPzogYW55O1xuICAgIC8qKiBFbmFibGVzIGEgZGF0YSB0eXBlIHNwZWNpZmljIHRlbXBsYXRlIG9mIHRoZSBjZWxscyAqL1xuICAgIGRhdGFUeXBlPzogR3JpZENvbHVtbkRhdGFUeXBlO1xuXG4gICAgLyogY3NUcmVhdEFzRXZlbnQ6IFBpdm90VmFsdWVGb3JtYXR0ZXJFdmVudEhhbmRsZXIgKi9cbiAgICAvKiBibGF6b3JPbmx5U2NyaXB0ICovXG4gICAgLyoqIEFwcGxpZXMgZGlzcGxheSBmb3JtYXQgdG8gY2VsbCB2YWx1ZXMuICovXG4gICAgZm9ybWF0dGVyPzogKHZhbHVlOiBhbnksIHJvd0RhdGE/OiBJUGl2b3RHcmlkUmVjb3JkLCBjb2x1bW5EYXRhPzogSVBpdm90R3JpZENvbHVtbikgPT4gYW55O1xufVxuXG4vKiogSW50ZXJmYWNlIGRlc2NyaWJpbmcgdGhlIFBpdm90IGNvbHVtbiBkYXRhLlxuKiAgQ29udGFpbnMgaW5mb3JtYXRpb24gb24gdGhlIHJlbGF0ZWQgY29sdW1uIGRpbWVuc2lvbnMgYW5kIHRoZWlyIHZhbHVlcy5cbiovXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdEdyaWRDb2x1bW4ge1xuICAgICAgICBmaWVsZDogc3RyaW5nLFxuICAgICAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgICAgICAvKiogR2V0cy9TZXRzIHRoZSBncm91cCB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlbGF0ZWQgY29sdW1uIGRpbWVuc2lvbiBieSBpdHMgbWVtYmVyTmFtZS4gKiovXG4gICAgICAgIGRpbWVuc2lvblZhbHVlczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICAgICAgLyoqIExpc3Qgb2YgZGltZW5zaW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbHVtbi4qKi9cbiAgICAgICAgZGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgICAgIHZhbHVlOiBJUGl2b3RWYWx1ZVxufVxuXG4vKiBtYXJzaGFsQnlWYWx1ZSAqL1xuLyoqIEludGVyZmFjZSBkZXNjcmliaW5nIHRoZSBQaXZvdCBkYXRhIGtleXMgdXNlZCBmb3IgZGF0YSBnZW5lcmF0aW9uLlxuKiAgQ2FuIGJlIHVzZWQgZm9yIGN1c3RvbSByZW1vdGUgc2NlbmFyaW9zIHdoZXJlIHRoZSBkYXRhIGlzIHByZS1wb3B1bGF0ZWQuXG4qL1xuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RLZXlzIHtcbiAgICAvKiogRmllbGQgdGhhdCBzdG9yZXMgY2hpbGRyZW4gZm9yIGhpZXJhcmNoeSBidWlsZGluZy4gKi9cbiAgICBjaGlsZHJlbjogc3RyaW5nO1xuICAgIC8qKiBGaWVsZCB0aGF0IHN0b3JlcyByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGRhdGEgcmVjb3Jkcy4gKi9cbiAgICByZWNvcmRzOiBzdHJpbmc7XG4gICAgLyoqIEZpZWxkIHRoYXQgc3RvcmVzIGFnZ3JlZ2F0aW9uIHZhbHVlcy4gKi9cbiAgICBhZ2dyZWdhdGlvbnM6IHN0cmluZztcbiAgICAvKiogRmllbGQgdGhhdCBzdG9yZXMgZGltZW5zaW9uIGxldmVsIGJhc2VkIG9uIGl0cyBoaWVyYXJjaHkuICovXG4gICAgbGV2ZWw6IHN0cmluZztcbiAgICAvKiogU2VwYXJhdG9yIHVzZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSB1bmlxdWUgY29sdW1uIGZpZWxkIHZhbHVlcy4gKi9cbiAgICBjb2x1bW5EaW1lbnNpb25TZXBhcmF0b3I6IHN0cmluZztcbiAgICAvKiogU2VwYXJhdG9yIHVzZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSB1bmlxdWUgcm93IGZpZWxkIHZhbHVlcy4gKi9cbiAgICByb3dEaW1lbnNpb25TZXBhcmF0b3I6IHN0cmluZztcbn1cblxuLyogbXVzdENvZXJjZVRvSW50ICovXG4vKiogVGhlIGRpbWVuc2lvbiB0eXBlcyAtIFJvdywgQ29sdW1uIG9yIEZpbHRlci4gKi9cbmV4cG9ydCBlbnVtIFBpdm90RGltZW5zaW9uVHlwZSB7XG4gICAgUm93LFxuICAgIENvbHVtbixcbiAgICBGaWx0ZXJcbn1cblxuXG5leHBvcnQgZW51bSBQaXZvdFJvd0xheW91dFR5cGUge1xuICAgIFZlcnRpY2FsID0gXCJ2ZXJ0aWNhbFwiLFxuICAgIEhvcml6b250YWwgPSBcImhvcml6b250YWxcIlxufVxuXG5leHBvcnQgZW51bSBQaXZvdFN1bW1hcnlQb3NpdGlvbiB7XG4gICAgVG9wID0gXCJ0b3BcIixcbiAgICBCb3R0b20gPSBcImJvdHRvbVwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90VUlTZXR0aW5ncyB7XG4gICAgc2hvd0NvbmZpZ3VyYXRpb24/OiBib29sZWFuO1xuICAgIHNob3dSb3dIZWFkZXJzPzogYm9vbGVhbjtcbiAgICByb3dMYXlvdXQ/OiBQaXZvdFJvd0xheW91dFR5cGU7XG4gICAgaG9yaXpvbnRhbFN1bW1hcmllc1Bvc2l0aW9uPzogUGl2b3RTdW1tYXJ5UG9zaXRpb247XG59XG5cbmV4cG9ydCB0eXBlIFBpdm90QWdncmVnYXRpb25UeXBlID0gJ1NVTScgfCAnQVZHJyB8ICdNSU4nIHwgJ01BWCcgfCAnQ09VTlQnIHwgJ0xBVEVTVCcgfCAnRUFSTElFU1QnIDtcblxuLyoqIEludGVyZmFjZSBkZXNjcmliaW5nIHRoZSBwaXZvdCBkaW1lbnNpb24gZGF0YS5cbiogQ29udGFpbnMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcmVuZGVyIGRpbWVuc2lvbiBoZWFkZXJzLlxuKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpdm90RGltZW5zaW9uRGF0YSB7XG4gICAgLyoqIEFzc29jaWF0ZWQgY29sdW1uIGRlZmluaXRpb24uICovXG4gICAgY29sdW1uOiBDb2x1bW5UeXBlO1xuICAgIC8qKiBBc3NvY2lhdGVkIGRpbWVuc2lvbiBkZWZpbml0aW9uLiAqL1xuICAgIGRpbWVuc2lvbjogSVBpdm90RGltZW5zaW9uO1xuICAgIC8qKiBMaXN0IG9mIHByZXZpb3VzIGRpbWVuc2lvbiBncm91cHMuICovXG4gICAgcHJldkRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgYSBjaGlsZCBkaW1lbnNpb24uICovXG4gICAgaXNDaGlsZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGl2b3RSb3dIZWFkZXJHcm91cFR5cGUge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgcGFyZW50OiBhbnk7XG4gICAgaGVhZGVyOiBhbnk7XG4gICAgaGVhZGVySUQ6IHN0cmluZztcbiAgICBncmlkOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGltZW5zaW9uVmFsdWVUeXBlIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGNoaWxkcmVuOiBNYXA8c3RyaW5nLCBzdHJpbmcgfCBEaW1lbnNpb25WYWx1ZVR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdEdyaWRSZWNvcmQge1xuICAgIC8qIGJsYXpvclN1cHByZXNzICovXG4gICAgLyoqIEdldHMvU2V0cyB0aGUgZ3JvdXAgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWxhdGVkIHJvdyBkaW1lbnNpb24gYnkgaXRzIG1lbWJlck5hbWUuICoqL1xuICAgIGRpbWVuc2lvblZhbHVlczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKiBHZXRzL1NldHMgdGhlIGFnZ3JlZ2F0aW9uIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmFsdWUgcGF0aC4gVmFsdWUgcGF0aCBkZXBlbmRzIG9uIGNvbmZpZ3VyZWQgY29sdW1uIGRpbWVuc2lvbiBoaWVyYXJjaHkgYW5kIHZhbHVlcy4qKi9cbiAgICBhZ2dyZWdhdGlvblZhbHVlczogTWFwPHN0cmluZywgYW55PjtcbiAgICAvKiBibGF6b3JTdXBwcmVzcyAqL1xuICAgIC8qKiBMaXN0IG9mIGNoaWxkcmVuIHJlY29yZHMgaW4gY2FzZSBhbnkgcm93IGRpbWVuc2lvbiBtZW1iZXIgY29udGFpbiBhIGhpZXJhcmNoeS4gRWFjaCBkaW1lbnNpb24gbWVtYmVyIGNvbnRhaW5zIGl0cyBvd24gaGllcmFyY2h5LCB3aGljaCB5b3UgY2FuIGdldCBieSBpdHMgbWVtYmVyTmFtZS4gKiovXG4gICAgY2hpbGRyZW4/OiBNYXA8c3RyaW5nLCBJUGl2b3RHcmlkUmVjb3JkW10+O1xuICAgIC8qKiBMaXN0IG9mIG9yaWdpbmFsIGRhdGEgcmVjb3JkcyBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgcGl2b3RlZCBkYXRhLiAqKi9cbiAgICByZWNvcmRzPzogYW55W107XG4gICAgIC8qKiBSZWNvcmQgbGV2ZWwqKi9cbiAgICBsZXZlbD86IG51bWJlcjtcbiAgICAvKiogTGlzdCBvZiBkaW1lbnNpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVjb3JkLioqL1xuICAgIGRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBJZiBzZXQsIGl0IHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGltZW5zaW9uLCB0aGF0IGhhcyB0b3RhbCByZWNvcmQgZW5hYmxlZC4gKi9cbiAgICB0b3RhbFJlY29yZERpbWVuc2lvbk5hbWU/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcmVjb3JkIGluIHRoZSB0b3RhbCB2aWV3ICovXG4gICAgZGF0YUluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdEdyaWRHcm91cFJlY29yZCBleHRlbmRzIElQaXZvdEdyaWRSZWNvcmQge1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICByb3dTcGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdEdyaWRIb3Jpem9udGFsR3JvdXAge1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIHJvb3REaW1lbnNpb24/OiBJUGl2b3REaW1lbnNpb247XG4gICAgZGltZW5zaW9ucz86IElQaXZvdERpbWVuc2lvbltdO1xuICAgIHJlY29yZHM/OiBJUGl2b3RHcmlkUmVjb3JkW107XG4gICAgcm93U3RhcnQ/OiBudW1iZXI7XG4gICAgcm93U3Bhbj86IG51bWJlcjtcbiAgICBjb2xTdGFydD86IG51bWJlcjtcbiAgICBjb2xTcGFuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneFBpdm90R3JpZFZhbHVlVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElQaXZvdFZhbHVlO1xufVxuIl19
|