@tetacom/ng-components 1.0.34 → 1.0.35
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/common/contract/i-id.d.ts +3 -0
- package/common/contract/public-api.d.ts +1 -0
- package/component/date-picker/date-picker/date-picker.component.d.ts +9 -6
- package/component/date-picker/day-select/day-select.component.d.ts +5 -5
- package/component/date-picker/month-picker/month-picker.component.d.ts +5 -5
- package/component/date-picker/month-select/month-select.component.d.ts +2 -2
- package/component/dropdown/dropdown-base.d.ts +3 -2
- package/component/filter/base/filter-component-base.d.ts +3 -1
- package/component/filter/boolean-filter/boolean-filter.component.d.ts +5 -3
- package/component/filter/date-filter/date-filter.component.d.ts +11 -4
- package/component/filter/filter-host/filter-host.component.d.ts +6 -3
- package/component/filter/filter.module.d.ts +15 -16
- package/component/filter/list-filter/list-filter.component.d.ts +11 -4
- package/component/filter/numeric-filter/numeric-filter.component.d.ts +11 -4
- package/component/filter/public-api.d.ts +0 -1
- package/component/filter/string-filter/string-filter.component.d.ts +11 -4
- package/component/input/text-field/text-field.component.d.ts +2 -2
- package/component/select/select/select.component.d.ts +1 -1
- package/component/table/base/cell-component-base.d.ts +3 -1
- package/component/table/base/head-cell-component-base.d.ts +5 -3
- package/component/table/contract/i-cell-coordinates.d.ts +3 -5
- package/component/table/contract/i-cell-event.d.ts +1 -1
- package/component/table/contract/i-cell-instance.d.ts +12 -0
- package/component/table/contract/i-cell-value.d.ts +1 -2
- package/component/table/contract/public-api.d.ts +1 -1
- package/component/table/contract/table-column.d.ts +3 -3
- package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -1
- package/component/table/default/date-cell/date-cell.component.d.ts +1 -1
- package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -1
- package/component/table/default/default-head-cell/default-head-cell.component.d.ts +7 -3
- package/component/table/default/list-cell/list-cell.component.d.ts +1 -1
- package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -1
- package/component/table/default/string-cell/string-cell.component.d.ts +1 -1
- package/component/table/enum/edit-type.enum.d.ts +3 -2
- package/component/table/head-cell/head-cell.component.d.ts +3 -2
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +11 -5
- package/component/table/head-cell-host/head-cell-host.component.d.ts +7 -3
- package/component/table/service/table.service.d.ts +38 -15
- package/component/table/table/table.component.d.ts +21 -32
- package/component/table/table-body/table-body.component.d.ts +12 -9
- package/component/table/table-head/table-head.component.d.ts +4 -4
- package/component/table/table-head-group/table-head-group.component.d.ts +5 -3
- package/component/table/table.module.d.ts +2 -1
- package/component/table/util/state-util.d.ts +3 -0
- package/component/table/util/table-util.d.ts +0 -1
- package/esm2020/common/contract/i-id.mjs +2 -0
- package/esm2020/common/contract/public-api.mjs +2 -1
- package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +17 -8
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +10 -8
- package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +10 -8
- package/esm2020/component/date-picker/month-select/month-select.component.mjs +5 -4
- package/esm2020/component/dropdown/dropdown-base.mjs +14 -6
- package/esm2020/component/filter/base/filter-base.mjs +4 -3
- package/esm2020/component/filter/base/filter-component-base.mjs +1 -1
- package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +4 -2
- package/esm2020/component/filter/contarct/filter-item.mjs +4 -3
- package/esm2020/component/filter/contarct/sort-param.mjs +3 -2
- package/esm2020/component/filter/date-filter/date-filter.component.mjs +15 -9
- package/esm2020/component/filter/filter-host/filter-host.component.mjs +12 -2
- package/esm2020/component/filter/filter.module.mjs +3 -8
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +20 -12
- package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +15 -9
- package/esm2020/component/filter/public-api.mjs +1 -2
- package/esm2020/component/filter/string-filter/string-filter.component.mjs +14 -8
- package/esm2020/component/input/input/input.component.mjs +2 -2
- package/esm2020/component/input/text-field/text-field.component.mjs +8 -3
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +1 -1
- package/esm2020/component/select/select/select.component.mjs +12 -6
- package/esm2020/component/table/base/cell-component-base.mjs +20 -26
- package/esm2020/component/table/base/head-cell-component-base.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-coordinates.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-event.mjs +1 -1
- package/esm2020/component/table/contract/i-cell-instance.mjs +2 -0
- package/esm2020/component/table/contract/i-cell-value.mjs +1 -1
- package/esm2020/component/table/contract/public-api.mjs +2 -2
- package/esm2020/component/table/contract/table-column.mjs +1 -1
- package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -4
- package/esm2020/component/table/default/date-cell/date-cell.component.mjs +4 -4
- package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +6 -6
- package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +14 -4
- package/esm2020/component/table/default/list-cell/list-cell.component.mjs +4 -4
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +13 -9
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +16 -10
- package/esm2020/component/table/enum/edit-type.enum.mjs +4 -3
- package/esm2020/component/table/head-cell/head-cell.component.mjs +19 -19
- package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +39 -30
- package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +14 -2
- package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +1 -1
- package/esm2020/component/table/service/table.service.mjs +213 -27
- package/esm2020/component/table/table/table.component.mjs +174 -156
- package/esm2020/component/table/table-body/table-body.component.mjs +26 -50
- package/esm2020/component/table/table-head/table-head.component.mjs +14 -35
- package/esm2020/component/table/table-head-group/table-head-group.component.mjs +29 -14
- package/esm2020/component/table/table.module.mjs +6 -2
- package/esm2020/component/table/util/state-util.mjs +20 -1
- package/esm2020/component/table/util/table-util.mjs +10 -14
- package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/directive/context-menu/context-menu.directive.mjs +7 -5
- package/esm2020/directive/dynamic-content-base.directive.mjs +6 -7
- package/esm2020/locale/en.mjs +57 -0
- package/esm2020/locale/public-api.mjs +5 -0
- package/esm2020/locale/ru.mjs +57 -0
- package/esm2020/locale/teta-config.service.mjs +28 -0
- package/esm2020/locale/teta-localisation.mjs +2 -0
- package/esm2020/public-api.mjs +3 -1
- package/esm2020/util/string-util.mjs +5 -1
- package/fesm2015/tetacom-ng-components.mjs +1077 -718
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +1074 -702
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/locale/en.d.ts +2 -0
- package/locale/public-api.d.ts +4 -0
- package/locale/ru.d.ts +2 -0
- package/locale/teta-config.service.d.ts +11 -0
- package/locale/teta-localisation.d.ts +56 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/style/border.scss +1 -1
- package/style/button.scss +9 -5
- package/style/checkbox.scss +10 -2
- package/style/datepicker.scss +9 -7
- package/style/dropdown.scss +12 -2
- package/style/input.scss +6 -5
- package/style/list.scss +1 -1
- package/style/presets/color-presets.scss +62 -62
- package/style/presets/font-presets.scss +62 -45
- package/style/presets/shadow-presets.scss +3 -3
- package/style/select.scss +6 -6
- package/style/switch.scss +1 -1
- package/style/table.scss +44 -45
- package/style/tabs.scss +2 -2
- package/style/toolbar.scss +3 -6
- package/style/tree.scss +2 -2
- package/util/string-util.d.ts +1 -0
- package/component/date-picker/model/picker-locale-model.d.ts +0 -16
- package/component/date-picker/service/picker-locale.service.d.ts +0 -11
- package/component/filter/filter-panel/filter-panel.component.d.ts +0 -8
- package/component/table/contract/table-context-menu-config.d.ts +0 -14
- package/esm2020/component/date-picker/model/picker-locale-model.mjs +0 -13
- package/esm2020/component/date-picker/service/picker-locale.service.mjs +0 -30
- package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +0 -13
- package/esm2020/component/table/contract/table-context-menu-config.mjs +0 -17
|
@@ -100,10 +100,10 @@ export class CheckboxComponent {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3
|
|
103
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: CheckboxComponent, selector: "teta-checkbox", inputs: { class: "class", palette: "palette", noLabel: "noLabel", disabled: "disabled", value: "value", binary: "binary", allowNull: "allowNull" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class": "this.getClass", "class.checkbox_disabled": "this.disabled" } }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
|
-
args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3
|
|
106
|
+
args: [{ selector: 'teta-checkbox', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__tick\" [class.checkbox__tick_active]=\"checked != false\">\n <teta-icon [name]=\"checked ? 'tick' : checked === false ? '' : 'minus'\"></teta-icon>\n</div>\n<span class=\"font-body-3\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n", styles: [""] }]
|
|
107
107
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabindex: [{
|
|
108
108
|
type: HostBinding,
|
|
109
109
|
args: ['attr.tabindex']
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
131
131
|
type: HostListener,
|
|
132
132
|
args: ['click']
|
|
133
133
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9jaGVja2JveC9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFekUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQVE7SUFDbEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFvRDVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkRaLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFhbEMsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQXNCN0I7O1dBRUc7UUFDSyxXQUFNLEdBQVEsSUFBSSxDQUFDO0lBYWtCLENBQUM7SUEvQzlDLElBQ1ksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFH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LGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQTFIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1V0FIakIsQ0FBQywrQkFBK0IsQ0FBQywwQkN0QjlDLDhRQU1BOzJGRG1CYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxhQUdkLENBQUMsK0JBQStCLENBQUMsbUJBQzNCLHVCQUF1QixDQUFDLE1BQU07d0dBR2pCLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFbkIsS0FBSztzQkFBYixLQUFLO2dCQUdNLFFBQVE7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTztnQkFTWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQU9OLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkF1Qk4sV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NIRUNLQk9YX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAwO1xuXG4gIEBJbnB1dCgpIGNsYXNzO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBnZXRDbGFzcygpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbdGhpcy5jbGFzcywgJ2NoZWNrYm94J107XG4gICAgaWYgKHRoaXMucGFsZXR0ZSkge1xuICAgICAgcmVzdWx0LnB1c2goYGNoZWNrYm94LSR7dGhpcy5wYWxldHRlfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJyAnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBhbGV0dGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIG5vTGFiZWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINC60L7QvNC/0L7QvdC10L3RgiDQvdC10LDQutGC0LjQstC10L1cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2hlY2tib3hfZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIHRydWUvZmFsc2Ug0LjQu9C4IGxpc3RcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIC8qKlxuICAgKiB0cnVlL2ZhbHNlINC40LvQuCBsaXN0XG4gICAqL1xuICBASW5wdXQoKSBiaW5hcnk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgYWxsb3dOdWxsOiBib29sZWFuO1xuXG4gIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqINCX0L3QsNGH0LXQvdC40LVcbiAgICovXG4gIHByaXZhdGUgbW9kZWwkOiBhbnkgPSBudWxsO1xuXG4gIGdldCBtb2RlbCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsJDtcbiAgfVxuXG4gIHNldCBtb2RlbCh2OiBhbnkpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5tb2RlbCQpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gdjtcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgY2hhbmdlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmluYXJ5KSB7XG4gICAgICB0aGlzLm1vZGVsID0gIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pc0NoZWNrZWQoKSkge1xuICAgICAgICB0aGlzLmFkZFZhbHVlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbHVlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaXNDaGVja2VkKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBhbnkpIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtb2RlbCAmJiBtb2RlbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHRoaXMubW9kZWwkID0gbW9kZWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGVsJCA9IFtdO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmlzQ2hlY2tlZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGlzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5iaW5hcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFsbG93TnVsbCA/IHRoaXMubW9kZWwgOiAhIXRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwuaW5kZXhPZih0aGlzLnZhbHVlKSA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsLmZpbHRlcigodmFsOiBhbnkpID0+IHZhbCAhPT0gdGhpcy52YWx1ZSk7XG4gIH1cblxuICBhZGRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IFsuLi50aGlzLm1vZGVsLCB0aGlzLnZhbHVlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbCA9IFt0aGlzLnZhbHVlXTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7fVxuXG4gIG9uVG91Y2hlZCgpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveF9fdGlja1wiIFtjbGFzcy5jaGVja2JveF9fdGlja19hY3RpdmVdPVwiY2hlY2tlZCAhPSBmYWxzZVwiPlxuICA8dGV0YS1pY29uIFtuYW1lXT1cImNoZWNrZWQgPyAndGljaycgOiBjaGVja2VkID09PSBmYWxzZSA/ICcnIDogJ21pbnVzJ1wiPjwvdGV0YS1pY29uPlxuPC9kaXY+XG48c3BhbiBjbGFzcz1cImZvbnQtYm9keS0zXCIgKm5nSWY9XCIhbm9MYWJlbFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import { DatePickerUtil } from '../util/date-picker-util';
|
|
|
7
7
|
import { Align } from '../../../common/enum/align.enum';
|
|
8
8
|
import { VerticalAlign } from '../../../common/enum/vertical-align.enum';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "
|
|
10
|
+
import * as i1 from "../../../locale/teta-config.service";
|
|
11
11
|
import * as i2 from "../../dropdown/dropdown/dropdown.component";
|
|
12
12
|
import * as i3 from "../../icon/icon/icon.component";
|
|
13
13
|
import * as i4 from "../../button/button/button.component";
|
|
@@ -16,8 +16,8 @@ import * as i6 from "../month-select/month-select.component";
|
|
|
16
16
|
import * as i7 from "../day-select/day-select.component";
|
|
17
17
|
import * as i8 from "../time-part-control/time-part-control.component";
|
|
18
18
|
import * as i9 from "../../dropdown/dropdown-head.directive";
|
|
19
|
-
import * as i10 from "
|
|
20
|
-
import * as i11 from "
|
|
19
|
+
import * as i10 from "@angular/common";
|
|
20
|
+
import * as i11 from "../../dropdown/dropdown-content.directive";
|
|
21
21
|
import * as i12 from "@angular/forms";
|
|
22
22
|
export const DATE_PICKER_CONTROL_VALUE_ACCESSOR = {
|
|
23
23
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -32,6 +32,7 @@ export class DatePickerComponent {
|
|
|
32
32
|
this.firstDayOfWeek = 1;
|
|
33
33
|
this.align = Align.left;
|
|
34
34
|
this.verticalAlign = VerticalAlign.auto;
|
|
35
|
+
this.allowNull = true;
|
|
35
36
|
this.showTime = false;
|
|
36
37
|
this.classDatepicker = true;
|
|
37
38
|
this.tabindex = 0;
|
|
@@ -197,6 +198,10 @@ export class DatePickerComponent {
|
|
|
197
198
|
registerOnTouched(fn) {
|
|
198
199
|
this.onTouched = fn;
|
|
199
200
|
}
|
|
201
|
+
setDisabledState(isDisabled) {
|
|
202
|
+
this.disabled = isDisabled;
|
|
203
|
+
this._cdr.detectChanges();
|
|
204
|
+
}
|
|
200
205
|
ngOnInit() {
|
|
201
206
|
}
|
|
202
207
|
ngOnDestroy() {
|
|
@@ -225,12 +230,12 @@ export class DatePickerComponent {
|
|
|
225
230
|
return DateUtil.truncateToDay(new Date());
|
|
226
231
|
}
|
|
227
232
|
}
|
|
228
|
-
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.
|
|
229
|
-
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon [name]=\"'closeBig'\"
|
|
233
|
+
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.TetaConfigService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
+
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DatePickerComponent, selector: "teta-date-picker", inputs: { disabled: "disabled", invalid: "invalid", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", minYearDate: "minYearDate", maxYearDate: "maxYearDate", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", allowNull: "allowNull", backdrop: "backdrop", showTime: "showTime", format: "format" }, host: { listeners: { "window:keyup": "keyUp($event)" }, properties: { "class.datepicker-wide": "this.showTime", "class.datepicker_open": "this.open", "class.datepicker": "this.classDatepicker", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""], components: [{ type: i2.DropdownComponent, selector: "teta-dropdown" }, { type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: i4.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: i5.YearSelectComponent, selector: "teta-year-select", inputs: ["currentYear", "today", "size", "minDate", "maxDate", "allowableRange"], outputs: ["yearSelected", "yearApplied"] }, { type: i6.MonthSelectComponent, selector: "teta-month-select", inputs: ["locale", "minDate", "maxDate", "size", "currentMonth", "currentYear"], outputs: ["monthSelected", "monthApplied"] }, { type: i7.DaySelectComponent, selector: "teta-day-select", inputs: ["firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "disabled"], outputs: ["dateSelected", "monthSelected", "yearSelected"] }, { type: i8.TimePartControlComponent, selector: "teta-time-part-control", inputs: ["min", "max", "disabled"] }], directives: [{ type: i9.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i10.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
230
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
231
236
|
type: Component,
|
|
232
|
-
args: [{ selector: 'teta-date-picker', providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon [name]=\"'closeBig'\"
|
|
233
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
237
|
+
args: [{ selector: 'teta-date-picker', providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown\n class=\"row row_auto\"\n [disabled]=\"disabled\"\n [open]=\"open\"\n [autoCloseIgnore]=\"['esc']\"\n (openChange)=\"openPicker($event)\"\n [align]=\"align\"\n [verticalAlign]=\"verticalAlign\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\">\n <div tetaDropdownHead\n class=\"datepicker-head font-body-3\"\n [class.datepicker-head_disabled]=\"disabled\"\n [class.datepicker-head_invalid]=\"invalid\">\n <teta-icon [name]=\"'calendar'\" class=\"margin-right-1\"></teta-icon>\n <div class=\"row_auto nowrap\">\n {{currentValue !== null && currentValue !== undefined ? (currentValue | date : format) : ''}}\n </div>\n <teta-icon *ngIf=\"allowNull\"\n [name]=\"'closeBig'\"\n (click)=\"clearPicker($event);\"\n class=\"margin-left-1\"></teta-icon>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <div class=\"padding-3\">\n <div class=\"row align-center justify-content-between\">\n <div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.month ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.month)\"\n (wheel)=\"scrollMonth($event);\">\n {{locale.months[internalValue?.getMonth()]}}\n </button>\n <button teta-button\n class=\"margin-left-2\"\n [palette]=\"'text'\"\n [view]=\"displayMode===datePickerModeEnum.year ? 'primary' : 'ghost'\"\n (click)=\"setMode(datePickerModeEnum.year)\"\n (wheel)=\"scrollYear($event);\">\n {{internalValue?.getFullYear()}}\n </button>\n </div>\n <button teta-button\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)=\"setToday()\">\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </button>\n </div>\n <div class=\"datepicker-content\">\n <teta-year-select\n *ngIf=\"displayMode === datePickerModeEnum.year\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [today]=\"today\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (yearSelected)=\"setYear($event)\">\n </teta-year-select>\n <teta-month-select\n *ngIf=\"displayMode === datePickerModeEnum.month\"\n [currentMonth]=\"internalValue?.getMonth()\"\n [currentYear]=\"internalValue?.getFullYear()\"\n [locale]=\"locale\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (monthSelected)=\"setMonth($event)\">\n </teta-month-select>\n <teta-day-select\n *ngIf=\"displayMode === datePickerModeEnum.date\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"applyValue($event)\"\n (dateSelected)=\"setDate($event)\"\n (yearSelected)=\"setYear($event)\"\n (monthSelected)=\"setMonth($event)\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [disabledDays]=\"disabledDays\"\n [disabledDates]=\"disabledDates\"\n [disabledPeriods]=\"disabledPeriods\"></teta-day-select>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"datepicker-time padding-v-1 border-top border-text-10 font-body-3 color-text-90\">\n <teta-time-part-control [max]=\"23\" [ngModel]=\"internalValue?.getHours()\"\n (ngModelChange)=\"setHour($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getMinutes()\"\n (ngModelChange)=\"setMinute($event)\"></teta-time-part-control>\n :\n <teta-time-part-control [ngModel]=\"internalValue?.getSeconds()\"\n (ngModelChange)=\"setSecond($event)\"></teta-time-part-control>\n </div>\n </div>\n</teta-dropdown>\n", styles: [""] }]
|
|
238
|
+
}], ctorParameters: function () { return [{ type: i1.TetaConfigService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
|
|
234
239
|
type: Input
|
|
235
240
|
}], invalid: [{
|
|
236
241
|
type: Input
|
|
@@ -256,6 +261,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
256
261
|
type: Input
|
|
257
262
|
}], appendToBody: [{
|
|
258
263
|
type: Input
|
|
264
|
+
}], allowNull: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], backdrop: [{
|
|
267
|
+
type: Input
|
|
259
268
|
}], showTime: [{
|
|
260
269
|
type: HostBinding,
|
|
261
270
|
args: ['class.datepicker-wide']
|
|
@@ -276,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
276
285
|
type: HostListener,
|
|
277
286
|
args: ['window:keyup', ['$event']]
|
|
278
287
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBRXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBd0U5QixZQUNTLGFBQWtDLEVBQ2pDLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFx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QUFDLGtDQUFrQyxDQUFDLG1CQUM5Qix1QkFBdUIsQ0FBQyxNQUFNO21LQUl0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UGlja2VyTG9jYWxlU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9waWNrZXItbG9jYWxlLnNlcnZpY2UnO1xuaW1wb3J0IHt0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RGF0ZVBlcmlvZH0gZnJvbSAnLi4vbW9kZWwvZGF0ZS1wZXJpb2QnO1xuaW1wb3J0IHtQaWNrZXJMb2NhbGVNb2RlbH0gZnJvbSAnLi4vbW9kZWwvcGlja2VyLWxvY2FsZS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJNb2RlfSBmcm9tICcuLi9tb2RlbC9kYXRlLXBpY2tlci1tb2RlLmVudW0nO1xuaW1wb3J0IHtEYXRlVXRpbH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9kYXRlLXV0aWwnO1xuaW1wb3J0IHtEYXRlUGlja2VyVXRpbH0gZnJvbSAnLi4vdXRpbC9kYXRlLXBpY2tlci11dGlsJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcblxuZXhwb3J0IGNvbnN0IERBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEQVRFX1BJQ0tFUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaW52YWxpZDogYm9vbGVhbjtcbiAgQElucHV0KCkgZmlyc3REYXlPZldlZWsgPSAxO1xuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzOiBEYXRlW107XG4gIEBJbnB1dCgpIGRpc2FibGVkUGVyaW9kczogRGF0ZVBlcmlvZFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZERheXM6IG51bWJlcltdO1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtaW5ZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4WWVhckRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmF1dG87XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBQaWNrZXJMb2NhbGVNb2RlbDtcbiAgdG9kYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIGRhdGVQaWNrZXJNb2RlRW51bSA9IERhdGVQaWNrZXJNb2RlO1xuICBkaXNwbGF5TW9kZTogRGF0ZVBpY2tlck1vZGUgPSBEYXRlUGlja2VyTW9kZS5kYXRlO1xuICBfZm9ybWF0OiBzdHJpbmc7XG5cbiAgX3ZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIF9jdXJyZW50VmFsdWU6IERhdGU7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGdldCB2YWx1ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHY6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKHY/LmdldFRpbWUoKSAhPT0gdGhpcy5fdmFsdWU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VmFsdWU7XG4gIH1cblxuICBzZXQgY3VycmVudFZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSBkYXRlO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBpbnRlcm5hbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZSA/PyB0aGlzLmVtcHR5RGF0ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxvY2FsZVNlcnZpY2U6IFBpY2tlckxvY2FsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogUGlja2VyTG9jYWxlTW9kZWwpID0+IHtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBsb2NhbGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH07XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoXG4gICAgICBlLmRlbHRhWSxcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZVxuICAgICk7XG4gIH07XG5cbiAgb3BlblBpY2tlciA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICB0aGlzLnNldE1vZGUoRGF0ZVBpY2tlck1vZGUuZGF0ZSk7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLm9wZW4gPSBzaG93O1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBjbG9zZVBpY2tlciA9ICgpID0+IHtcbiAgICB0aGlzLm9wZW5QaWNrZXIoZmFsc2UpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH07XG5cbiAgcHJldmVudEV2ZW50ID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBmb2N1cygpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHNldE1vZGUobW9kZTogRGF0ZVBpY2tlck1vZGUpIHtcbiAgICBsZXQgcmVzdWx0OiBEYXRlUGlja2VyTW9kZTtcbiAgICBpZiAobW9kZSA9PT0gdGhpcy5kaXNwbGF5TW9kZSB8fCBtb2RlID09PSBEYXRlUGlja2VyTW9kZS5kYXRlKSB7XG4gICAgICByZXN1bHQgPSBEYXRlUGlja2VyTW9kZS5kYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBtb2RlO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBlbXB0eURhdGUoKSB7XG4gICAgcmV0dXJuIERhdGVVdGlsLnRydW5jYXRlVG9EYXkobmV3IERhdGUoKSk7XG4gIH1cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duXG4gIGNsYXNzPVwicm93IHJvd19hdXRvXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW29wZW5dPVwib3BlblwiXG4gIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlc2MnXVwiXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5QaWNrZXIoJGV2ZW50KVwiXG4gIFthbGlnbl09XCJhbGlnblwiXG4gIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIlxuICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiPlxuICA8ZGl2IHRldGFEcm9wZG93bkhlYWRcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItaGVhZCBmb250LWJvZHktM1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9pbnZhbGlkXT1cImludmFsaWRcIj5cbiAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIiBjbGFzcz1cIm1hcmdpbi1yaWdodC0xXCI+PC90ZXRhLWljb24+XG4gICAgPGRpdiBjbGFzcz1cInJvd19hdXRvXCI+XG4gICAgICB7e2N1cnJlbnRWYWx1ZSAhPT0gbnVsbCAmJiBjdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCA/IChjdXJyZW50VmFsdWUgfCBkYXRlIDogZm9ybWF0KSA6ICcnfX1cbiAgICA8L2Rpdj5cbiAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjbG9zZUJpZydcIiAoY2xpY2spPVwiY2xlYXJQaWNrZXIoJGV2ZW50KTtcIiBjbGFzcz1cIm1hcmdpbi1sZWZ0LTFcIj48L3RldGEtaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cImRhdGVwaWNrZXItYm9keSBzY3JvbGxhYmxlXCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmctM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwiZGlzcGxheU1vZGU9PT1kYXRlUGlja2VyTW9kZUVudW0ubW9udGggPyAncHJpbWFyeScgOiAnZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRNb2RlKGRhdGVQaWNrZXJNb2RlRW51bS5tb250aClcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudCk7XCI+XG4gICAgICAgICAgICB7e2xvY2FsZS5tb250aE5hbWVzW2ludGVybmFsVmFsdWU/LmdldE1vbnRoKCldfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTJcIlxuICAgICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgIFt2aWV3XT1cImRpc3BsYXlNb2RlPT09ZGF0ZVBpY2tlck1vZGVFbnVtLnllYXIgPyAncHJpbWFyeScgOiAnZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRNb2RlKGRhdGVQaWNrZXJNb2RlRW51bS55ZWFyKVwiXG4gICAgICAgICAgICAgICAgICAod2hlZWwpPVwic2Nyb2xsWWVhcigkZXZlbnQpO1wiPlxuICAgICAgICAgICAge3tpbnRlcm5hbFZhbHVlPy5nZXRGdWxsWWVhcigpfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgIFt2aWV3XT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRUb2RheSgpXCI+XG4gICAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCI+PC90ZXRhLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1jb250ZW50XCI+XG4gICAgICAgIDx0ZXRhLXllYXItc2VsZWN0XG4gICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gZGF0ZVBpY2tlck1vZGVFbnVtLnllYXJcIlxuICAgICAgICAgIFtjdXJyZW50WWVhcl09XCJpbnRlcm5hbFZhbHVlPy5nZXRGdWxsWWVhcigpXCJcbiAgICAgICAgICBbdG9kYXldPVwidG9kYXlcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgICh5ZWFyU2VsZWN0ZWQpPVwic2V0WWVhcigkZXZlbnQpXCI+XG4gICAgICAgIDwvdGV0YS15ZWFyLXNlbGVjdD5cbiAgICAgICAgPHRldGEtbW9udGgtc2VsZWN0XG4gICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gZGF0ZVBpY2tlck1vZGVFbnVtLm1vbnRoXCJcbiAgICAgICAgICBbY3VycmVudE1vbnRoXT1cImludGVybmFsVmFsdWU/LmdldE1vbnRoKClcIlxuICAgICAgICAgIFtjdXJyZW50WWVhcl09XCJpbnRlcm5hbFZhbHVlPy5nZXRGdWxsWWVhcigpXCJcbiAgICAgICAgICBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwic2V0TW9udGgoJGV2ZW50KVwiPlxuICAgICAgICA8L3RldGEtbW9udGgtc2VsZWN0PlxuICAgICAgICA8dGV0YS1kYXktc2VsZWN0XG4gICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gZGF0ZVBpY2tlck1vZGVFbnVtLmRhdGVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImN1cnJlbnRWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiYXBwbHlWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoZGF0ZVNlbGVjdGVkKT1cInNldERhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgKHllYXJTZWxlY3RlZCk9XCJzZXRZZWFyKCRldmVudClcIlxuICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldE1vbnRoKCRldmVudClcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCJmaXJzdERheU9mV2Vla1wiXG4gICAgICAgICAgW2Rpc2FibGVkRGF5c109XCJkaXNhYmxlZERheXNcIlxuICAgICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxuICAgICAgICAgIFtkaXNhYmxlZFBlcmlvZHNdPVwiZGlzYWJsZWRQZXJpb2RzXCI+PC90ZXRhLWRheS1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1RpbWVcIiBjbGFzcz1cImRhdGVwaWNrZXItdGltZSBwYWRkaW5nLXYtMSBib3JkZXItdG9wIGJvcmRlci10ZXh0LTEwIGZvbnQtYm9keS0zIGNvbG9yLXRleHQtOTBcIj5cbiAgICAgIDx0ZXRhLXRpbWUtcGFydC1jb250cm9sIFttYXhdPVwiMjNcIiBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRIb3VycygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldEhvdXIoJGV2ZW50KVwiPjwvdGV0YS10aW1lLXBhcnQtY29udHJvbD5cbiAgICAgIDpcbiAgICAgIDx0ZXRhLXRpbWUtcGFydC1jb250cm9sIFtuZ01vZGVsXT1cImludGVybmFsVmFsdWU/LmdldE1pbnV0ZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRNaW51dGUoJGV2ZW50KVwiPjwvdGV0YS10aW1lLXBhcnQtY29udHJvbD5cbiAgICAgIDpcbiAgICAgIDx0ZXRhLXRpbWUtcGFydC1jb250cm9sIFtuZ01vZGVsXT1cImludGVybmFsVmFsdWU/LmdldFNlY29uZHMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRTZWNvbmQoJGV2ZW50KVwiPjwvdGV0YS10aW1lLXBhcnQtY29udHJvbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3RldGEtZHJvcGRvd24+XG4iXX0=
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBMEU5QixZQUNTLGFBQWdDLEVBQy9CLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFt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Q0FBQyxDQUFDO0lBQzVDLENBQUM7O2dIQWxSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0c0JBSG5CLENBQUMsa0NBQWtDLENBQUMsMEJDakNqRCx5Z0lBK0ZBOzJGRDNEYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsa0NBQWtDLENBQUMsbUJBQzlCLHVCQUF1QixDQUFDLE1BQU07aUtBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7RGF0ZVBpY2tlck1vZGV9IGZyb20gJy4uL21vZGVsL2RhdGUtcGlja2VyLW1vZGUuZW51bSc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGUtdXRpbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtUZXRhQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuO1xuICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRQZXJpb2RzOiBEYXRlUGVyaW9kW107XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogbnVtYmVyW107XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1pblllYXJEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uO1xuICB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZVBpY2tlck1vZGVFbnVtID0gRGF0ZVBpY2tlck1vZGU7XG4gIGRpc3BsYXlNb2RlOiBEYXRlUGlja2VyTW9kZSA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gIF9mb3JtYXQ6IHN0cmluZztcblxuICBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodj8uZ2V0VGltZSgpICE9PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VmFsdWUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGludGVybmFsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID8/IHRoaXMuZW1wdHlEYXRlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSkga2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoXG4gICAgICBlLmRlbHRhWSxcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZVxuICAgICk7XG4gIH07XG5cbiAgb3BlblBpY2tlciA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICB0aGlzLnNldE1vZGUoRGF0ZVBpY2tlck1vZGUuZGF0ZSk7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLm9wZW4gPSBzaG93O1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBjbG9zZVBpY2tlciA9ICgpID0+IHtcbiAgICB0aGlzLm9wZW5QaWNrZXIoZmFsc2UpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH07XG5cbiAgcHJldmVudEV2ZW50ID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBmb2N1cygpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHNldE1vZGUobW9kZTogRGF0ZVBpY2tlck1vZGUpIHtcbiAgICBsZXQgcmVzdWx0OiBEYXRlUGlja2VyTW9kZTtcbiAgICBpZiAobW9kZSA9PT0gdGhpcy5kaXNwbGF5TW9kZSB8fCBtb2RlID09PSBEYXRlUGlja2VyTW9kZS5kYXRlKSB7XG4gICAgICByZXN1bHQgPSBEYXRlUGlja2VyTW9kZS5kYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBtb2RlO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBlbXB0eURhdGUoKSB7XG4gICAgcmV0dXJuIERhdGVVdGlsLnRydW5jYXRlVG9EYXkobmV3IERhdGUoKSk7XG4gIH1cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duXG4gIGNsYXNzPVwicm93IHJvd19hdXRvXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW29wZW5dPVwib3BlblwiXG4gIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlc2MnXVwiXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5QaWNrZXIoJGV2ZW50KVwiXG4gIFthbGlnbl09XCJhbGlnblwiXG4gIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIlxuICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gIFtiYWNrZHJvcF09XCJiYWNrZHJvcFwiPlxuICA8ZGl2IHRldGFEcm9wZG93bkhlYWRcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItaGVhZCBmb250LWJvZHktM1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9pbnZhbGlkXT1cImludmFsaWRcIj5cbiAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIiBjbGFzcz1cIm1hcmdpbi1yaWdodC0xXCI+PC90ZXRhLWljb24+XG4gICAgPGRpdiBjbGFzcz1cInJvd19hdXRvIG5vd3JhcFwiPlxuICAgICAge3tjdXJyZW50VmFsdWUgIT09IG51bGwgJiYgY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQgPyAoY3VycmVudFZhbHVlIHwgZGF0ZSA6IGZvcm1hdCkgOiAnJ319XG4gICAgPC9kaXY+XG4gICAgPHRldGEtaWNvbiAqbmdJZj1cImFsbG93TnVsbFwiXG4gICAgICAgICAgICAgICBbbmFtZV09XCInY2xvc2VCaWcnXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclBpY2tlcigkZXZlbnQpO1wiXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTFcIj48L3RldGEtaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cInNjcm9sbGFibGVcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS5tb250aCA/ICdwcmltYXJ5JyA6ICdnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldE1vZGUoZGF0ZVBpY2tlck1vZGVFbnVtLm1vbnRoKVwiXG4gICAgICAgICAgICAgICAgICAod2hlZWwpPVwic2Nyb2xsTW9udGgoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7bG9jYWxlLm1vbnRoc1tpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tbGVmdC0yXCJcbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS55ZWFyID8gJ3ByaW1hcnknIDogJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0TW9kZShkYXRlUGlja2VyTW9kZUVudW0ueWVhcilcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbFllYXIoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7aW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbdmlld109XCInZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPlxuICAgICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiPjwvdGV0YS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGVudFwiPlxuICAgICAgICA8dGV0YS15ZWFyLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS55ZWFyXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW3RvZGF5XT1cInRvZGF5XCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInNldFllYXIoJGV2ZW50KVwiPlxuICAgICAgICA8L3RldGEteWVhci1zZWxlY3Q+XG4gICAgICAgIDx0ZXRhLW1vbnRoLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5tb250aFwiXG4gICAgICAgICAgW2N1cnJlbnRNb250aF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldE1vbnRoKCRldmVudClcIj5cbiAgICAgICAgPC90ZXRhLW1vbnRoLXNlbGVjdD5cbiAgICAgICAgPHRldGEtZGF5LXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5kYXRlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJjdXJyZW50VmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFwcGx5VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgKGRhdGVTZWxlY3RlZCk9XCJzZXREYXRlKCRldmVudClcIlxuICAgICAgICAgICh5ZWFyU2VsZWN0ZWQpPVwic2V0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiZmlyc3REYXlPZldlZWtcIlxuICAgICAgICAgIFtkaXNhYmxlZERheXNdPVwiZGlzYWJsZWREYXlzXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgICBbZGlzYWJsZWRQZXJpb2RzXT1cImRpc2FibGVkUGVyaW9kc1wiPjwvdGV0YS1kYXktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUaW1lXCIgY2xhc3M9XCJkYXRlcGlja2VyLXRpbWUgcGFkZGluZy12LTEgYm9yZGVyLXRvcCBib3JkZXItdGV4dC0xMCBmb250LWJvZHktMyBjb2xvci10ZXh0LTkwXCI+XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbWF4XT1cIjIzXCIgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0SG91cnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRIb3VyKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNaW51dGVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0TWludXRlKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRTZWNvbmRzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0U2Vjb25kKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZXRhLWRyb3Bkb3duPlxuIl19
|
|
@@ -5,7 +5,7 @@ import { fromEvent } from 'rxjs';
|
|
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
6
|
import { DateUtil } from '../../../util/date-util';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
8
|
+
import * as i1 from "../../../locale/teta-config.service";
|
|
9
9
|
import * as i2 from "@angular/common";
|
|
10
10
|
export const DAY_SELECT_CONTROL_VALUE_ACCESSOR = {
|
|
11
11
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -67,8 +67,10 @@ export class DaySelectComponent {
|
|
|
67
67
|
this.currentValue = model ? model : new Date();
|
|
68
68
|
this._cdr.markForCheck();
|
|
69
69
|
}
|
|
70
|
-
onChange(_) {
|
|
71
|
-
|
|
70
|
+
onChange(_) {
|
|
71
|
+
}
|
|
72
|
+
onTouched() {
|
|
73
|
+
}
|
|
72
74
|
registerOnChange(fn) {
|
|
73
75
|
this.onChange = fn;
|
|
74
76
|
}
|
|
@@ -137,12 +139,12 @@ export class DaySelectComponent {
|
|
|
137
139
|
return false;
|
|
138
140
|
}
|
|
139
141
|
}
|
|
140
|
-
DaySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, deps: [{ token: i1.
|
|
141
|
-
DaySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DaySelectComponent, selector: "teta-day-select", inputs: { firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", disabled: "disabled" }, outputs: { dateSelected: "dateSelected", monthSelected: "monthSelected", yearSelected: "yearSelected" }, providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.
|
|
142
|
+
DaySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, deps: [{ token: i1.TetaConfigService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
+
DaySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DaySelectComponent, selector: "teta-day-select", inputs: { firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minDate: "minDate", maxDate: "maxDate", disabled: "disabled" }, outputs: { dateSelected: "dateSelected", monthSelected: "monthSelected", yearSelected: "yearSelected" }, providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.daysShort[day]}}\n </div>\n</div>\n<div class=\"datepicker-picker color-text-90 font-body-3\"\n (wheel)=\"scrollMonth($event)\">\n <div *ngFor=\"let day of days\"\n class=\"datepicker-date\"\n (click)=\"setDate(day, $event);\"\n (dblclick)=\"applyValue(day, $event);\"\n [class.datepicker-date_active]=\"day.selected\"\n [class.datepicker-date_disabled]=\"day.disabled || !day.isCurrentMonth\"\n [class.datepicker-date_weekend]=\"day.weekend\"\n [class.datepicker-date_today]=\"day.today\">\n <ng-container *ngIf=\"day !== null && day !== undefined\">\n {{day.date.getDate()}}\n </ng-container>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
142
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DaySelectComponent, decorators: [{
|
|
143
145
|
type: Component,
|
|
144
|
-
args: [{ selector: 'teta-day-select', providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
146
|
+
args: [{ selector: 'teta-day-select', providers: [DAY_SELECT_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"datepicker-week font-caption color-text-80\">\n <div class=\"datepicker-day\"\n [class.font-caption-bold]=\"day === 0 || day === 6\"\n *ngFor=\"let day of weekDays\">\n {{locale.daysShort[day]}}\n </div>\n</div>\n<div class=\"datepicker-picker color-text-90 font-body-3\"\n (wheel)=\"scrollMonth($event)\">\n <div *ngFor=\"let day of days\"\n class=\"datepicker-date\"\n (click)=\"setDate(day, $event);\"\n (dblclick)=\"applyValue(day, $event);\"\n [class.datepicker-date_active]=\"day.selected\"\n [class.datepicker-date_disabled]=\"day.disabled || !day.isCurrentMonth\"\n [class.datepicker-date_weekend]=\"day.weekend\"\n [class.datepicker-date_today]=\"day.today\">\n <ng-container *ngIf=\"day !== null && day !== undefined\">\n {{day.date.getDate()}}\n </ng-container>\n </div>\n</div>\n", styles: [""] }]
|
|
147
|
+
}], ctorParameters: function () { return [{ type: i1.TetaConfigService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { firstDayOfWeek: [{
|
|
146
148
|
type: Input
|
|
147
149
|
}], disabledDates: [{
|
|
148
150
|
type: Input
|
|
@@ -163,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
163
165
|
}], yearSelected: [{
|
|
164
166
|
type: Output
|
|
165
167
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQTZDN0IsWUFDUyxhQUFrQyxFQUNqQyxJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3Q3hCLG1CQUFjLEdBQUcsQ0FBQyxDQUFD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QUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQgeyBEYXRlUGVyaW9kIH0gZnJvbSAnLi4vbW9kZWwvZGF0ZS1wZXJpb2QnO1xuaW1wb3J0IHsgUGlja2VyTG9jYWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvcGlja2VyLWxvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VXaGlsZSwgdGFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBpY2tlckxvY2FsZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvcGlja2VyLWxvY2FsZS1tb2RlbCc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVXRpbCB9IGZyb20gJy4uL3V0aWwvZGF0ZS1waWNrZXItdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9kYXRlLXV0aWwnO1xuXG5leHBvcnQgY29uc3QgREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXlTZWxlY3RDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF5LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEQVlfU0VMRUNUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF5U2VsZWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogUGlja2VyTG9jYWxlTW9kZWw7XG5cbiAgdmFsdWU6IERhdGU7XG5cbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBzZXQgY3VycmVudFZhbHVlKHZhbDogRGF0ZSkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9jdXJyZW50VmFsdWUgfHxcbiAgICAgIERhdGVVdGlsLnRydW5jYXRlVG9EYXkodmFsKT8uZ2V0VGltZSgpICE9PVxuICAgICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHRoaXMuX2N1cnJlbnRWYWx1ZSk/LmdldFRpbWUoKVxuICAgICkge1xuICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgdGhpcy5jcmVhdGVEYXlzKCk7XG4gICAgICB0aGlzLmNoZWNrRGF5cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgfVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIGRheXM6IEFycmF5PERheU1vZGVsPjtcbiAgd2Vla0RheXM6IG51bWJlcltdID0gW107XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBQaWNrZXJMb2NhbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBsb2NhbGVTZXJ2aWNlLmxvY2FsZVxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGU6IFBpY2tlckxvY2FsZU1vZGVsKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndlZWtEYXlzID0gdGhpcy5jcmVhdGVXZWVrRGF5cygpO1xuXG4gICAgY29uc3QgdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpO1xuICAgIGNvbnN0IHRvdWNoRW5kJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpO1xuXG4gICAgdG91Y2hFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRvdWNoU3RhcnQkKSxcbiAgICAgICAgdGFwKCh0b3VjaGVzOiBbVG91Y2hFdmVudCwgVG91Y2hFdmVudF0pID0+IHtcbiAgICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0b3VjaGVzLm1hcCgoXykgPT4gXy5jaGFuZ2VkVG91Y2hlcz8uaXRlbSgwKSk7XG4gICAgICAgICAgY29uc3QgZGVsdGFZID0gZW5kPy5jbGllbnRZIC0gc3RhcnQ/LmNsaWVudFk7XG4gICAgICAgICAgaWYgKGRlbHRhWSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxNb250aChkZWx0YVkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBEYXRlKSB7XG4gICAgdGhpcy52YWx1ZSA9IG1vZGVsO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbW9kZWwgPyBtb2RlbCA6IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7fVxuXG4gIG9uVG91Y2hlZCgpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhcHBseVZhbHVlKGRheTogRGF5TW9kZWwsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIGlmIChkYXkgPT09IG51bGwgfHwgZGF5ID09PSB1bmRlZmluZWQgfHwgZGF5LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSBkYXkuZGF0ZTtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRheS5kYXRlO1xuICAgIHRoaXMub25DaGFuZ2UoZGF5LmRhdGUpO1xuICB9XG5cbiAgc2V0RGF0ZShkYXk6IERheU1vZGVsLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChkYXkgPT09IG51bGwgfHwgZGF5ID09PSB1bmRlZmluZWQgfHwgZGF5LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGRheS5kYXRlICE9PSBudWxsICYmXG4gICAgICBkYXkuZGF0ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBkYXkuZGF0ZSBpbnN0YW5jZW9mIERhdGVcbiAgICApIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF5LmRhdGU7XG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRheS5kYXRlKTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxNb250aChldmVudDogV2hlZWxFdmVudCB8IG51bWJlcikge1xuICAgIGNvbnN0IGRlbHRhWSA9IGV2ZW50IGluc3RhbmNlb2YgV2hlZWxFdmVudCA/IGV2ZW50LmRlbHRhWSA6IGV2ZW50O1xuXG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IERhdGVQaWNrZXJVdGlsLnNjcm9sbE1vbnRoKGRlbHRhWSwgdGhpcy5jdXJyZW50VmFsdWUpO1xuICAgIHRoaXMubW9udGhTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlLmdldE1vbnRoKCkpO1xuICAgIHRoaXMueWVhclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50VmFsdWUuZ2V0RnVsbFllYXIoKSk7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlV2Vla0RheXMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGxldCBkYXlJbmRleCA9IHRoaXMuZmlyc3REYXlPZldlZWs7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyBpKyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKGRheUluZGV4KTtcbiAgICAgIGRheUluZGV4ID0gZGF5SW5kZXggPT09IDYgPyAwIDogKytkYXlJbmRleDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGF5cygpIHtcbiAgICB0aGlzLmRheXMgPSBEYXRlUGlja2VyVXRpbC5nZXRQaWNrZXJEYXlzKFxuICAgICAgdGhpcy5jdXJyZW50VmFsdWUsXG4gICAgICB0aGlzLmZpcnN0RGF5T2ZXZWVrLFxuICAgICAgdGhpcy5taW5EYXRlLFxuICAgICAgdGhpcy5tYXhEYXRlLFxuICAgICAgdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgdGhpcy5kaXNhYmxlZERheXMsXG4gICAgICB0aGlzLmRpc2FibGVkUGVyaW9kc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRGF5cygpIHtcbiAgICBpZiAodGhpcy5kYXlzKSB7XG4gICAgICB0aGlzLmRheXMgPSB0aGlzLmRheXMubWFwKChkYXQ6IERheU1vZGVsKSA9PiAoe1xuICAgICAgICAuLi5kYXQsXG4gICAgICAgIHNlbGVjdGVkOlxuICAgICAgICAgIGRhdC5kYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXRNb250aCgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXRNb250aCgpICYmXG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXREYXRlKCksXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50RXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci13ZWVrIGZvbnQtY2FwdGlvbiBjb2xvci10ZXh0LTgwXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWRheVwiXG4gICAgICAgW2NsYXNzLmZvbnQtY2FwdGlvbi1ib2xkXT1cImRheSA9PT0gMCB8fCBkYXkgPT09IDZcIlxuICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIj5cbiAgICB7e2xvY2FsZS5kYXlOYW1lc01pbltkYXldfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXBpY2tlciBjb2xvci10ZXh0LTkwIGZvbnQtYm9keS0zXCJcbiAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudClcIlxuPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c1wiXG4gICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWRhdGVcIlxuICAgICAgIChjbGljayk9XCJzZXREYXRlKGRheSwgJGV2ZW50KTtcIlxuICAgICAgIChkYmxjbGljayk9XCJhcHBseVZhbHVlKGRheSwgJGV2ZW50KTtcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfYWN0aXZlXT1cImRheS5zZWxlY3RlZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV9kaXNhYmxlZF09XCJkYXkuZGlzYWJsZWQgfHwgIWRheS5pc0N1cnJlbnRNb250aFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV93ZWVrZW5kXT1cImRheS53ZWVrZW5kXCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX3RvZGF5XT1cImRheS50b2RheVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXkgIT09IG51bGwgJiYgZGF5ICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIHt7ZGF5LmRhdGUuZ2V0RGF0ZSgpfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUlqRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0IsWUFDUyxhQUFnQyxFQUMvQixJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3Q3hCLG1CQUFjLEdBQUcsQ0FBQyxDQUFD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Q0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5TW9kZWx9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7dGFrZVdoaWxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtmcm9tRXZlbnR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERBWV9TRUxFQ1RfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF5U2VsZWN0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRheS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcblxuICB2YWx1ZTogRGF0ZTtcblxuICBfY3VycmVudFZhbHVlOiBEYXRlO1xuXG4gIHNldCBjdXJyZW50VmFsdWUodmFsOiBEYXRlKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2N1cnJlbnRWYWx1ZSB8fFxuICAgICAgRGF0ZVV0aWwudHJ1bmNhdGVUb0RheSh2YWwpPy5nZXRUaW1lKCkgIT09XG4gICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHRoaXMuX2N1cnJlbnRWYWx1ZSk/LmdldFRpbWUoKVxuICAgICkge1xuICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgdGhpcy5jcmVhdGVEYXlzKCk7XG4gICAgICB0aGlzLmNoZWNrRGF5cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgfVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIGRheXM6IEFycmF5PERheU1vZGVsPjtcbiAgd2Vla0RheXM6IG51bWJlcltdID0gW107XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBUZXRhQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgbG9jYWxlU2VydmljZS5sb2NhbGVcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndlZWtEYXlzID0gdGhpcy5jcmVhdGVXZWVrRGF5cygpO1xuXG4gICAgY29uc3QgdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpO1xuICAgIGNvbnN0IHRvdWNoRW5kJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpO1xuXG4gICAgdG91Y2hFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRvdWNoU3RhcnQkKSxcbiAgICAgICAgdGFwKCh0b3VjaGVzOiBbVG91Y2hFdmVudCwgVG91Y2hFdmVudF0pID0+IHtcbiAgICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0b3VjaGVzLm1hcCgoXykgPT4gXy5jaGFuZ2VkVG91Y2hlcz8uaXRlbSgwKSk7XG4gICAgICAgICAgY29uc3QgZGVsdGFZID0gZW5kPy5jbGllbnRZIC0gc3RhcnQ/LmNsaWVudFk7XG4gICAgICAgICAgaWYgKGRlbHRhWSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxNb250aChkZWx0YVkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBEYXRlKSB7XG4gICAgdGhpcy52YWx1ZSA9IG1vZGVsO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbW9kZWwgPyBtb2RlbCA6IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7XG4gIH1cblxuICBvblRvdWNoZWQoKSB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFwcGx5VmFsdWUoZGF5OiBEYXlNb2RlbCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGRheS5kYXRlO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF5LmRhdGU7XG4gICAgdGhpcy5vbkNoYW5nZShkYXkuZGF0ZSk7XG4gIH1cblxuICBzZXREYXRlKGRheTogRGF5TW9kZWwsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgZGF5LmRhdGUgIT09IG51bGwgJiZcbiAgICAgIGRheS5kYXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRheS5kYXRlIGluc3RhbmNlb2YgRGF0ZVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXkuZGF0ZTtcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbE1vbnRoKGV2ZW50OiBXaGVlbEV2ZW50IHwgbnVtYmVyKSB7XG4gICAgY29uc3QgZGVsdGFZID0gZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50ID8gZXZlbnQuZGVsdGFZIDogZXZlbnQ7XG5cbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50KSB7XG4gICAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoZGVsdGFZLCB0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgdGhpcy5tb250aFNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50VmFsdWUuZ2V0TW9udGgoKSk7XG4gICAgdGhpcy55ZWFyU2VsZWN0ZWQuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZS5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVXZWVrRGF5cygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IGRheUluZGV4ID0gdGhpcy5maXJzdERheU9mV2VlaztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDc7IGkrKykge1xuICAgICAgcmVzdWx0LnB1c2goZGF5SW5kZXgpO1xuICAgICAgZGF5SW5kZXggPSBkYXlJbmRleCA9PT0gNiA/IDAgOiArK2RheUluZGV4O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEYXlzKCkge1xuICAgIHRoaXMuZGF5cyA9IERhdGVQaWNrZXJVdGlsLmdldFBpY2tlckRheXMoXG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSxcbiAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICB0aGlzLm1pbkRhdGUsXG4gICAgICB0aGlzLm1heERhdGUsXG4gICAgICB0aGlzLmRpc2FibGVkRGF0ZXMsXG4gICAgICB0aGlzLmRpc2FibGVkRGF5cyxcbiAgICAgIHRoaXMuZGlzYWJsZWRQZXJpb2RzXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEYXlzKCkge1xuICAgIGlmICh0aGlzLmRheXMpIHtcbiAgICAgIHRoaXMuZGF5cyA9IHRoaXMuZGF5cy5tYXAoKGRhdDogRGF5TW9kZWwpID0+ICh7XG4gICAgICAgIC4uLmRhdCxcbiAgICAgICAgc2VsZWN0ZWQ6XG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5jdXJyZW50VmFsdWUuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgICAgIGRhdC5kYXRlLmdldE1vbnRoKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldE1vbnRoKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXREYXRlKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldERhdGUoKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnRFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXdlZWsgZm9udC1jYXB0aW9uIGNvbG9yLXRleHQtODBcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItZGF5XCJcbiAgICAgICBbY2xhc3MuZm9udC1jYXB0aW9uLWJvbGRdPVwiZGF5ID09PSAwIHx8IGRheSA9PT0gNlwiXG4gICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrRGF5c1wiPlxuICAgIHt7bG9jYWxlLmRheXNTaG9ydFtkYXldfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXBpY2tlciBjb2xvci10ZXh0LTkwIGZvbnQtYm9keS0zXCJcbiAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudClcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNcIlxuICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci1kYXRlXCJcbiAgICAgICAoY2xpY2spPVwic2V0RGF0ZShkYXksICRldmVudCk7XCJcbiAgICAgICAoZGJsY2xpY2spPVwiYXBwbHlWYWx1ZShkYXksICRldmVudCk7XCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX2FjdGl2ZV09XCJkYXkuc2VsZWN0ZWRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfZGlzYWJsZWRdPVwiZGF5LmRpc2FibGVkIHx8ICFkYXkuaXNDdXJyZW50TW9udGhcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfd2Vla2VuZF09XCJkYXkud2Vla2VuZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV90b2RheV09XCJkYXkudG9kYXlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF5ICE9PSBudWxsICYmIGRheSAhPT0gdW5kZWZpbmVkXCI+XG4gICAgICB7e2RheS5kYXRlLmdldERhdGUoKX19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|