@annalib/anna-core 24.2.9 → 25.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -28
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +25 -1
- package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +6 -6
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +9 -4
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +39 -7
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +3 -3
- package/fesm2022/annalib-anna-core.mjs +93 -32
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +29 -1
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +1 -0
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +19 -7
- package/package.json +1 -1
- package/src/lib/anna-common-scss/_animate.scss +27 -27
- package/src/lib/anna-common-scss/_application-spacing.scss +8 -7
- package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -27
- package/src/lib/anna-common-scss/_button.scss +18 -18
- package/src/lib/anna-common-scss/_colors.scss +107 -107
- package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
- package/src/lib/anna-common-scss/_customDropdown.scss +123 -123
- package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -106
- package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
- package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -70
- package/src/lib/anna-common-scss/_font.scss +9 -9
- package/src/lib/anna-common-scss/_fonts.scss +86 -86
- package/src/lib/anna-common-scss/_generic-modal.scss +63 -63
- package/src/lib/anna-common-scss/_generic-table-common.scss +198 -198
- package/src/lib/anna-common-scss/_gt-table.scss +425 -425
- package/src/lib/anna-common-scss/_icons.scss +3 -3
- package/src/lib/anna-common-scss/_legend.scss +11 -11
- package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
- package/src/lib/anna-common-scss/_mixins.scss +187 -187
- package/src/lib/anna-common-scss/_modal.scss +37 -37
- package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -36
- package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
- package/src/lib/anna-common-scss/_sort.scss +30 -30
- package/src/lib/anna-common-scss/_toggle.scss +86 -86
- package/src/lib/anna-common-scss/style.scss +1 -1
- package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -25
- package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -34
- package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -31
|
@@ -32,4 +32,28 @@ export class IconCellActionKey {
|
|
|
32
32
|
this.tooltipData = tooltipData;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxREEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCwrREFBNkMsQ0FBQTtJQUM3QyxpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGFjdGlvbktleT86IHN0cmluZztcclxuICAgIHRvb2x0aXBLZXk/OiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkS2V5Pzogc3RyaW5nO1xyXG4gICAgdHlwZU9mSGVhZGVyRGF0YTogREFUQVRZUEU7XHJcbiAgICB0eXBlT2ZCb2R5RGF0YTogREFUQVRZUEU7XHJcbiAgICBmaWx0ZXI/OiBGSUxURVJUWVBFO1xyXG4gICAgZmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmdbXTtcclxuICAgIGlzU29ydFJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIHNob3dUb29sdGlwSWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVUb29sdGlwSWNvbj86IGJvb2xlYW47XHJcbiAgICB0b29sdGlwPzogSVRvb2x0aXA7XHJcbiAgICBqb2luZWRGaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZztcclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9XHJcbiAgICB8IFwiQ0hFQ0tCT1hcIlxyXG4gICAgfCBcIklDT05cIlxyXG4gICAgfCBcIlNUUklOR1wiXHJcbiAgICB8IFwiUkFESU9cIlxyXG4gICAgfCBcIlwiXHJcbiAgICB8IFwiU1ZHX0lDT05cIlxyXG4gICAgfCBcIlRFWFRfQUNUSU9OU1wiXHJcbiAgICB8IFwiQ0xJQ0tBQkxFX0RBVEFcIlxyXG4gICAgfCBcIlNUUklOR19fVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fSUNPTl9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIkhUTUxcIlxyXG4gICAgfCBcIkhUTUxfU1RSSU5HXCJcclxuICAgIHwgXCJJQ09OX0NFTExcIlxyXG4gICAgfCBcIlNUUklOR19PUl9JTlBVVFwiXHJcbiAgICB8IFwiU0lOR0xFX1JBRElPXCJcclxuICAgIHwgXCJTVFJJTkdfV0lUSF9UT09MVElQXCJcclxuICAgIHwgJ1NUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUCc7XHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgc3ZnT3JJY29uVG9vbHRpcE1zZz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN2Z09ySWNvblR5cGVJbkdUVGFibGUge1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHN2Z09ySWNvbk5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB7IHNob3dPYmplY3RLZXk6IGJvb2xlYW47IHN2Z09ySWNvbk5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gZGF0YS5zaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc3ZnT3JJY29uTmFtZSA9IGRhdGEuc3ZnT3JJY29uTmFtZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3ZnT3JJY29uTmFtZXMge1xyXG4gICAgUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUgPSBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIsXHJcbiAgICBBVVRPTUFUSU9OX0FDVElWQVRFRCA9IFwiQVVUT01BVElPTl9BQ1RJVkFURURcIixcclxuICAgIERFTEVURURfT1JERVIgPSBcIkRFTEVURURfT1JERVJcIixcclxuICAgIFdBUk5JTkdfSUNPTiA9IFwiV0FSTklOR19JQ09OXCIsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvdGFsUm93SW5mbyB7XHJcbiAgICBjb2xzcGFuOiBudW1iZXI7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBsb3dlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBjb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFJlZFRleHRBZnRlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBpc0FjdGlvbkNvbHVtbj86IGJvb2xlYW47XHJcbiAgICBhY3Rpb25EYXRhPzogQ2xpY2thYmxlSXRlbVtdO1xyXG4gICAgaXNJY29uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGljb25EYXRhPzogeyBjbGFzczogc3RyaW5nOyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgIHRvb2x0aXBJY29uQ2xhc3M/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0SGVhZGVyQ29uZmlnIHtcclxuICAgIGljb25Db2x1bW46IGJvb2xlYW47XHJcbiAgICBjaGVja2JveENvbHVtbjogYm9vbGVhbjtcclxuICAgIGxhc3RDb2x1bW5LZXlzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RHZW5lcmFsQ29uZmlnIGV4dGVuZHMgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBjb21wb25lbnQ6IENPTVBPTkVOVE5BTUU7XHJcbiAgICB0b3RhbFJvdzogYm9vbGVhbjtcclxuICAgIGlzSGVhZGVyQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlSGVhZGVyQ2hlY2tib3g/OiBib29sZWFuO1xyXG4gICAgbXVsdGlXZWVrUGlja2VyQ29uZmlnPzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcD86IG51bWJlcjtcclxuICAgIHRhYmxlQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHRhYmxlT3V0ZXJDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgc2hvd0FsbENvbHVtbkZpbHRlcjogYm9vbGVhbjtcclxuICAgIGJ1ZmZlclNpemU6IG51bWJlcjtcclxuICAgIHBhZ2U6IHN0cmluZztcclxufVxyXG5cclxudHlwZSBDT01QT05FTlROQU1FID1cclxuICAgIHwgXCJTUE9UREVUQUlMU1wiXHJcbiAgICB8IFwiRVhDTFVERUlOVkVOVE9SWVBPUFVQXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZXCJcclxuICAgIHwgXCJEUlJMSVNUSU5HXCJcclxuICAgIHwgXCJEUlJcIlxyXG4gICAgfCBcIlwiXHJcbiAgICB8IFwiUkFUSU5HXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0lORkxJR0hUXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRFwiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19CTEFOS1wiXHJcbiAgICB8IFwiTFVSX1ZJT0xBVElPTlNcIlxyXG4gICAgfCBcIkFDVElWSVRZTE9HXCJcclxuICAgIHwgXCJOT1RJRklDQVRJT05TXCJcclxuICAgIHwgXCJEUF9SRVNUUklDVElPTlNcIjtcclxuaW50ZXJmYWNlIElTcG90VGFibGVDb25maWcge1xyXG4gICAgaXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwIHtcclxuICAgIGljb25Qb3NpdGlvbjogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImFib3ZlXCIgfCBcImJlbG93XCIgfCBcImJlZm9yZVwiIHwgXCJhZnRlclwiO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBDbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkRhdGEge1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaWNrYWJsZUl0ZW0ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9O1xyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0OiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHR5cGVPZkFjdGlvbkxpbmtGb3JHdDogYW55LFxyXG4gICAgICAgIG5hbWU6IHN0cmluZyxcclxuICAgICAgICBjbGFzc05hbWU6IHN0cmluZyxcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwRGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IHR5cGVPZkFjdGlvbkxpbmtGb3JHdDtcclxuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgICAgIHRoaXMuY2xhc3MgPSBjbGFzc05hbWU7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgICAgICB0aGlzLmVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSWNvbkNlbGxBY3Rpb25LZXkge1xyXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE/OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaWQ6IGFueSxcclxuICAgICAgICBzaG93SWNvbjogYm9vbGVhbixcclxuICAgICAgICBpY29uQ2xhc3M6IHN0cmluZyxcclxuICAgICAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhPzogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgICAgIHRoaXMuc2hvd0ljb24gPSBzaG93SWNvbjtcclxuICAgICAgICB0aGlzLmljb25DbGFzcyA9IGljb25DbGFzcztcclxuICAgICAgICB0aGlzLnNob3dPYmplY3RLZXkgPSBzaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbkl0ZW1UeXBlV2l0aFN0cmluZ0ljb25PclRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIGRhdGE6IHN0cmluZztcclxuXHJcbiAgICB0eXBlT2ZEYXRhOiBcIlNUUklOR1wiIHwgXCJJQ09OX1RFWFRfQUNUSU9OXCI7XHJcbiAgICBhZGRpdGlvbmFsVGV4dEJlZm9yZUxpbms6IHN0cmluZztcclxuXHJcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkSWNvbj86IGJvb2xlYW47XHJcblxyXG4gICAgbGlua0NsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0xpbms/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRMaW5rPzogYm9vbGVhbjtcclxuXHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuXHJcbiAgICB0b29sdGlwRGF0YT86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xyXG4gICAgdG9vbHRpcENsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBsYWNlbWVudD86IHN0cmluZztcclxuXHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJY29uVG9TaG93ID1cclxuICAgIHwgXCJMSVZFXCJcclxuICAgIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiXHJcbiAgICB8IFwiUEFZX0ZPUl9QRVJGT1JNQU5DRVwiXHJcbiAgICB8IFwiUkVKRUNURURcIlxyXG4gICAgfCBcIk5PVElGWVwiXHJcbiAgICB8IFwiQVdBSVRJTkdfQVBQUk9WQUxcIlxyXG4gICAgfCBcIkRFTEVURURfT1JERVJcIlxyXG4gICAgfCBcIk5FRURfU0VMTEVSX0NPTkZJUk1BVElPTlwiXHJcbiAgICB8IFwiTkVFRF9CVVlFUl9DT05GSVJNQVRJT05cIlxyXG4gICAgfCBcIkFVVE9NQVRJT05fQUNUSVZBVEVEXCJcclxuICAgIHwgXCJXQVJOSU5HX0lDT05cIjtcclxuIl19
|
|
35
|
+
export class TableClassNameConstant {
|
|
36
|
+
static { this.defaultClass = "table-body-row "; }
|
|
37
|
+
static { this.selectedRow = "selected-row "; }
|
|
38
|
+
static { this.selectableRow = "selectable-row "; }
|
|
39
|
+
static { this.lastRowOfGroup = "last-row-of-group "; }
|
|
40
|
+
static { this.mgRow = "mg-row "; }
|
|
41
|
+
static { this.redColorCellBorder = "redcolor-cell-border "; }
|
|
42
|
+
static { this.redColorCellBorderForBookedRtgImpsCol = " redcolor-cell-border-rtg-imps-col"; }
|
|
43
|
+
static { this.greenColorCellBorder = "greencolor-cell-border "; }
|
|
44
|
+
static { this.yellowColorCellBorder = "yellowcolor-cell-border"; }
|
|
45
|
+
static { this.orangeColorCellBorder = "orangecolor-cell-border "; }
|
|
46
|
+
static { this.redColorStatus = "redcolor-status "; }
|
|
47
|
+
static { this.groupedTableClass = "grouped-table-container "; }
|
|
48
|
+
}
|
|
49
|
+
export class EllipsisWithTableTooltip {
|
|
50
|
+
constructor(heading, tableHeaders, tableData, cellValue, tooltipText, showTooltip) {
|
|
51
|
+
this.tooltipHeader = heading;
|
|
52
|
+
this.tableHeaders = tableHeaders;
|
|
53
|
+
this.tableData = tableData;
|
|
54
|
+
this.cellValue = cellValue;
|
|
55
|
+
this.tooltipHoverText = tooltipText;
|
|
56
|
+
this.showTooltip = showTooltip;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzREEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCwrREFBNkMsQ0FBQTtJQUM3QyxpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF1Q0QsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFJbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVFqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID1cclxuICAgIHwgXCJDSEVDS0JPWFwiXHJcbiAgICB8IFwiSUNPTlwiXHJcbiAgICB8IFwiU1RSSU5HXCJcclxuICAgIHwgXCJSQURJT1wiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJTVkdfSUNPTlwiXHJcbiAgICB8IFwiVEVYVF9BQ1RJT05TXCJcclxuICAgIHwgXCJDTElDS0FCTEVfREFUQVwiXHJcbiAgICB8IFwiU1RSSU5HX19URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19JQ09OX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19fSUNPTl9PUl9URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiSFRNTFwiXHJcbiAgICB8IFwiSFRNTF9TVFJJTkdcIlxyXG4gICAgfCBcIklDT05fQ0VMTFwiXHJcbiAgICB8IFwiU1RSSU5HX09SX0lOUFVUXCJcclxuICAgIHwgXCJTSU5HTEVfUkFESU9cIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX0VMTElQU0lTX1dJVEhfVEFCTEVfVE9PTFRJUFwiO1xyXG50eXBlIEZJTFRFUlRZUEUgPSBcIkNIRUNLQk9YXCIgfCBcIlNMSURFUlwiIHwgXCJEQVRFXCIgfCBcIlRJTUVcIiB8IFwiV0VFS1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3ZnT3JJY29uVHlwZUluR1RUYWJsZSB7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc3ZnT3JJY29uTmFtZT86IHN0cmluZztcclxuICAgIHN2Z09ySWNvblRvb2x0aXBNc2c/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YTogeyBzaG93T2JqZWN0S2V5OiBib29sZWFuOyBzdmdPckljb25OYW1lOiBzdHJpbmcgfSkge1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IGRhdGEuc2hvd09iamVjdEtleTtcclxuICAgICAgICB0aGlzLnN2Z09ySWNvbk5hbWUgPSBkYXRhLnN2Z09ySWNvbk5hbWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN2Z09ySWNvbk5hbWVzIHtcclxuICAgIFBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFID0gXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiLFxyXG4gICAgQVVUT01BVElPTl9BQ1RJVkFURUQgPSBcIkFVVE9NQVRJT05fQUNUSVZBVEVEXCIsXHJcbiAgICBERUxFVEVEX09SREVSID0gXCJERUxFVEVEX09SREVSXCIsXHJcbiAgICBXQVJOSU5HX0lDT04gPSBcIldBUk5JTkdfSUNPTlwiLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxSZWRUZXh0QWZ0ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgaXNBY3Rpb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgYWN0aW9uRGF0YT86IENsaWNrYWJsZUl0ZW1bXTtcclxuICAgIGlzSWNvbkNvbHVtbj86IGJvb2xlYW47XHJcbiAgICBpY29uRGF0YT86IHsgY2xhc3M6IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICB0b29sdGlwSWNvbkNsYXNzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEhlYWRlckNvbmZpZyB7XHJcbiAgICBpY29uQ29sdW1uOiBib29sZWFuO1xyXG4gICAgY2hlY2tib3hDb2x1bW46IGJvb2xlYW47XHJcbiAgICBsYXN0Q29sdW1uS2V5czogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0R2VuZXJhbENvbmZpZyBleHRlbmRzIElTcG90VGFibGVDb25maWcge1xyXG4gICAgY29tcG9uZW50OiBDT01QT05FTlROQU1FO1xyXG4gICAgdG90YWxSb3c6IGJvb2xlYW47XHJcbiAgICBpc0hlYWRlckNoZWNrZWQ/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZUhlYWRlckNoZWNrYm94PzogYm9vbGVhbjtcclxuICAgIG11bHRpV2Vla1BpY2tlckNvbmZpZz86IElXZWVrQ2FsZW5kYXI7XHJcbiAgICB2ZXJ0aWNhbFNjcm9sbE9mZnNldEZvckZpbHRlclRvb2x0aXA/OiBudW1iZXI7XHJcbiAgICB0YWJsZUNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICB0YWJsZU91dGVyQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHNob3dBbGxDb2x1bW5GaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBidWZmZXJTaXplOiBudW1iZXI7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgQ09NUE9ORU5UTkFNRSA9XHJcbiAgICB8IFwiU1BPVERFVEFJTFNcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllQT1BVUFwiXHJcbiAgICB8IFwiRVhDTFVERUlOVkVOVE9SWVwiXHJcbiAgICB8IFwiRFJSTElTVElOR1wiXHJcbiAgICB8IFwiRFJSXCJcclxuICAgIHwgXCJcIlxyXG4gICAgfCBcIlJBVElOR1wiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19JTkZMSUdIVFwiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19DT01QTEVURURcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQkxBTktcIlxyXG4gICAgfCBcIkxVUl9WSU9MQVRJT05TXCJcclxuICAgIHwgXCJBQ1RJVklUWUxPR1wiXHJcbiAgICB8IFwiTk9USUZJQ0FUSU9OU1wiXHJcbiAgICB8IFwiRFBfUkVTVFJJQ1RJT05TXCI7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcCB7XHJcbiAgICBpY29uUG9zaXRpb246IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJhYm92ZVwiIHwgXCJiZWxvd1wiIHwgXCJiZWZvcmVcIiB8IFwiYWZ0ZXJcIjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25EYXRhIHtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlja2FibGVJdGVtIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q6IGFueSxcclxuICAgICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgY2xhc3NOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmNsYXNzID0gY2xhc3NOYW1lO1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICAgICAgdGhpcy5lbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEljb25DZWxsQWN0aW9uS2V5IHtcclxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhPzogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGlkOiBhbnksXHJcbiAgICAgICAgc2hvd0ljb246IGJvb2xlYW4sXHJcbiAgICAgICAgaWNvbkNsYXNzOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd09iamVjdEtleTogYm9vbGVhbixcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwRGF0YT86IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSBpZDtcclxuICAgICAgICB0aGlzLnNob3dJY29uID0gc2hvd0ljb247XHJcbiAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBpY29uQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gc2hvd09iamVjdEtleTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25JdGVtVHlwZVdpdGhTdHJpbmdJY29uT3JUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcblxyXG4gICAgdHlwZU9mRGF0YTogXCJTVFJJTkdcIiB8IFwiSUNPTl9URVhUX0FDVElPTlwiO1xyXG4gICAgYWRkaXRpb25hbFRleHRCZWZvcmVMaW5rOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZEljb24/OiBib29sZWFuO1xyXG5cclxuICAgIGxpbmtDbGFzcz86IHN0cmluZztcclxuICAgIHNob3dMaW5rPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkTGluaz86IGJvb2xlYW47XHJcblxyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcblxyXG4gICAgdG9vbHRpcERhdGE/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcclxuICAgIHRvb2x0aXBDbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBQbGFjZW1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9XHJcbiAgICB8IFwiTElWRVwiXHJcbiAgICB8IFwiUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VcIlxyXG4gICAgfCBcIlJFSkVDVEVEXCJcclxuICAgIHwgXCJOT1RJRllcIlxyXG4gICAgfCBcIkFXQUlUSU5HX0FQUFJPVkFMXCJcclxuICAgIHwgXCJERUxFVEVEX09SREVSXCJcclxuICAgIHwgXCJORUVEX1NFTExFUl9DT05GSVJNQVRJT05cIlxyXG4gICAgfCBcIk5FRURfQlVZRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJBVVRPTUFUSU9OX0FDVElWQVRFRFwiXHJcbiAgICB8IFwiV0FSTklOR19JQ09OXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDbGFzc05hbWVDb25zdGFudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdENsYXNzID0gXCJ0YWJsZS1ib2R5LXJvdyBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBzZWxlY3RlZFJvdyA9IFwic2VsZWN0ZWQtcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlbGVjdGFibGVSb3cgPSBcInNlbGVjdGFibGUtcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGxhc3RSb3dPZkdyb3VwID0gXCJsYXN0LXJvdy1vZi1ncm91cCBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBtZ1JvdyA9IFwibWctcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHJlZENvbG9yQ2VsbEJvcmRlciA9IFwicmVkY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JDZWxsQm9yZGVyRm9yQm9va2VkUnRnSW1wc0NvbCA9IFwiIHJlZGNvbG9yLWNlbGwtYm9yZGVyLXJ0Zy1pbXBzLWNvbFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGdyZWVuQ29sb3JDZWxsQm9yZGVyID0gXCJncmVlbmNvbG9yLWNlbGwtYm9yZGVyIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHllbGxvd0NvbG9yQ2VsbEJvcmRlciA9IFwieWVsbG93Y29sb3ItY2VsbC1ib3JkZXJcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBvcmFuZ2VDb2xvckNlbGxCb3JkZXIgPSBcIm9yYW5nZWNvbG9yLWNlbGwtYm9yZGVyIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHJlZENvbG9yU3RhdHVzID0gXCJyZWRjb2xvci1zdGF0dXMgXCI7XHJcblxyXG4gICAgc3RhdGljIHJlYWRvbmx5IGdyb3VwZWRUYWJsZUNsYXNzID0gXCJncm91cGVkLXRhYmxlLWNvbnRhaW5lciBcIjtcclxufVxyXG4gICAgXHJcblxyXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNXaXRoVGFibGVUb29sdGlwIHtcclxuICAgIHRvb2x0aXBIZWFkZXI6IHN0cmluZztcclxuICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdO1xyXG4gICAgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIGNlbGxWYWx1ZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEhvdmVyVGV4dDogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaGVhZGluZzogc3RyaW5nLFxyXG4gICAgICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdLFxyXG4gICAgICAgIHRhYmxlRGF0YTogYW55W10sXHJcbiAgICAgICAgY2VsbFZhbHVlOiBzdHJpbmcsXHJcbiAgICAgICAgdG9vbHRpcFRleHQ6IHN0cmluZyxcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcEhlYWRlciA9IGhlYWRpbmc7XHJcbiAgICAgICAgdGhpcy50YWJsZUhlYWRlcnMgPSB0YWJsZUhlYWRlcnM7XHJcbiAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0YWJsZURhdGE7XHJcbiAgICAgICAgdGhpcy5jZWxsVmFsdWUgPSBjZWxsVmFsdWU7XHJcbiAgICAgICAgdGhpcy50b29sdGlwSG92ZXJUZXh0ID0gdG9vbHRpcFRleHQ7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpdGhPYmplY3RLZXkge1xyXG4gICAgaGVhZGVyTmFtZTogc3RyaW5nO1xyXG4gICAgb2JqZWN0S2V5OiBzdHJpbmc7XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -218,13 +218,13 @@ export class AnnaDateTimeFormatService {
|
|
|
218
218
|
return converted;
|
|
219
219
|
}
|
|
220
220
|
getBroadcastWeek(startDate, format = "MM/DD/YYYY") {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
221
|
+
const dayjsDate = dayjs(startDate, format);
|
|
222
|
+
const date = dayjsDate.clone();
|
|
223
|
+
const day = date.day();
|
|
224
224
|
// Find the closest Monday <= the date
|
|
225
|
-
|
|
225
|
+
const start = dayjs(date).subtract((day + 6) % 7, "day");
|
|
226
226
|
// Find the closest Sunday >= the date
|
|
227
|
-
|
|
227
|
+
const end = dayjs(date).add((7 - day) % 7, "day");
|
|
228
228
|
// console.log({weekStart: start , weekEnd: end})
|
|
229
229
|
return { start, end };
|
|
230
230
|
}
|
|
@@ -237,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
237
237
|
providedIn: "root",
|
|
238
238
|
}]
|
|
239
239
|
}], ctorParameters: function () { return []; } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFtQixNQUFNLE9BQU8sQ0FBQztBQUN4QyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDOztBQVEvRCxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDO1FBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3BDLE9BQU87WUFDSCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUMzRCxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUN4QyxPQUFPO1lBQ0gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFB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LEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxtREFBbUQ7UUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQTVQUSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdiRGF0ZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgZGF5anMsIHsgVW5pdFR5cGUgfSBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gXCJkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXRcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5leHBvcnQgdHlwZSBOZ2JEYXRlVHlwZSA9IHsgeWVhcjogbnVtYmVyOyBtb250aDogbnVtYmVyOyBkYXk6IG51bWJlciB9O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIGRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgeWVhcjogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIllZWVlcIiksIDEwKSxcclxuICAgICAgICAgICAgbW9udGg6IHBhcnNlSW50KGRheWpzKGRhdGUsIFwiTU0vREQvWVlZWVwiKS5mb3JtYXQoXCJNXCIpLCAxMCksXHJcbiAgICAgICAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIiksIDEwKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiWVlZWVwiKSwgMTApLFxyXG4gICAgICAgICAgICBtb250aDogcGFyc2VJbnQoZGF5anMoZGF0ZSwgcGFyc2VGb3JtYXQpLmZvcm1hdChcIk1cIiksIDEwKSxcclxuICAgICAgICAgICAgZGF5OiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSwgMTApLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBmb3JtYXRUb1R3ZWx2ZUhycyh0aW1lOiBhbnksIGNhbGxSZW1vdmVaZXJvOiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHRpbWVUb0JlRm9ybWF0dGVkID0gdGltZTtcclxuICAgICAgICBpZiAodGltZVRvQmVGb3JtYXR0ZWQuZW5kc1dpdGgoXCJBXCIpIHx8IHRpbWVUb0JlRm9ybWF0dGVkLmVuZHNXaXRoKFwiUFwiKSkge1xyXG4gICAgICAgICAgICB0aW1lVG9CZUZvcm1hdHRlZCA9IHRpbWVUb0JlRm9ybWF0dGVkLnN1YnN0cmluZygwLCB0aW1lVG9CZUZvcm1hdHRlZC5sZW5ndGggLSAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHRtcCA9IHRpbWVUb0JlRm9ybWF0dGVkLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgICAgIGlmICgrdG1wWzBdID4gMTIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9ICgrdG1wWzBdIC0gMTIpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIGlmICgrdG1wWzBdID09PSAyNCkgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgICAgICAgZWxzZSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodG1wWzBdID09PSBcIjEyXCIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiUE1cIjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRtcFswXSA9PT0gXCIwMFwiKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjEyXCI7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRtcFsxXTtcclxuICAgICAgICBpZiAoY2FsbFJlbW92ZVplcm8pIGZvcm1hdHRlZFRpbWUgPSBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnJlbW92ZVplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydFRvdHdlbnR5Rm91ckhyc0Zvcm1hdCh0aW1lOiBhbnksIGNhbGxBZGRaZXJvOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB0bXAgPSB0aW1lLnNwbGl0KC9bIDpdKy8pO1xyXG4gICAgICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICAgICAgaWYgKHRtcFswXSAhPT0gXCIxMlwiICYmIHRtcFsyXSA9PT0gXCJQTVwiKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSArIDEyKS50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodG1wWzBdID09PSBcIjEyXCIgJiYgdG1wWzJdID09PSBcIkFNXCIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMDBcIjtcclxuICAgICAgICB9IGVsc2UgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXS50b1N0cmluZygpO1xyXG4gICAgICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV0udG9TdHJpbmcoKTtcclxuICAgICAgICBpZiAoY2FsbEFkZFplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLmFkZFplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgICAgIGxldCByZW1vdmVkWmVybztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDFcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjAyXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwM1wiIHx8XHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDRcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjA1XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwNlwiIHx8XHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDdcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjA4XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwOVwiXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJlbW92ZWRaZXJvID0gdGltZVswXS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gcmVtb3ZlZFplcm8uY2hhckF0KDEpO1xyXG4gICAgICAgICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IHRpbWVbMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFplcm8odGltZTogYW55KSB7XHJcbiAgICAgICAgbGV0IGFkZGVkWmVybztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgICAgICBpZiAodGltZVsxXSA9PT0gXCIwXCIpIHRpbWVbMV0gPSBgMCR7dGltZVsxXX1gO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIxXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIyXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIzXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI0XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI1XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI2XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI3XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI4XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI5XCJcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgYWRkZWRaZXJvID0gYDAke3RpbWVbMF19YDtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IGFkZGVkWmVybztcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRCeVRpbWVBc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgICAgICBjb25zdCBkYXlqc0RhdGVGb3JBID0gZGF5anMoYDAxLzAxLzIwMDEgJHthfWAsIGZvcm1hdCk7XHJcbiAgICAgICAgY29uc3QgZGF5anNEYXRlRm9yQiA9IGRheWpzKGAwMS8wMS8yMDAxICR7Yn1gLCBmb3JtYXQpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJob3VyXCIsIHRydWUpO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0cyA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXN1bHRzID0gdGhpcy5jb21wYXJlVGltZShkYXlqc0RhdGVGb3JBLCBkYXlqc0RhdGVGb3JCLCBcIm1pbnV0ZVwiLCB0cnVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHRzID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMgPSB0aGlzLmNvbXBhcmVUaW1lKGRheWpzRGF0ZUZvckEsIGRheWpzRGF0ZUZvckIsIFwic2Vjb25kXCIsIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcblxyXG4gICAgc29ydEJ5VGltZURlc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgICAgICBjb25zdCBkYXlqc0RhdGVGb3JBID0gZGF5anMoYDAxLzAxLzIwMDEgJHthfWAsIGZvcm1hdCk7XHJcbiAgICAgICAgY29uc3QgZGF5anNEYXRlRm9yQiA9IGRheWpzKGAwMS8wMS8yMDAxICR7Yn1gLCBmb3JtYXQpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJob3VyXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdHMgPT09IDApIHtcclxuICAgICAgICAgICAgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJtaW51dGVcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdHMgPT09IDApIHtcclxuICAgICAgICAgICAgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJzZWNvbmRcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcGFyZVRpbWUoYTogZGF5anMuRGF5anMsIGI6IGRheWpzLkRheWpzLCB1bml0OiBVbml0VHlwZSwgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoYS5nZXQodW5pdCkgPCBiLmdldCh1bml0KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXNBc2MgPyAtMSA6IDE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmdldCh1bml0KSA+IGIuZ2V0KHVuaXQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBpc0FzYyA/IDEgOiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydE5nYkRhdGVUb01vbWVudChuZ2JEYXRlOiBOZ2JEYXRlIHwgTmdiRGF0ZVR5cGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdFR5cGUgPSBcIk1NL0REL1lZWVlcIjtcclxuICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICBpZiAobmdiRGF0ZSAmJiBuZ2JEYXRlLm1vbnRoICYmIG5nYkRhdGUuZGF5ICYmIG5nYkRhdGUueWVhcikge1xyXG4gICAgICAgICAgICBjb252ZXJ0ZWQgPSBgJHtuZ2JEYXRlLm1vbnRofS8ke25nYkRhdGUuZGF5fS8ke25nYkRhdGUueWVhcn1gO1xyXG4gICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChmb3JtYXRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgIH1cclxuXHJcbiAgICBjb21wYXJlRGF0ZShhOiBzdHJpbmcsIGI6IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNBc2MgPyBkYXlqcyhhKS5kaWZmKGIpIDogZGF5anMoYikuZGlmZihhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdGltZSA9IGRheWpzKGRhdGUgfHwgYDAxLzAxLzIwMDAgJHt2YWx1ZX1gKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgICAgIHJldHVybiB0aW1lWzE0XSA9PT0gXCIwXCIgJiYgdGltZVsxNV0gPT09IFwiMFwiXHJcbiAgICAgICAgICAgID8gZGF5anModGltZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgICAgIDogZGF5anModGltZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaDptbUFcIikuc2xpY2UoMCwgLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0VHdlbHZlSG91clRpbWVUb0hITU1BRm9ybWF0KHRpbWVWYWx1ZTogYW55LCBkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGF5anMoZGF0ZSB8fCBgMDEvMDEvMjAwMCAke3RpbWVWYWx1ZX1gKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgICAgIC8vIGNoZWNrIGlmIG1pbj09MDBcclxuICAgICAgICByZXR1cm4gdGltZVsxNF0gPT09IFwiMFwiICYmIHRpbWVbMTVdID09PSBcIjBcIlxyXG4gICAgICAgICAgICA/IGRheWpzKHRpbWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImhBXCIpLnNsaWNlKDAsIC0xKVxyXG4gICAgICAgICAgICA6IGRheWpzKHRpbWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImg6bW1BXCIpLnNsaWNlKDAsIC0xKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChkYXRlQW5kVGltZTogYW55KSB7XHJcbiAgICAgICAgbGV0IHN0YW5kYXJkRm9ybWF0O1xyXG4gICAgICAgIGxldCBkYXRlO1xyXG4gICAgICAgIGxldCB0aW1lO1xyXG5cclxuICAgICAgICBpZiAoZGF0ZUFuZFRpbWUuaW5jbHVkZXMoXCJ8XCIpKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSBkYXRlQW5kVGltZS5zbGljZSgwLCBkYXRlQW5kVGltZS5pbmRleE9mKFwifFwiKSk7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkYXRlQW5kVGltZS5zbGljZShkYXRlQW5kVGltZS5pbmRleE9mKFwifFwiKSArIDEsIGRhdGVBbmRUaW1lLmxlbmd0aCkudHJpbSgpO1xyXG5cclxuICAgICAgICAgICAgdGltZSA9IGAke3RpbWUuc2xpY2UoMCwgMil9OiR7dGltZS5zbGljZSgyLCA0KX0gJHt0aW1lLnNsaWNlKDQsIDUpfWA7XHJcbiAgICAgICAgICAgIHRpbWUgKz0gXCJNXCI7XHJcbiAgICAgICAgICAgIHN0YW5kYXJkRm9ybWF0ID0gZGF0ZSArIHRpbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3RhbmRhcmRGb3JtYXQgPSBgJHtkYXRlQW5kVGltZX0gMDA6MDAgQU1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF5anMoc3RhbmRhcmRGb3JtYXQpLmZvcm1hdChcIk1NL0REL1lZWVkgaGg6bW0gQVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wYXJlKGE6IG51bWJlciB8IHN0cmluZywgYjogbnVtYmVyIHwgc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCB1cGRhdGVkQSA9IGE7XHJcbiAgICAgICAgbGV0IHVwZGF0ZWRCID0gYjtcclxuICAgICAgICBpZiAodHlwZW9mIGEgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIGIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgdXBkYXRlZEEgPSBhID09PSBcIi1cIiA/IFwiMFwiIDogYS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICB1cGRhdGVkQiA9IGIgPT09IFwiLVwiID8gXCIwXCIgOiBiLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAodXBkYXRlZEEgPCB1cGRhdGVkQiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnREYXRhQnlCcm9hZGNhc3RUaW1lQXNjKGZpcnN0UGFyYW1UaW1lOiBzdHJpbmcsIHNlY29uZFBhcmFtVGltZTogc3RyaW5nLCBicm9hZGNhc3RUaW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcblxyXG4gICAgICAgIGxldCBhID0gZGF5anMoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICAgICAgbGV0IGIgPSBkYXlqcyhzZWNvbmRQYXJhbVRpbWUsIGZvcm1hdCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdGRheWpzRGF0ZVRpbWUgPSBkYXlqcyhicm9hZGNhc3RUaW1lLCBcIkhIOm1tOnNzXCIpO1xyXG5cclxuICAgICAgICBhID0gYS5pc0JlZm9yZShicm9hZGNhc3RkYXlqc0RhdGVUaW1lKSA/IGEuYWRkKDEsIFwiZFwiKSA6IGE7XHJcbiAgICAgICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBiLmFkZCgxLCBcImRcIikgOiBiO1xyXG5cclxuICAgICAgICBpZiAoYS5pc0JlZm9yZShiKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmlzQWZ0ZXIoYikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdChuZ2JEYXRlOiBOZ2JEYXRlVHlwZSwgZm9ybWF0OiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgY29udmVydGVkID0gYCR7bmdiRGF0ZS5tb250aH0vJHtuZ2JEYXRlLmRheX0vJHtuZ2JEYXRlLnllYXJ9YDtcclxuICAgICAgICAgICAgY29udmVydGVkID0gZGF5anMoY29udmVydGVkKS5mb3JtYXQoZm9ybWF0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnJvYWRjYXN0V2VlayhzdGFydERhdGU6IGFueSwgZm9ybWF0OiBzdHJpbmcgPSBcIk1NL0REL1lZWVlcIikge1xyXG4gICAgICAgIGxldCBkYXlqc0RhdGUgPSBkYXlqcyhzdGFydERhdGUsIGZvcm1hdCk7XHJcbiAgICAgICAgbGV0IGRhdGUgPSBkYXlqc0RhdGUuY2xvbmUoKTtcclxuICAgICAgICBsZXQgZGF5ID0gZGF0ZS5kYXkoKTtcclxuXHJcbiAgICAgICAgLy8gRmluZCB0aGUgY2xvc2VzdCBNb25kYXkgPD0gdGhlIGRhdGVcclxuICAgICAgICBsZXQgc3RhcnQgPSBkYXlqcyhkYXRlKS5zdWJ0cmFjdCgoZGF5ICsgNikgJSA3LCBcImRheVwiKTtcclxuXHJcbiAgICAgICAgLy8gRmluZCB0aGUgY2xvc2VzdCBTdW5kYXkgPj0gdGhlIGRhdGVcclxuICAgICAgICBsZXQgZW5kID0gZGF5anMoZGF0ZSkuYWRkKCg3IC0gZGF5KSAlIDcsIFwiZGF5XCIpO1xyXG5cclxuICAgICAgICAvLyAgIGNvbnNvbGUubG9nKHt3ZWVrU3RhcnQ6IHN0YXJ0ICwgd2Vla0VuZDogZW5kfSlcclxuICAgICAgICByZXR1cm4geyBzdGFydCwgZW5kIH07XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxLQUFtQixNQUFNLE9BQU8sQ0FBQztBQUN4QyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDOztBQVEvRCxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDO1FBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUFTO1FBQ3BDLE9BQU87WUFDSCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUMzRCxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVMsRUFBRSxXQUFnQjtRQUN4QyxPQUFPO1lBQ0gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFB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LEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsRCxtREFBbUQ7UUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQTVQUSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzs0RkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmdiRGF0ZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgZGF5anMsIHsgVW5pdFR5cGUgfSBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gXCJkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXRcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5leHBvcnQgdHlwZSBOZ2JEYXRlVHlwZSA9IHsgeWVhcjogbnVtYmVyOyBtb250aDogbnVtYmVyOyBkYXk6IG51bWJlciB9O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIGRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydFRvTmdiRGF0ZVN0YW5kYXJkRm9ybWF0KGRhdGU6IGFueSk6IE5nYkRhdGVUeXBlIHwgTmdiRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgeWVhcjogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIllZWVlcIiksIDEwKSxcclxuICAgICAgICAgICAgbW9udGg6IHBhcnNlSW50KGRheWpzKGRhdGUsIFwiTU0vREQvWVlZWVwiKS5mb3JtYXQoXCJNXCIpLCAxMCksXHJcbiAgICAgICAgICAgIGRheTogcGFyc2VJbnQoZGF5anMoZGF0ZSwgXCJNTS9ERC9ZWVlZXCIpLmZvcm1hdChcIkRcIiksIDEwKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnZlcnRUb05nYkRhdGUoZGF0ZTogYW55LCBwYXJzZUZvcm1hdDogYW55KTogTmdiRGF0ZVR5cGUgfCBOZ2JEYXRlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB5ZWFyOiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiWVlZWVwiKSwgMTApLFxyXG4gICAgICAgICAgICBtb250aDogcGFyc2VJbnQoZGF5anMoZGF0ZSwgcGFyc2VGb3JtYXQpLmZvcm1hdChcIk1cIiksIDEwKSxcclxuICAgICAgICAgICAgZGF5OiBwYXJzZUludChkYXlqcyhkYXRlLCBwYXJzZUZvcm1hdCkuZm9ybWF0KFwiRFwiKSwgMTApLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBmb3JtYXRUb1R3ZWx2ZUhycyh0aW1lOiBhbnksIGNhbGxSZW1vdmVaZXJvOiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHRpbWVUb0JlRm9ybWF0dGVkID0gdGltZTtcclxuICAgICAgICBpZiAodGltZVRvQmVGb3JtYXR0ZWQuZW5kc1dpdGgoXCJBXCIpIHx8IHRpbWVUb0JlRm9ybWF0dGVkLmVuZHNXaXRoKFwiUFwiKSkge1xyXG4gICAgICAgICAgICB0aW1lVG9CZUZvcm1hdHRlZCA9IHRpbWVUb0JlRm9ybWF0dGVkLnN1YnN0cmluZygwLCB0aW1lVG9CZUZvcm1hdHRlZC5sZW5ndGggLSAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHRtcCA9IHRpbWVUb0JlRm9ybWF0dGVkLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICBsZXQgZm9ybWF0dGVkVGltZSA9IFtdO1xyXG4gICAgICAgIGlmICgrdG1wWzBdID4gMTIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9ICgrdG1wWzBdIC0gMTIpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIGlmICgrdG1wWzBdID09PSAyNCkgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgICAgICAgZWxzZSBmb3JtYXR0ZWRUaW1lWzJdID0gXCJQTVwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodG1wWzBdID09PSBcIjEyXCIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiUE1cIjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRtcFswXSA9PT0gXCIwMFwiKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSBcIjEyXCI7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMl0gPSBcIkFNXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IFwiQU1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRtcFsxXTtcclxuICAgICAgICBpZiAoY2FsbFJlbW92ZVplcm8pIGZvcm1hdHRlZFRpbWUgPSBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnJlbW92ZVplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydFRvdHdlbnR5Rm91ckhyc0Zvcm1hdCh0aW1lOiBhbnksIGNhbGxBZGRaZXJvOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB0bXAgPSB0aW1lLnNwbGl0KC9bIDpdKy8pO1xyXG4gICAgICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gW107XHJcbiAgICAgICAgaWYgKHRtcFswXSAhPT0gXCIxMlwiICYmIHRtcFsyXSA9PT0gXCJQTVwiKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWVbMF0gPSAoK3RtcFswXSArIDEyKS50b1N0cmluZygpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodG1wWzBdID09PSBcIjEyXCIgJiYgdG1wWzJdID09PSBcIkFNXCIpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IFwiMDBcIjtcclxuICAgICAgICB9IGVsc2UgZm9ybWF0dGVkVGltZVswXSA9IHRtcFswXS50b1N0cmluZygpO1xyXG4gICAgICAgIGZvcm1hdHRlZFRpbWVbMV0gPSB0bXBbMV0udG9TdHJpbmcoKTtcclxuICAgICAgICBpZiAoY2FsbEFkZFplcm8pIGZvcm1hdHRlZFRpbWUgPSB0aGlzLmFkZFplcm8oZm9ybWF0dGVkVGltZSk7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVaZXJvKHRpbWU6IGFueSkge1xyXG4gICAgICAgIGxldCByZW1vdmVkWmVybztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDFcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjAyXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwM1wiIHx8XHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDRcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjA1XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwNlwiIHx8XHJcbiAgICAgICAgICAgIHRpbWVbMF0gPT09IFwiMDdcIiB8fFxyXG4gICAgICAgICAgICB0aW1lWzBdID09PSBcIjA4XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwOVwiXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJlbW92ZWRaZXJvID0gdGltZVswXS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICBmb3JtYXR0ZWRUaW1lWzBdID0gcmVtb3ZlZFplcm8uY2hhckF0KDEpO1xyXG4gICAgICAgICAgICBmb3JtYXR0ZWRUaW1lWzFdID0gdGltZVsxXTtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsyXSA9IHRpbWVbMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFplcm8odGltZTogYW55KSB7XHJcbiAgICAgICAgbGV0IGFkZGVkWmVybztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gdGltZTtcclxuICAgICAgICBpZiAodGltZVsxXSA9PT0gXCIwXCIpIHRpbWVbMV0gPSBgMCR7dGltZVsxXX1gO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIwXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIxXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIyXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCIzXCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI0XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI1XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI2XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI3XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI4XCIgfHxcclxuICAgICAgICAgICAgdGltZVswXSA9PT0gXCI5XCJcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgYWRkZWRaZXJvID0gYDAke3RpbWVbMF19YDtcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVswXSA9IGFkZGVkWmVybztcclxuICAgICAgICAgICAgZm9ybWF0dGVkVGltZVsxXSA9IHRpbWVbMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRCeVRpbWVBc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgICAgICBjb25zdCBkYXlqc0RhdGVGb3JBID0gZGF5anMoYDAxLzAxLzIwMDEgJHthfWAsIGZvcm1hdCk7XHJcbiAgICAgICAgY29uc3QgZGF5anNEYXRlRm9yQiA9IGRheWpzKGAwMS8wMS8yMDAxICR7Yn1gLCBmb3JtYXQpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJob3VyXCIsIHRydWUpO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0cyA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXN1bHRzID0gdGhpcy5jb21wYXJlVGltZShkYXlqc0RhdGVGb3JBLCBkYXlqc0RhdGVGb3JCLCBcIm1pbnV0ZVwiLCB0cnVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHRzID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMgPSB0aGlzLmNvbXBhcmVUaW1lKGRheWpzRGF0ZUZvckEsIGRheWpzRGF0ZUZvckIsIFwic2Vjb25kXCIsIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcblxyXG4gICAgc29ydEJ5VGltZURlc2NlbmRpbmcoYTogYW55LCBiOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIk1NL0REL1lZWVkgSEg6bW06c3NcIjtcclxuICAgICAgICBjb25zdCBkYXlqc0RhdGVGb3JBID0gZGF5anMoYDAxLzAxLzIwMDEgJHthfWAsIGZvcm1hdCk7XHJcbiAgICAgICAgY29uc3QgZGF5anNEYXRlRm9yQiA9IGRheWpzKGAwMS8wMS8yMDAxICR7Yn1gLCBmb3JtYXQpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJob3VyXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdHMgPT09IDApIHtcclxuICAgICAgICAgICAgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJtaW51dGVcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdHMgPT09IDApIHtcclxuICAgICAgICAgICAgcmVzdWx0cyA9IHRoaXMuY29tcGFyZVRpbWUoZGF5anNEYXRlRm9yQSwgZGF5anNEYXRlRm9yQiwgXCJzZWNvbmRcIiwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcGFyZVRpbWUoYTogZGF5anMuRGF5anMsIGI6IGRheWpzLkRheWpzLCB1bml0OiBVbml0VHlwZSwgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoYS5nZXQodW5pdCkgPCBiLmdldCh1bml0KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXNBc2MgPyAtMSA6IDE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmdldCh1bml0KSA+IGIuZ2V0KHVuaXQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBpc0FzYyA/IDEgOiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydE5nYkRhdGVUb01vbWVudChuZ2JEYXRlOiBOZ2JEYXRlIHwgTmdiRGF0ZVR5cGUpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdFR5cGUgPSBcIk1NL0REL1lZWVlcIjtcclxuICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICBpZiAobmdiRGF0ZSAmJiBuZ2JEYXRlLm1vbnRoICYmIG5nYkRhdGUuZGF5ICYmIG5nYkRhdGUueWVhcikge1xyXG4gICAgICAgICAgICBjb252ZXJ0ZWQgPSBgJHtuZ2JEYXRlLm1vbnRofS8ke25nYkRhdGUuZGF5fS8ke25nYkRhdGUueWVhcn1gO1xyXG4gICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChmb3JtYXRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgIH1cclxuXHJcbiAgICBjb21wYXJlRGF0ZShhOiBzdHJpbmcsIGI6IHN0cmluZywgaXNBc2M6IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNBc2MgPyBkYXlqcyhhKS5kaWZmKGIpIDogZGF5anMoYikuZGlmZihhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGZvcm1hdFR3ZW50eUZvdXJIb3VyVGltZVRvSEhNTUFGb3JtYXQodmFsdWU6IGFueSwgZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdGltZSA9IGRheWpzKGRhdGUgfHwgYDAxLzAxLzIwMDAgJHt2YWx1ZX1gKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgICAgIHJldHVybiB0aW1lWzE0XSA9PT0gXCIwXCIgJiYgdGltZVsxNV0gPT09IFwiMFwiXHJcbiAgICAgICAgICAgID8gZGF5anModGltZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaEFcIikuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgICAgIDogZGF5anModGltZSwgW1wiTU0vREQvWVlZWSBISDptbTpzc1wiXSkuZm9ybWF0KFwiaDptbUFcIikuc2xpY2UoMCwgLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0VHdlbHZlSG91clRpbWVUb0hITU1BRm9ybWF0KHRpbWVWYWx1ZTogYW55LCBkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGF5anMoZGF0ZSB8fCBgMDEvMDEvMjAwMCAke3RpbWVWYWx1ZX1gKS5mb3JtYXQoXCJNTS9ERC9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgICAgIC8vIGNoZWNrIGlmIG1pbj09MDBcclxuICAgICAgICByZXR1cm4gdGltZVsxNF0gPT09IFwiMFwiICYmIHRpbWVbMTVdID09PSBcIjBcIlxyXG4gICAgICAgICAgICA/IGRheWpzKHRpbWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImhBXCIpLnNsaWNlKDAsIC0xKVxyXG4gICAgICAgICAgICA6IGRheWpzKHRpbWUsIFtcIk1NL0REL1lZWVkgSEg6bW06c3NcIl0pLmZvcm1hdChcImg6bW1BXCIpLnNsaWNlKDAsIC0xKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChkYXRlQW5kVGltZTogYW55KSB7XHJcbiAgICAgICAgbGV0IHN0YW5kYXJkRm9ybWF0O1xyXG4gICAgICAgIGxldCBkYXRlO1xyXG4gICAgICAgIGxldCB0aW1lO1xyXG5cclxuICAgICAgICBpZiAoZGF0ZUFuZFRpbWUuaW5jbHVkZXMoXCJ8XCIpKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSBkYXRlQW5kVGltZS5zbGljZSgwLCBkYXRlQW5kVGltZS5pbmRleE9mKFwifFwiKSk7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkYXRlQW5kVGltZS5zbGljZShkYXRlQW5kVGltZS5pbmRleE9mKFwifFwiKSArIDEsIGRhdGVBbmRUaW1lLmxlbmd0aCkudHJpbSgpO1xyXG5cclxuICAgICAgICAgICAgdGltZSA9IGAke3RpbWUuc2xpY2UoMCwgMil9OiR7dGltZS5zbGljZSgyLCA0KX0gJHt0aW1lLnNsaWNlKDQsIDUpfWA7XHJcbiAgICAgICAgICAgIHRpbWUgKz0gXCJNXCI7XHJcbiAgICAgICAgICAgIHN0YW5kYXJkRm9ybWF0ID0gZGF0ZSArIHRpbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3RhbmRhcmRGb3JtYXQgPSBgJHtkYXRlQW5kVGltZX0gMDA6MDAgQU1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF5anMoc3RhbmRhcmRGb3JtYXQpLmZvcm1hdChcIk1NL0REL1lZWVkgaGg6bW0gQVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wYXJlKGE6IG51bWJlciB8IHN0cmluZywgYjogbnVtYmVyIHwgc3RyaW5nLCBpc0FzYzogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCB1cGRhdGVkQSA9IGE7XHJcbiAgICAgICAgbGV0IHVwZGF0ZWRCID0gYjtcclxuICAgICAgICBpZiAodHlwZW9mIGEgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIGIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgdXBkYXRlZEEgPSBhID09PSBcIi1cIiA/IFwiMFwiIDogYS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICB1cGRhdGVkQiA9IGIgPT09IFwiLVwiID8gXCIwXCIgOiBiLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAodXBkYXRlZEEgPCB1cGRhdGVkQiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnREYXRhQnlCcm9hZGNhc3RUaW1lQXNjKGZpcnN0UGFyYW1UaW1lOiBzdHJpbmcsIHNlY29uZFBhcmFtVGltZTogc3RyaW5nLCBicm9hZGNhc3RUaW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBmb3JtYXQgPSBcIkhIOm1tOnNzXCI7XHJcblxyXG4gICAgICAgIGxldCBhID0gZGF5anMoZmlyc3RQYXJhbVRpbWUsIGZvcm1hdCk7XHJcbiAgICAgICAgbGV0IGIgPSBkYXlqcyhzZWNvbmRQYXJhbVRpbWUsIGZvcm1hdCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdGRheWpzRGF0ZVRpbWUgPSBkYXlqcyhicm9hZGNhc3RUaW1lLCBcIkhIOm1tOnNzXCIpO1xyXG5cclxuICAgICAgICBhID0gYS5pc0JlZm9yZShicm9hZGNhc3RkYXlqc0RhdGVUaW1lKSA/IGEuYWRkKDEsIFwiZFwiKSA6IGE7XHJcbiAgICAgICAgYiA9IGIuaXNCZWZvcmUoYnJvYWRjYXN0ZGF5anNEYXRlVGltZSkgPyBiLmFkZCgxLCBcImRcIikgOiBiO1xyXG5cclxuICAgICAgICBpZiAoYS5pc0JlZm9yZShiKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhLmlzQWZ0ZXIoYikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdChuZ2JEYXRlOiBOZ2JEYXRlVHlwZSwgZm9ybWF0OiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgY29udmVydGVkID0gYCR7bmdiRGF0ZS5tb250aH0vJHtuZ2JEYXRlLmRheX0vJHtuZ2JEYXRlLnllYXJ9YDtcclxuICAgICAgICAgICAgY29udmVydGVkID0gZGF5anMoY29udmVydGVkKS5mb3JtYXQoZm9ybWF0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnJvYWRjYXN0V2VlayhzdGFydERhdGU6IGFueSwgZm9ybWF0OiBzdHJpbmcgPSBcIk1NL0REL1lZWVlcIikge1xyXG4gICAgICAgIGNvbnN0IGRheWpzRGF0ZSA9IGRheWpzKHN0YXJ0RGF0ZSwgZm9ybWF0KTtcclxuICAgICAgICBjb25zdCBkYXRlID0gZGF5anNEYXRlLmNsb25lKCk7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5kYXkoKTtcclxuXHJcbiAgICAgICAgLy8gRmluZCB0aGUgY2xvc2VzdCBNb25kYXkgPD0gdGhlIGRhdGVcclxuICAgICAgICBjb25zdCBzdGFydCA9IGRheWpzKGRhdGUpLnN1YnRyYWN0KChkYXkgKyA2KSAlIDcsIFwiZGF5XCIpO1xyXG5cclxuICAgICAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IFN1bmRheSA+PSB0aGUgZGF0ZVxyXG4gICAgICAgIGNvbnN0IGVuZCA9IGRheWpzKGRhdGUpLmFkZCgoNyAtIGRheSkgJSA3LCBcImRheVwiKTtcclxuXHJcbiAgICAgICAgLy8gICBjb25zb2xlLmxvZyh7d2Vla1N0YXJ0OiBzdGFydCAsIHdlZWtFbmQ6IGVuZH0pXHJcbiAgICAgICAgcmV0dXJuIHsgc3RhcnQsIGVuZCB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|