@acorex/components 6.0.15 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/src/alert.component.d.ts +4 -4
- package/avatar/src/avatar.component.d.ts +6 -9
- package/badge/src/badge.component.d.ts +1 -1
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -4
- package/button/src/button-group.component.d.ts +4 -4
- package/button/src/button-item.class.d.ts +2 -1
- package/button/src/button-item.component.d.ts +4 -4
- package/button/src/button.component.d.ts +3 -1
- package/calendar/src/calendar.component.d.ts +20 -20
- package/color-picker/src/color-picker.component.d.ts +14 -14
- package/common/src/auto-focus.directive.d.ts +2 -1
- package/common/src/events.class.d.ts +1 -1
- package/date-picker/src/datepicker.component.d.ts +23 -23
- package/decorators/public-api.d.ts +1 -0
- package/decorators/src/decorators.module.d.ts +3 -2
- package/decorators/src/text.component.d.ts +9 -0
- package/dialog/src/dialog.service.d.ts +3 -1
- package/dropdown/src/dropdown-panel.component.d.ts +1 -0
- package/dropdown/src/dropdown.module.d.ts +7 -5
- package/esm2020/action-sheet/src/action-sheet-item.component.mjs +1 -1
- package/esm2020/alert/src/alert.component.mjs +4 -8
- package/esm2020/avatar/src/avatar.component.mjs +14 -21
- package/esm2020/badge/src/badge.component.mjs +3 -3
- package/esm2020/button/src/button-item.class.mjs +1 -1
- package/esm2020/button/src/button-item.component.mjs +3 -3
- package/esm2020/button/src/button.component.mjs +9 -6
- package/esm2020/calendar/src/calendar.component.mjs +7 -4
- package/esm2020/collapse/src/collapse.component.mjs +3 -3
- package/esm2020/color-palette/src/color-palette-input.component.mjs +1 -1
- package/esm2020/color-picker/src/color-picker.component.mjs +1 -1
- package/esm2020/common/src/auto-focus.directive.mjs +7 -3
- package/esm2020/common/src/events.class.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +1 -1
- package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +1 -1
- package/esm2020/date-picker/src/datepicker.component.mjs +9 -7
- package/esm2020/decorators/public-api.mjs +2 -1
- package/esm2020/decorators/src/decorators.module.mjs +8 -4
- package/esm2020/decorators/src/icon.component.mjs +3 -2
- package/esm2020/decorators/src/text.component.mjs +21 -0
- package/esm2020/dialog/src/dialog.class.mjs +1 -1
- package/esm2020/dialog/src/dialog.component.mjs +1 -1
- package/esm2020/dialog/src/dialog.service.mjs +11 -7
- package/esm2020/dropdown/src/dropdown-panel.component.mjs +14 -3
- package/esm2020/dropdown/src/dropdown.module.mjs +6 -4
- package/esm2020/form/src/form.component.mjs +10 -3
- package/esm2020/form/src/validation-summary.component.mjs +1 -1
- package/esm2020/image/src/image.component.mjs +36 -9
- package/esm2020/menu/src/menu.component.mjs +5 -3
- package/esm2020/number-box/src/number-box.component.mjs +10 -4
- package/esm2020/password-box/src/password-box.component.mjs +11 -5
- package/esm2020/popover/src/popover.component.mjs +9 -18
- package/esm2020/popup/src/popup.component.mjs +14 -6
- package/esm2020/popup/src/popup.module.mjs +4 -3
- package/esm2020/popup/src/popup.service.mjs +8 -4
- package/esm2020/search-box/src/search-box.component.mjs +1 -1
- package/esm2020/select-box/src/selectbox.component.mjs +3 -3
- package/esm2020/textarea/src/textarea.component.mjs +11 -5
- package/esm2020/textbox/public-api.mjs +2 -1
- package/esm2020/textbox/src/mask-settings.directive.mjs +23 -0
- package/esm2020/textbox/src/textbox.component.mjs +46 -9
- package/esm2020/textbox/src/textbox.module.mjs +7 -10
- package/esm2020/time-box/src/time-box.component.mjs +10 -4
- package/esm2020/toast/src/toast.component.mjs +1 -1
- package/esm2020/uploader/src/uploader.component.mjs +19 -6
- package/fesm2015/acorex-components-action-sheet.mjs +1 -1
- package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2015/acorex-components-alert.mjs +3 -7
- package/fesm2015/acorex-components-alert.mjs.map +1 -1
- package/fesm2015/acorex-components-avatar.mjs +13 -20
- package/fesm2015/acorex-components-avatar.mjs.map +1 -1
- package/fesm2015/acorex-components-badge.mjs +2 -2
- package/fesm2015/acorex-components-badge.mjs.map +1 -1
- package/fesm2015/acorex-components-button.mjs +10 -7
- package/fesm2015/acorex-components-button.mjs.map +1 -1
- package/fesm2015/acorex-components-calendar.mjs +5 -3
- package/fesm2015/acorex-components-calendar.mjs.map +1 -1
- package/fesm2015/acorex-components-collapse.mjs +2 -2
- package/fesm2015/acorex-components-collapse.mjs.map +1 -1
- package/fesm2015/acorex-components-color-palette.mjs +1 -1
- package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2015/acorex-components-color-picker.mjs +1 -1
- package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-common.mjs +6 -2
- package/fesm2015/acorex-components-common.mjs.map +1 -1
- package/fesm2015/acorex-components-data-pager.mjs +4 -4
- package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2015/acorex-components-date-picker.mjs +10 -7
- package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-decorators.mjs +27 -5
- package/fesm2015/acorex-components-decorators.mjs.map +1 -1
- package/fesm2015/acorex-components-dialog.mjs +11 -7
- package/fesm2015/acorex-components-dialog.mjs.map +1 -1
- package/fesm2015/acorex-components-dropdown.mjs +18 -5
- package/fesm2015/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2015/acorex-components-form.mjs +10 -3
- package/fesm2015/acorex-components-form.mjs.map +1 -1
- package/fesm2015/acorex-components-image.mjs +35 -8
- package/fesm2015/acorex-components-image.mjs.map +1 -1
- package/fesm2015/acorex-components-menu.mjs +5 -3
- package/fesm2015/acorex-components-menu.mjs.map +1 -1
- package/fesm2015/acorex-components-number-box.mjs +10 -4
- package/fesm2015/acorex-components-number-box.mjs.map +1 -1
- package/fesm2015/acorex-components-password-box.mjs +10 -4
- package/fesm2015/acorex-components-password-box.mjs.map +1 -1
- package/fesm2015/acorex-components-popover.mjs +9 -18
- package/fesm2015/acorex-components-popover.mjs.map +1 -1
- package/fesm2015/acorex-components-popup.mjs +23 -11
- package/fesm2015/acorex-components-popup.mjs.map +1 -1
- package/fesm2015/acorex-components-search-box.mjs +1 -1
- package/fesm2015/acorex-components-search-box.mjs.map +1 -1
- package/fesm2015/acorex-components-select-box.mjs +2 -2
- package/fesm2015/acorex-components-select-box.mjs.map +1 -1
- package/fesm2015/acorex-components-textarea.mjs +10 -4
- package/fesm2015/acorex-components-textarea.mjs.map +1 -1
- package/fesm2015/acorex-components-textbox.mjs +71 -18
- package/fesm2015/acorex-components-textbox.mjs.map +1 -1
- package/fesm2015/acorex-components-time-box.mjs +10 -4
- package/fesm2015/acorex-components-time-box.mjs.map +1 -1
- package/fesm2015/acorex-components-toast.mjs +1 -1
- package/fesm2015/acorex-components-toast.mjs.map +1 -1
- package/fesm2015/acorex-components-uploader.mjs +18 -5
- package/fesm2015/acorex-components-uploader.mjs.map +1 -1
- package/fesm2020/acorex-components-action-sheet.mjs +1 -1
- package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2020/acorex-components-alert.mjs +3 -7
- package/fesm2020/acorex-components-alert.mjs.map +1 -1
- package/fesm2020/acorex-components-avatar.mjs +13 -20
- package/fesm2020/acorex-components-avatar.mjs.map +1 -1
- package/fesm2020/acorex-components-badge.mjs +2 -2
- package/fesm2020/acorex-components-badge.mjs.map +1 -1
- package/fesm2020/acorex-components-button.mjs +10 -7
- package/fesm2020/acorex-components-button.mjs.map +1 -1
- package/fesm2020/acorex-components-calendar.mjs +5 -3
- package/fesm2020/acorex-components-calendar.mjs.map +1 -1
- package/fesm2020/acorex-components-collapse.mjs +2 -2
- package/fesm2020/acorex-components-collapse.mjs.map +1 -1
- package/fesm2020/acorex-components-color-palette.mjs +1 -1
- package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2020/acorex-components-color-picker.mjs +1 -1
- package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-common.mjs +6 -2
- package/fesm2020/acorex-components-common.mjs.map +1 -1
- package/fesm2020/acorex-components-data-pager.mjs +4 -4
- package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2020/acorex-components-date-picker.mjs +9 -7
- package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-decorators.mjs +27 -5
- package/fesm2020/acorex-components-decorators.mjs.map +1 -1
- package/fesm2020/acorex-components-dialog.mjs +11 -7
- package/fesm2020/acorex-components-dialog.mjs.map +1 -1
- package/fesm2020/acorex-components-dropdown.mjs +18 -5
- package/fesm2020/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2020/acorex-components-form.mjs +10 -3
- package/fesm2020/acorex-components-form.mjs.map +1 -1
- package/fesm2020/acorex-components-image.mjs +35 -8
- package/fesm2020/acorex-components-image.mjs.map +1 -1
- package/fesm2020/acorex-components-menu.mjs +5 -3
- package/fesm2020/acorex-components-menu.mjs.map +1 -1
- package/fesm2020/acorex-components-number-box.mjs +10 -4
- package/fesm2020/acorex-components-number-box.mjs.map +1 -1
- package/fesm2020/acorex-components-password-box.mjs +10 -4
- package/fesm2020/acorex-components-password-box.mjs.map +1 -1
- package/fesm2020/acorex-components-popover.mjs +8 -17
- package/fesm2020/acorex-components-popover.mjs.map +1 -1
- package/fesm2020/acorex-components-popup.mjs +23 -11
- package/fesm2020/acorex-components-popup.mjs.map +1 -1
- package/fesm2020/acorex-components-search-box.mjs +1 -1
- package/fesm2020/acorex-components-search-box.mjs.map +1 -1
- package/fesm2020/acorex-components-select-box.mjs +2 -2
- package/fesm2020/acorex-components-select-box.mjs.map +1 -1
- package/fesm2020/acorex-components-textarea.mjs +10 -4
- package/fesm2020/acorex-components-textarea.mjs.map +1 -1
- package/fesm2020/acorex-components-textbox.mjs +71 -18
- package/fesm2020/acorex-components-textbox.mjs.map +1 -1
- package/fesm2020/acorex-components-time-box.mjs +10 -4
- package/fesm2020/acorex-components-time-box.mjs.map +1 -1
- package/fesm2020/acorex-components-toast.mjs +1 -1
- package/fesm2020/acorex-components-toast.mjs.map +1 -1
- package/fesm2020/acorex-components-uploader.mjs +18 -5
- package/fesm2020/acorex-components-uploader.mjs.map +1 -1
- package/form/src/form.component.d.ts +2 -0
- package/image/src/image.component.d.ts +16 -7
- package/menu/src/menu.component.d.ts +1 -0
- package/mixin/src/base-components.class.d.ts +1 -1
- package/mixin/src/base-menu-mixin.class.d.ts +4 -4
- package/mixin/src/button-mixin.class.d.ts +1 -1
- package/mixin/src/clickable-mixin.class.d.ts +1 -1
- package/mixin/src/color-look-mixing.class.d.ts +1 -1
- package/mixin/src/datalist-component.class.d.ts +9 -9
- package/mixin/src/dropdown-mixin.class.d.ts +1 -1
- package/mixin/src/interactive-mixin.class.d.ts +3 -3
- package/mixin/src/loading-mixin.class.d.ts +1 -1
- package/mixin/src/mixin.class.d.ts +42 -42
- package/mixin/src/page-component.class.d.ts +1 -1
- package/mixin/src/selection-component.class.d.ts +1 -1
- package/mixin/src/sizable-mixin.class.d.ts +1 -1
- package/mixin/src/textbox-mixin.class.d.ts +3 -3
- package/mixin/src/value-mixin.class.d.ts +7 -7
- package/number-box/src/number-box.component.d.ts +2 -0
- package/package.json +1 -1
- package/password-box/src/password-box.component.d.ts +3 -1
- package/popover/src/popover.component.d.ts +2 -2
- package/popup/src/popup.module.d.ts +7 -6
- package/tabs/src/tab-item.component.d.ts +1 -1
- package/textarea/src/textarea.component.d.ts +2 -0
- package/textbox/public-api.d.ts +1 -0
- package/textbox/src/mask-settings.directive.d.ts +8 -0
- package/textbox/src/textbox.component.d.ts +6 -1
- package/textbox/src/textbox.module.d.ts +6 -6
- package/time-box/src/time-box.component.d.ts +2 -0
- package/uploader/src/uploader.component.d.ts +5 -1
|
@@ -4,6 +4,7 @@ import { AXDateTime, AXDateTimeRange } from '@acorex/core/dateTime';
|
|
|
4
4
|
import { AXCalendarBaseComponent } from './calendar.class';
|
|
5
5
|
import { _ClickableComponenetMixin, _InteractiveComponenetMixin, _ValueComponenetMixin, } from '@acorex/components/mixin';
|
|
6
6
|
import { AXPlatform } from '@acorex/core/platform';
|
|
7
|
+
import { AXConfig } from '@acorex/core/config';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/common";
|
|
9
10
|
import * as i2 from "@acorex/components/button";
|
|
@@ -303,7 +304,9 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
303
304
|
return false;
|
|
304
305
|
}
|
|
305
306
|
isWeekend(date) {
|
|
306
|
-
return date.dayOfWeek == 7 || date.dayOfWeek == 1;
|
|
307
|
+
//return date.dayOfWeek == 7 || date.dayOfWeek == 1;
|
|
308
|
+
const weekend = AXConfig.get(`dateTime.calendars.${this.type}.weekend`);
|
|
309
|
+
return weekend.includes(date.dayOfWeek);
|
|
307
310
|
}
|
|
308
311
|
_generatePickerItems(view) {
|
|
309
312
|
switch (view) {
|
|
@@ -345,7 +348,7 @@ export class AXCalendarComponent extends AXCalendarComponentMixin {
|
|
|
345
348
|
}
|
|
346
349
|
}
|
|
347
350
|
AXCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
348
|
-
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" }, classAttribute: "ax-calendar" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i3.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
351
|
+
AXCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXCalendarComponent, selector: "ax-calendar", inputs: { readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", disabled: "disabled", tabIndex: "tabIndex", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", type: "type", holidayDates: "holidayDates", interface: "interface" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate" }, host: { properties: { "class": "this.__hostClass" }, classAttribute: "ax-calendar" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled || isDisabled(_today)\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i3.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
349
352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXCalendarComponent, decorators: [{
|
|
350
353
|
type: Component,
|
|
351
354
|
args: [{ selector: 'ax-calendar', inputs: [
|
|
@@ -373,11 +376,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
373
376
|
'disabledDatesChange',
|
|
374
377
|
'holidayDatesChange',
|
|
375
378
|
'onNavigate',
|
|
376
|
-
], host: { class: 'ax-calendar' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>" }]
|
|
379
|
+
], host: { class: 'ax-calendar' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"interface === 'calendar'; else pickerTemplate\">\r\n <div class=\"ax-calendar-header\">\r\n <div>\r\n <ng-container *ngIf=\"activeView=='days'; else elseTemplate\">\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[1]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText.split(' ')[0]\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <ax-button class=\"ax-nav-button\" [text]=\"_navText\" color=\"light\" look=\"blank\"\r\n (onClick)=\"_handleNavClick($event)\" [disabled]=\"disabled\">\r\n </ax-button>\r\n </ng-template>\r\n </div>\r\n <div class=\"ax-calendar-header-buttons\">\r\n <ax-button class=\"ax-prev-button\" color=\"light\" look=\"blank\" (onClick)=\"_handlePrevClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button>\r\n <ax-button class=\"ax-next-button\" color=\"light\" look=\"blank\" (onClick)=\"_handleNextClick($event)\"\r\n [disabled]=\"disabled\">\r\n <ax-prefix>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron \"></ax-icon>\r\n\r\n </ax-prefix>\r\n </ax-button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <div [ngSwitch]=\"activeView\">\r\n <ng-container *ngSwitchCase=\"'years'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-year\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'months'\">\r\n <div class=\"ax-calendar-slots ax-calendar-slots-month\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"ax-calendar-week\">\r\n <div *ngFor=\"let d of _dayNames\">{{d}}</div>\r\n </div>\r\n <div class=\"ax-calendar-slots ax-calendar-slots-day\">\r\n <div tabindex=\"0\" *ngFor=\"let slot of _slots\" [title]=\"slot.tooltip\" [ngClass]=\"slot.cssClass\"\r\n (click)=\"_handleSlotClick($event,slot)\">{{slot.text}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button class=\"dark:ax-text-danger\" [text]=\"_todayText\" color=\"dark\" look=\"blank\" size=\"sm\"\r\n (onClick)=\"_handleGoToday()\" [disabled]=\"disabled || isDisabled(_today)\"></ax-button>\r\n </div>\r\n</ng-container>\r\n<ng-template #pickerTemplate>\r\n <div class=\"ax-calendar-picker\">\r\n //TODO: picker\r\n </div>\r\n</ng-template>" }]
|
|
377
380
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { interface: [{
|
|
378
381
|
type: Input
|
|
379
382
|
}], __hostClass: [{
|
|
380
383
|
type: HostBinding,
|
|
381
384
|
args: ['class']
|
|
382
385
|
}] } });
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUVMLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IscUJBQXFCLEdBQ3RCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FDL0QsMkJBQTJCLENBQ3pCLHFCQUFxQixDQUFNLHVCQUF1QixDQUFDLENBQ3BELENBQ0YsQ0FBQztBQW9DRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsd0JBQXdCO0lBbUQvRCxZQUFZLFVBQXNCLEVBQVUsR0FBc0I7UUFDaEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURtQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWpEbEUsY0FBUyxHQUEwQixVQUFVLENBQUM7UUFFOUMsUUFBRyxHQUFZLElBQUksVUFBVSxFQUFFLENBQUMs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QUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDOztnSEEvWFUsbUJBQW1CO29HQUFuQixtQkFBbUIscXZCQzlEaEMsZ2pIQXFFYzsyRkRQRCxtQkFBbUI7a0JBbEMvQixTQUFTOytCQUNFLGFBQWEsVUFFZjt3QkFDTixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsZUFBZTt3QkFDZixNQUFNO3dCQUNOLGNBQWM7cUJBQ2YsV0FDUTt3QkFDUCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTtxQkFDYixRQUNLLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxpQkFDZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQUkvQyxTQUFTO3NCQURSLEtBQUs7Z0JBdVNNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGVUaW1lJztcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxuICBfQ2xpY2thYmxlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbixcclxuICBfVmFsdWVDb21wb25lbmV0TWl4aW4sXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG5leHBvcnQgY29uc3QgQVhDYWxlbmRhckNvbXBvbmVudE1peGluID0gX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICBfVmFsdWVDb21wb25lbmV0TWl4aW48YW55PihBWENhbGVuZGFyQmFzZUNvbXBvbmVudClcclxuICApXHJcbik7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ3JlYWRvbmx5JyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICduYW1lJyxcclxuICAgICdjaGVja2VkJyxcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ2RlcHRoJyxcclxuICAgICdhY3RpdmVWaWV3JyxcclxuICAgICdtaW4nLFxyXG4gICAgJ21heCcsXHJcbiAgICAnZGlzYWJsZWREYXRlcycsXHJcbiAgICAndHlwZScsXHJcbiAgICAnaG9saWRheURhdGVzJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICd2YWx1ZUNoYW5nZScsXHJcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAnZGVwdGhDaGFuZ2UnLFxyXG4gICAgJ3R5cGVDaGFuZ2UnLFxyXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxyXG4gICAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXHJcbiAgICAnb25OYXZpZ2F0ZScsXHJcbiAgXSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtY2FsZW5kYXInIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG4gIEBJbnB1dCgpXHJcbiAgaW50ZXJmYWNlOiAnY2FsZW5kYXInIHwgJ3BpY2tlcicgPSAnY2FsZW5kYXInO1xyXG5cclxuICBydGw6IGJvb2xlYW4gPSBuZXcgQVhQbGF0Zm9ybSgpLmlzUnRsKCk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IF92aWV3UmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcclxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlIHx8IHRoaXMuX3RvZGF5O1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcnMnOlxyXG4gICAgICAgIGxldCB5ID0gY3VycmVudC5zdGFydE9mKCd5ZWFyJykueWVhcjtcclxuICAgICAgICBsZXQgbWluID0geSAtICh5ICUgMTApIC0gMTtcclxuICAgICAgICBsZXQgbWF4ID0gbWluICsgMTE7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oe1xyXG4gICAgICAgICAgICB5ZWFyOiBtaW4sXHJcbiAgICAgICAgICAgIG1vbnRoOiAxLFxyXG4gICAgICAgICAgICBkYXRlOiAxLFxyXG4gICAgICAgICAgICBjYWxlbmRhcjogdGhpcy5fdmlld1N0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCksXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIEFYRGF0ZVRpbWUuZnJvbSh7XHJcbiAgICAgICAgICAgIHllYXI6IG1heCxcclxuICAgICAgICAgICAgbW9udGg6IDEyLFxyXG4gICAgICAgICAgICBkYXRlOiAyOCxcclxuICAgICAgICAgICAgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICBjYXNlICdtb250aHMnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgY3VycmVudC5zdGFydE9mKCd5ZWFyJyksXHJcbiAgICAgICAgICBjdXJyZW50LmVuZE9mKCd5ZWFyJykuYWRkKCdkYXknLCAtMSlcclxuICAgICAgICApO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgY3VycmVudC5zdGFydE9mKCdtb250aCcpLFxyXG4gICAgICAgICAgY3VycmVudC5lbmRPZignbW9udGgnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfdG9kYXkgPSBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIHByaXZhdGUgX3ZpZXdTdGFydERhdGUhOiBBWERhdGVUaW1lO1xyXG5cclxuICBfbmF2VGV4dDogc3RyaW5nID0gJyc7XHJcbiAgX3RvZGF5VGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIF9zbG90czogYW55W10gPSBbXTtcclxuICBfZGF5TmFtZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSkgdGhpcy5nb1RvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZW5lYXJ0ZVNsb3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLl92aWV3U3RhcnREYXRlKSByZXR1cm47XHJcbiAgICBjb25zdCB2ciA9IHRoaXMuX3ZpZXdSYW5nZTtcclxuICAgIC8vIGp1c3QgZm9yIHRhaWx3aW5kXHJcbiAgICAvLydheC1jb2wtc3RhcnQtMScsJ2F4LWNvbC1zdGFydC0yJywnYXgtY29sLXN0YXJ0LTMnLCdheC1jb2wtc3RhcnQtNCcsJ2F4LWNvbC1zdGFydC01JywnYXgtY29sLXN0YXJ0LTYnLCdheC1jb2wtc3RhcnQtNydcclxuICAgIC8vIHllYXIgdmlld1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ3llYXInKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPVxyXG4gICAgICAgICAgKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ3llYXInKSA9PSAtMSkgfHxcclxuICAgICAgICAgICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICd5ZWFyJykgPT0gMSk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAneWVhcicpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcclxuICAgICAgICAgICAgICB0aGlzLmRlcHRoID09ICd5ZWFycycgJiZcclxuICAgICAgICAgICAgICBkLmVxdWFsKHRoaXMudmFsdWUsICd5ZWFyJyksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtMmBdID0gaSA9PSAwO1xyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHt2ci5zdGFydFRpbWUueWVhcn0gLSAke3ZyLmVuZFRpbWUueWVhcn1gO1xyXG4gICAgICB0aGlzLl90b2RheVRleHQgPSB0aGlzLl90b2RheS5mb3JtYXQoJ1lZWVknKTtcclxuICAgIH1cclxuICAgIC8vIG1vbnRoIHZpZXdcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCdtb250aCcpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdNTU0nKTtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9XHJcbiAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnbW9udGgnKSA9PSAtMSkgfHxcclxuICAgICAgICAgICh0aGlzLm1heCAmJiBkLmNvbXBhcmUodGhpcy5tYXgsICdtb250aCcpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ21vbnRoJyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuZGVwdGggPT0gJ21vbnRocycgJiZcclxuICAgICAgICAgICAgICBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtb3RoZXInOiBkLnllYXIgIT0gdGhpcy5fdmlld1N0YXJ0RGF0ZS55ZWFyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZS5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgIH1cclxuICAgIC8vIGRheSB2aWV3XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnZGF5Jyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5kYXlPZk1vbnRoO1xyXG4gICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCk7XHJcbiAgICAgICAgci5kaXNhYmxlZCA9XHJcbiAgICAgICAgICAodGhpcy5taW4gJiYgZC5jb21wYXJlKHRoaXMubWluLCAnZGF5JykgPT0gLTEpIHx8XHJcbiAgICAgICAgICAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnZGF5JykgPT0gMSkgfHxcclxuICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZChkKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogdGhpcy52YWx1ZSAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdkYXknKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWhvbGlkYXknOiB0aGlzLmlzSG9saWRheShkKSB8fCB0aGlzLmlzV2Vla2VuZChkKSxcclxuICAgICAgICAgICAgLy8gJ2F4LXN0YXRlLWV2ZW50LWluZm8nOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudCc6IGQuZGF5T2ZNb250aCA9PSAxMixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByLmNzc0NsYXNzW2BheC1jb2wtc3RhcnQtJHt2ci5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwO1xyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdNTU1NIFlZWVknKTtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlUHJldkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5wcmV2KCk7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdCkge1xyXG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnZGF5cycpIHtcclxuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheXMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJyAmJiB0aGlzLmRlcHRoID09ICdtb250aHMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmXHJcbiAgICAgICh0aGlzLmRlcHRoID09ICdkYXlzJyB8fCB0aGlzLmRlcHRoID09ICdtb250aHMnKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdtb250aHMnO1xyXG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcnMnICYmIHRoaXMuZGVwdGggPT0gJ3llYXJzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uU2xvdENsaWNrLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGl0ZW06IHNsb3QuZGF0ZSxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXHJcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlTmF2Q2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXlzJykgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRocyc7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHRoaXMuYWN0aXZlVmlldyA9ICd5ZWFycyc7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCkge1xyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnZGVwdGgnIHx8XHJcbiAgICAgIG9wdGlvbi5uYW1lID09ICdhY3RpdmVWaWV3JyB8fFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnZGlzYWJsZWREYXRlcycgfHxcclxuICAgICAgb3B0aW9uLm5hbWUgPT0gJ2hvbGlkYXlEYXRlcydcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ3R5cGUnKSB7XHJcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgbmV3VmFsdWUpIHtcclxuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSBuZXcgQVhEYXRlVGltZShuZXdWYWx1ZSwgdGhpcy50eXBlKTtcclxuICAgIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVHb1RvZGF5KCkge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKTtcclxuICAgIHRoaXMuZ29Ub2RheSgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoczogc3RyaW5nKSA9PlxyXG4gICAgICAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSBhcyBIVE1MRGl2RWxlbWVudCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXHJcbiAgICAgICAgc1xyXG4gICAgICApO1xyXG4gICAgY29uc3QgZGl2ID1cclxuICAgICAgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdi5heC1zdGF0ZS1zZWxlY3RlZCcpIHx8XHJcbiAgICAgIGZ1bmMoJy5heC1jYWxlbmRhci1zbG90cz5kaXYnKTtcclxuICAgIGRpdj8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNpZ24gPSBwcmV2ID8gLTEgOiAxO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5cycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ21vbnRoJywgc2lnbiAqIDEpKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJylcclxuICAgICAgdGhpcy5uYXZUbyh0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMTApKTtcclxuICB9XHJcblxyXG4gIGdvVG9kYXkoKSB7XHJcbiAgICB0aGlzLm5hdlRvKHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIG5hdlRvKGRhdGU6IERhdGUgfCBBWERhdGVUaW1lKSB7XHJcbiAgICB0aGlzLl92aWV3U3RhcnREYXRlID0gQVhEYXRlVGltZS5jb252ZXJ0KFxyXG4gICAgICBkYXRlLFxyXG4gICAgICB0aGlzLl90b2RheS5jYWxlbmRhci5uYW1lKClcclxuICAgICkuc3RhcnRPZigpO1xyXG4gICAgY29uc3QgdnIgPSB0aGlzLl92aWV3UmFuZ2U7XHJcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxyXG4gICAgICBzdGFydDogdnIuc3RhcnRUaW1lPy5kYXRlLFxyXG4gICAgICBlbmQ6IHZyLmVuZFRpbWU/LmRhdGUsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5pbnRlcmZhY2UgPT0gJ2NhbGVuZGFyJykgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ3llYXInKTtcclxuICAgICAgdGhpcy5fZ2VuZXJhdGVQaWNrZXJJdGVtcygnbW9udGgnKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB9LCA1MCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XHJcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXHJcbiAgICAgICdheC1ydGwnOiB0aGlzLnJ0bCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoX2NsYXNzZXMpXHJcbiAgICAgIC5maWx0ZXIoKGMpID0+IGNbMV0pXHJcbiAgICAgIC5tYXAoKGMpID0+IGNbMF0pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXREYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gQVhEYXRlVGltZS5jb252ZXJ0KFxyXG4gICAgICB2YWx1ZSxcclxuICAgICAgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpXHJcbiAgICApLnN0YXJ0T2YoKS5kYXRlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlzYWJsZWREYXRlcykgJiYgdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0hvbGlkYXkoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ob2xpZGF5RGF0ZXMpICYmIHRoaXMuaG9saWRheURhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvbGlkYXlEYXRlcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmhvbGlkYXlEYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1dlZWtlbmQoZGF0ZTogQVhEYXRlVGltZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuICB9XHJcblxyXG4gIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIF9waWNrZXJNb250aHM6IHsgdGV4dDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIF9waWNrZXJZZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfZ2VuZXJhdGVQaWNrZXJJdGVtcyh2aWV3KSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyWWVhcnMgPSByYW5nZSgyMDAwLCAyMDUwLCAxKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHRoaXMuX3BpY2tlck1vbnRocyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ3llYXInKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ3llYXInKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC5lbnVtdXJhdGUoJ21vbnRoJylcclxuICAgICAgICAgIC5tYXAoKGMpID0+ICh7XHJcbiAgICAgICAgICAgIHRleHQ6IGMuZm9ybWF0KCdNTU0nKSxcclxuICAgICAgICAgICAgdmFsdWU6IGMubW9udGhPZlllYXIsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyRGF5cyA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgICAgICB0aGlzLl92aWV3UmFuZ2Uuc3RhcnRUaW1lLmVuZE9mKCdtb250aCcpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnZGF5JylcclxuICAgICAgICAgIC5tYXAoKGMpID0+IGMuZGF5T2ZNb250aCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVBpY2tlckNoYW5nZShpdGVtOiBhbnksIHZpZXcpIHtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWU7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgneWVhcicsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnbW9udGgnLCBpdGVtLnZhbHVlLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCdkYXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdkYXknLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVyZmFjZSA9PT0gJ2NhbGVuZGFyJzsgZWxzZSBwaWNrZXJUZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVWaWV3PT0nZGF5cyc7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0LnNwbGl0KCcgJylbMV1cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0LnNwbGl0KCcgJylbMF1cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHRcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1idXR0b25zXCI+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBcIj48L2F4LWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy15ZWFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWZvb3RlclwiPlxyXG4gICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJkYXJrOmF4LXRleHQtZGFuZ2VyXCIgW3RleHRdPVwiX3RvZGF5VGV4dFwiIGNvbG9yPVwiZGFya1wiIGxvb2s9XCJibGFua1wiIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVHb1RvZGF5KClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L2F4LWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNwaWNrZXJUZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1waWNrZXJcIj5cclxuICAgICAgICAvL1RPRE86IHBpY2tlclxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
386
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixXQUFXLEVBQ1gsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUVMLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IscUJBQXFCLEdBQ3RCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFFL0MsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcseUJBQXlCLENBQy9ELDJCQUEyQixDQUN6QixxQkFBcUIsQ0FBTSx1QkFBdUIsQ0FBQyxDQUNwRCxDQUNGLENBQUM7QUFvQ0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQW9EL0QsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQ2hFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqRGxFLGNBQVMsR0FBMEIsVUFB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SSxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDOztnSEFsWVUsbUJBQW1CO29HQUFuQixtQkFBbUIscXZCQy9EaEMsc2tIQXFFYzsyRkRORCxtQkFBbUI7a0JBbEMvQixTQUFTOytCQUNFLGFBQWEsVUFFZjt3QkFDTixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsZUFBZTt3QkFDZixNQUFNO3dCQUNOLGNBQWM7cUJBQ2YsV0FDUTt3QkFDUCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTtxQkFDYixRQUNLLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxpQkFDZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQUsvQyxTQUFTO3NCQURSLEtBQUs7Z0JBdVNNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGVUaW1lJztcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcclxuICBfQ2xpY2thYmxlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbixcclxuICBfVmFsdWVDb21wb25lbmV0TWl4aW4sXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVhDYWxlbmRhckNvbXBvbmVudE1peGluID0gX0NsaWNrYWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICBfVmFsdWVDb21wb25lbmV0TWl4aW48YW55PihBWENhbGVuZGFyQmFzZUNvbXBvbmVudClcclxuICApXHJcbik7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ3JlYWRvbmx5JyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICduYW1lJyxcclxuICAgICdjaGVja2VkJyxcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ2RlcHRoJyxcclxuICAgICdhY3RpdmVWaWV3JyxcclxuICAgICdtaW4nLFxyXG4gICAgJ21heCcsXHJcbiAgICAnZGlzYWJsZWREYXRlcycsXHJcbiAgICAndHlwZScsXHJcbiAgICAnaG9saWRheURhdGVzJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICd2YWx1ZUNoYW5nZScsXHJcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAnZGVwdGhDaGFuZ2UnLFxyXG4gICAgJ3R5cGVDaGFuZ2UnLFxyXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxyXG4gICAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXHJcbiAgICAnb25OYXZpZ2F0ZScsXHJcbiAgXSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtY2FsZW5kYXInIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBBWENhbGVuZGFyQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcclxuXHJcbiAgcnRsOiBib29sZWFuID0gbmV3IEFYUGxhdGZvcm0oKS5pc1J0bCgpO1xyXG5cclxuICBwcml2YXRlIGdldCBfdmlld1JhbmdlKCk6IEFYRGF0ZVRpbWVSYW5nZSB7XHJcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fdmlld1N0YXJ0RGF0ZSB8fCB0aGlzLl90b2RheTtcclxuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XHJcbiAgICAgIGNhc2UgJ3llYXJzJzpcclxuICAgICAgICBsZXQgeSA9IGN1cnJlbnQuc3RhcnRPZigneWVhcicpLnllYXI7XHJcbiAgICAgICAgbGV0IG1pbiA9IHkgLSAoeSAlIDEwKSAtIDE7XHJcbiAgICAgICAgbGV0IG1heCA9IG1pbiArIDExO1xyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICAgICAgQVhEYXRlVGltZS5mcm9tKHtcclxuICAgICAgICAgICAgeWVhcjogbWluLFxyXG4gICAgICAgICAgICBtb250aDogMSxcclxuICAgICAgICAgICAgZGF0ZTogMSxcclxuICAgICAgICAgICAgY2FsZW5kYXI6IHRoaXMuX3ZpZXdTdGFydERhdGUuY2FsZW5kYXIubmFtZSgpLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBBWERhdGVUaW1lLmZyb20oe1xyXG4gICAgICAgICAgICB5ZWFyOiBtYXgsXHJcbiAgICAgICAgICAgIG1vbnRoOiAxMixcclxuICAgICAgICAgICAgZGF0ZTogMjgsXHJcbiAgICAgICAgICAgIGNhbGVuZGFyOiB0aGlzLl92aWV3U3RhcnREYXRlLmNhbGVuZGFyLm5hbWUoKSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgY2FzZSAnbW9udGhzJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIGN1cnJlbnQuc3RhcnRPZigneWVhcicpLFxyXG4gICAgICAgICAgY3VycmVudC5lbmRPZigneWVhcicpLmFkZCgnZGF5JywgLTEpXHJcbiAgICAgICAgKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIGN1cnJlbnQuc3RhcnRPZignbW9udGgnKSxcclxuICAgICAgICAgIGN1cnJlbnQuZW5kT2YoJ21vbnRoJylcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgcHJpdmF0ZSBfdmlld1N0YXJ0RGF0ZSE6IEFYRGF0ZVRpbWU7XHJcblxyXG4gIHByb3RlY3RlZCBfbmF2VGV4dDogc3RyaW5nID0gJyc7XHJcbiAgcHJvdGVjdGVkIF90b2RheVRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcm90ZWN0ZWQgX3Nsb3RzOiBhbnlbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCBfZGF5TmFtZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLl90b2RheSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLl9kYXlOYW1lcyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLmRheVNob3J0TmFtZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWZyZXNoKCkge1xyXG4gICAgdGhpcy5faW5pdFZhbHVlcygpO1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkluaXQoKSB7XHJcbiAgICB0aGlzLl9pbml0VmFsdWVzKCk7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHRoaXMuZ29Ub2RheSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2VuZWFydGVTbG90cygpIHtcclxuICAgIGlmICghdGhpcy5fdmlld1N0YXJ0RGF0ZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgdnIgPSB0aGlzLl92aWV3UmFuZ2U7XHJcbiAgICAvLyBqdXN0IGZvciB0YWlsd2luZFxyXG4gICAgLy8nYXgtY29sLXN0YXJ0LTEnLCdheC1jb2wtc3RhcnQtMicsJ2F4LWNvbC1zdGFydC0zJywnYXgtY29sLXN0YXJ0LTQnLCdheC1jb2wtc3RhcnQtNScsJ2F4LWNvbC1zdGFydC02JywnYXgtY29sLXN0YXJ0LTcnXHJcbiAgICAvLyB5ZWFyIHZpZXdcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXJzJykge1xyXG4gICAgICBjb25zdCBhID0gdnIuZW51bXVyYXRlKCd5ZWFyJyk7XHJcbiAgICAgIHRoaXMuX3Nsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcclxuICAgICAgICByLmRhdGUgPSBkLmRhdGU7XHJcbiAgICAgICAgci50ZXh0ID0gZC5mb3JtYXQoJ1lZWVknKTtcclxuICAgICAgICByLmRpc2FibGVkID1cclxuICAgICAgICAgICh0aGlzLm1pbiAmJiBkLmNvbXBhcmUodGhpcy5taW4sICd5ZWFyJykgPT0gLTEpIHx8XHJcbiAgICAgICAgICAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAneWVhcicpID09IDEpO1xyXG4gICAgICAgIGlmIChyLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5JzogZC5lcXVhbCh0aGlzLl90b2RheSwgJ3llYXInKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzpcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5kZXB0aCA9PSAneWVhcnMnICYmXHJcbiAgICAgICAgICAgICAgZC5lcXVhbCh0aGlzLnZhbHVlLCAneWVhcicpLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LTJgXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dnIuc3RhcnRUaW1lLnllYXJ9IC0gJHt2ci5lbmRUaW1lLnllYXJ9YDtcclxuICAgICAgdGhpcy5fdG9kYXlUZXh0ID0gdGhpcy5fdG9kYXkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBtb250aCB2aWV3XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgY29uc3QgYSA9IHZyLmVudW11cmF0ZSgnbW9udGgnKTtcclxuICAgICAgdGhpcy5fc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xyXG4gICAgICAgIHIuZGF0ZSA9IGQuZGF0ZTtcclxuICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnTU1NJyk7XHJcbiAgICAgICAgci50b29sdGlwID0gZC5mb3JtYXQoJ01NTU0gWVlZWScpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPVxyXG4gICAgICAgICAgKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ21vbnRoJykgPT0gLTEpIHx8XHJcbiAgICAgICAgICAodGhpcy5tYXggJiYgZC5jb21wYXJlKHRoaXMubWF4LCAnbW9udGgnKSA9PSAxKTtcclxuICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgci5jc3NDbGFzcyA9IHtcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogci5kaXNhYmxlZCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IGQuZXF1YWwodGhpcy5fdG9kYXksICdtb250aCcpLFxyXG4gICAgICAgICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgJiZcclxuICAgICAgICAgICAgICB0aGlzLmRlcHRoID09ICdtb250aHMnICYmXHJcbiAgICAgICAgICAgICAgZC5lcXVhbCh0aGlzLnZhbHVlLCAnbW9udGgnKSxcclxuICAgICAgICAgICAgJ2F4LXN0YXRlLW90aGVyJzogZC55ZWFyICE9IHRoaXMuX3ZpZXdTdGFydERhdGUueWVhcixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fbmF2VGV4dCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICB9XHJcbiAgICAvLyBkYXkgdmlld1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGEgPSB2ci5lbnVtdXJhdGUoJ2RheScpO1xyXG4gICAgICB0aGlzLl9zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcjogYW55ID0ge307XHJcbiAgICAgICAgci5kYXRlID0gZC5kYXRlO1xyXG4gICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcclxuICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgpO1xyXG4gICAgICAgIHIuZGlzYWJsZWQgPVxyXG4gICAgICAgICAgKHRoaXMubWluICYmIGQuY29tcGFyZSh0aGlzLm1pbiwgJ2RheScpID09IC0xKSB8fFxyXG4gICAgICAgICAgKHRoaXMubWF4ICYmIGQuY29tcGFyZSh0aGlzLm1heCwgJ2RheScpID09IDEpIHx8XHJcbiAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQoZCk7XHJcbiAgICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByLmNzc0NsYXNzID0ge1xyXG4gICAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHRoaXMudmFsdWUgJiYgZC5lcXVhbCh0aGlzLnZhbHVlLCAnZGF5JyksXHJcbiAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5JzogdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCksXHJcbiAgICAgICAgICAgIC8vICdheC1zdGF0ZS1ldmVudC1pbmZvJzogZC5kYXlPZk1vbnRoID09IDEyLFxyXG4gICAgICAgICAgICAvLyAnYXgtc3RhdGUtZXZlbnQnOiBkLmRheU9mTW9udGggPT0gMTIsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgci5jc3NDbGFzc1tgYXgtY29sLXN0YXJ0LSR7dnIuc3RhcnRUaW1lLmRheU9mV2Vla31gXSA9IGkgPT0gMDtcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdlRleHQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmZvcm1hdCgnTU1NTSBZWVlZJyk7XHJcbiAgICAgIHRoaXMuX3RvZGF5VGV4dCA9IHRoaXMuX3RvZGF5LmZvcm1hdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVQcmV2Q2xpY2soZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLnByZXYoKTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZU5leHRDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlU2xvdENsaWNrKGU6IE1vdXNlRXZlbnQsIHNsb3QpIHtcclxuICAgIGlmIChzbG90LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aHMnICYmIHRoaXMuZGVwdGggPT0gJ2RheXMnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdkYXlzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGhzJykge1xyXG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXJzJyAmJlxyXG4gICAgICAodGhpcy5kZXB0aCA9PSAnZGF5cycgfHwgdGhpcy5kZXB0aCA9PSAnbW9udGhzJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXJzJyAmJiB0aGlzLmRlcHRoID09ICd5ZWFycycpIHtcclxuICAgICAgdGhpcy5fc2V0RGF0ZShzbG90LmRhdGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBzbG90LmRhdGUsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxyXG4gICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKSB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGhzJztcclxuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGhzJykgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXJzJztcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCkge1xyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnZGVwdGgnIHx8XHJcbiAgICAgIG9wdGlvbi5uYW1lID09ICdhY3RpdmVWaWV3JyB8fFxyXG4gICAgICBvcHRpb24ubmFtZSA9PSAnZGlzYWJsZWREYXRlcycgfHxcclxuICAgICAgb3B0aW9uLm5hbWUgPT0gJ2hvbGlkYXlEYXRlcydcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9nZW5lYXJ0ZVNsb3RzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ3R5cGUnKSB7XHJcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCAgX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IG5ldyBBWERhdGVUaW1lKG5ld1ZhbHVlLCB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fZ2VuZWFydGVTbG90cygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkICBfaGFuZGxlR29Ub2RheSgpIHtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuX3NldERhdGUodGhpcy5fdG9kYXkuZGF0ZSk7XHJcbiAgICB0aGlzLmdvVG9kYXkoKTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5fbmF2TmV4dFByZXYoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJldigpIHtcclxuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBjb25zdCBmdW5jID0gKHM6IHN0cmluZykgPT5cclxuICAgICAgKHRoaXMuX2dldEhvc3RFbGVtZW50KCkgYXMgSFRNTERpdkVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFxyXG4gICAgICAgIHNcclxuICAgICAgKTtcclxuICAgIGNvbnN0IGRpdiA9XHJcbiAgICAgIGZ1bmMoJy5heC1jYWxlbmRhci1zbG90cz5kaXYuYXgtc3RhdGUtc2VsZWN0ZWQnKSB8fFxyXG4gICAgICBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2Jyk7XHJcbiAgICBkaXY/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9uYXZOZXh0UHJldihwcmV2OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBzaWduID0gcHJldiA/IC0xIDogMTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheXMnKVxyXG4gICAgICB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxKSk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRocycpXHJcbiAgICAgIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSkpO1xyXG4gICAgZWxzZSB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwKSk7XHJcbiAgfVxyXG5cclxuICBnb1RvZGF5KCkge1xyXG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XHJcbiAgfVxyXG5cclxuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IEFYRGF0ZVRpbWUuY29udmVydChcclxuICAgICAgZGF0ZSxcclxuICAgICAgdGhpcy5fdG9kYXkuY2FsZW5kYXIubmFtZSgpXHJcbiAgICApLnN0YXJ0T2YoKTtcclxuICAgIGNvbnN0IHZyID0gdGhpcy5fdmlld1JhbmdlO1xyXG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbixcclxuICAgICAgc3RhcnQ6IHZyLnN0YXJ0VGltZT8uZGF0ZSxcclxuICAgICAgZW5kOiB2ci5lbmRUaW1lPy5kYXRlLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuaW50ZXJmYWNlID09ICdjYWxlbmRhcicpIHRoaXMuX2dlbmVhcnRlU2xvdHMoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCd5ZWFyJyk7XHJcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGlja2VySXRlbXMoJ21vbnRoJyk7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfSwgNTApO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IF9jbGFzc2VzID0ge1xyXG4gICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICAnYXgtcnRsJzogdGhpcy5ydGwsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF9jbGFzc2VzKVxyXG4gICAgICAuZmlsdGVyKChjKSA9PiBjWzFdKVxyXG4gICAgICAubWFwKChjKSA9PiBjWzBdKVxyXG4gICAgICAuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0RGF0ZSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IEFYRGF0ZVRpbWUuY29udmVydChcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHRoaXMuX3RvZGF5LmNhbGVuZGFyLm5hbWUoKVxyXG4gICAgKS5zdGFydE9mKCkuZGF0ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGlzYWJsZWREYXRlcykgJiYgdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyhkYXRlLmRhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGlzSG9saWRheShkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmhvbGlkYXlEYXRlcykgJiYgdGhpcy5ob2xpZGF5RGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzLnNvbWUoKGQpID0+IGRhdGUuZXF1YWwoZCwgJ2RheScpKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaG9saWRheURhdGVzKGRhdGUuZGF0ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNXZWVrZW5kKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcclxuICAgIC8vcmV0dXJuIGRhdGUuZGF5T2ZXZWVrID09IDcgfHwgZGF0ZS5kYXlPZldlZWsgPT0gMTtcclxuICAgIGNvbnN0IHdlZWtlbmQgPSBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFycy4ke3RoaXMudHlwZX0ud2Vla2VuZGApIGFzIG51bWJlcltdO1xyXG4gICAgcmV0dXJuIHdlZWtlbmQuaW5jbHVkZXMoZGF0ZS5kYXlPZldlZWspO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9waWNrZXJEYXlzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCBfcGlja2VyTW9udGhzOiB7IHRleHQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgX3BpY2tlclllYXJzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9nZW5lcmF0ZVBpY2tlckl0ZW1zKHZpZXcpIHtcclxuICAgIHN3aXRjaCAodmlldykge1xyXG4gICAgICBjYXNlICd5ZWFyJzpcclxuICAgICAgICB0aGlzLl9waWNrZXJZZWFycyA9IHJhbmdlKDIwMDAsIDIwNTAsIDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fcGlja2VyTW9udGhzID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuc3RhcnRPZigneWVhcicpLFxyXG4gICAgICAgICAgdGhpcy5fdmlld1JhbmdlLnN0YXJ0VGltZS5lbmRPZigneWVhcicpXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLmVudW11cmF0ZSgnbW9udGgnKVxyXG4gICAgICAgICAgLm1hcCgoYykgPT4gKHtcclxuICAgICAgICAgICAgdGV4dDogYy5mb3JtYXQoJ01NTScpLFxyXG4gICAgICAgICAgICB2YWx1ZTogYy5tb250aE9mWWVhcixcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9waWNrZXJEYXlzID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuc3RhcnRPZignbW9udGgnKSxcclxuICAgICAgICAgIHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWUuZW5kT2YoJ21vbnRoJylcclxuICAgICAgICApXHJcbiAgICAgICAgICAuZW51bXVyYXRlKCdkYXknKVxyXG4gICAgICAgICAgLm1hcCgoYykgPT4gYy5kYXlPZk1vbnRoKTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVBpY2tlckNoYW5nZShpdGVtOiBhbnksIHZpZXcpIHtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX3ZpZXdSYW5nZS5zdGFydFRpbWU7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgneWVhcicsIGl0ZW0udmFsdWUpLmRhdGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgdGhpcy5fc2V0RGF0ZShkYXRlLnNldCgnbW9udGgnLCBpdGVtLnZhbHVlLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICB0aGlzLl9nZW5lcmF0ZVBpY2tlckl0ZW1zKCdkYXknKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZXREYXRlKGRhdGUuc2V0KCdkYXknLCBpdGVtLnZhbHVlKS5kYXRlKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVyZmFjZSA9PT0gJ2NhbGVuZGFyJzsgZWxzZSBwaWNrZXJUZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVWaWV3PT0nZGF5cyc7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0LnNwbGl0KCcgJylbMV1cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmF2LWJ1dHRvblwiIFt0ZXh0XT1cIl9uYXZUZXh0LnNwbGl0KCcgJylbMF1cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1uYXYtYnV0dG9uXCIgW3RleHRdPVwiX25hdlRleHRcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1idXR0b25zXCI+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1wcmV2LWJ1dHRvblwiIGNvbG9yPVwibGlnaHRcIiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtbmV4dC1idXR0b25cIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBcIj48L2F4LWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJhY3RpdmVWaWV3XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy15ZWFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGhzJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiBfc2xvdHNcIiBbdGl0bGVdPVwic2xvdC50b29sdGlwXCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlU2xvdENsaWNrKCRldmVudCxzbG90KVwiPnt7c2xvdC50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkIG9mIF9kYXlOYW1lc1wiPnt7ZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiICpuZ0Zvcj1cImxldCBzbG90IG9mIF9zbG90c1wiIFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LHNsb3QpXCI+e3tzbG90LnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWZvb3RlclwiPlxyXG4gICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJkYXJrOmF4LXRleHQtZGFuZ2VyXCIgW3RleHRdPVwiX3RvZGF5VGV4dFwiIGNvbG9yPVwiZGFya1wiIGxvb2s9XCJibGFua1wiIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIl9oYW5kbGVHb1RvZGF5KClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgaXNEaXNhYmxlZChfdG9kYXkpXCI+PC9heC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjcGlja2VyVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcGlja2VyXCI+XHJcbiAgICAgICAgLy9UT0RPOiBwaWNrZXJcclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -25,10 +25,10 @@ export class AXCollapseComponent extends AXBaseComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
AXCollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXCollapseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
AXCollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXCollapseComponent, selector: "ax-collapse", inputs: { isCollapsed: "isCollapsed", caption: "caption" }, outputs: { isCollapsedChange: "isCollapsedChange" }, host: { classAttribute: "ax-collapse" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\">\r\n <ng-container *ngIf=\"headerTemplate;else header\">\r\n <div class=\"ax-collapse-custom-header-container\" (click)=\"handleHeaderClick()\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: {caption,isCollapsed} }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #header>\r\n <div class=\"ax-collapse-header-container\" (click)=\"handleHeaderClick()\">\r\n <div>\r\n <span class=\"ax-ic ax-ic-chevron ax-collapse-arrow ax-transition-all\"\r\n [class.ax-rotate-90]=\"isCollapsed\"></span>\r\n <ng-content select=\"ax-prefix\"></ng-content>\r\n <span>{{caption}}</span>\r\n </div>\r\n <div>\r\n <ng-content select=\"ax-suffix\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"ax-collapse-body ax-transition-all\" *ngIf=\"!isCollapsed\">\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
28
|
+
AXCollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXCollapseComponent, selector: "ax-collapse", inputs: { isCollapsed: "isCollapsed", caption: "caption" }, outputs: { isCollapsedChange: "isCollapsedChange" }, host: { classAttribute: "ax-collapse" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\">\r\n <ng-container *ngIf=\"headerTemplate;else header\">\r\n <div class=\"ax-collapse-custom-header-container\" (click)=\"handleHeaderClick()\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #header>\r\n <div class=\"ax-collapse-header-container\" (click)=\"handleHeaderClick()\">\r\n <div>\r\n <span class=\"ax-ic ax-ic-chevron ax-collapse-arrow ax-transition-all\"\r\n [class.ax-rotate-90]=\"isCollapsed\"></span>\r\n <ng-content select=\"ax-prefix\"></ng-content>\r\n <span>{{caption}}</span>\r\n </div>\r\n <div>\r\n <ng-content select=\"ax-suffix\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"ax-collapse-body ax-transition-all\" *ngIf=\"!isCollapsed\">\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXCollapseComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
|
-
args: [{ selector: 'ax-collapse', host: { class: 'ax-collapse' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\">\r\n <ng-container *ngIf=\"headerTemplate;else header\">\r\n <div class=\"ax-collapse-custom-header-container\" (click)=\"handleHeaderClick()\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: {caption,isCollapsed} }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #header>\r\n <div class=\"ax-collapse-header-container\" (click)=\"handleHeaderClick()\">\r\n <div>\r\n <span class=\"ax-ic ax-ic-chevron ax-collapse-arrow ax-transition-all\"\r\n [class.ax-rotate-90]=\"isCollapsed\"></span>\r\n <ng-content select=\"ax-prefix\"></ng-content>\r\n <span>{{caption}}</span>\r\n </div>\r\n <div>\r\n <ng-content select=\"ax-suffix\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"ax-collapse-body ax-transition-all\" *ngIf=\"!isCollapsed\">\r\n <ng-content></ng-content>\r\n</div>" }]
|
|
31
|
+
args: [{ selector: 'ax-collapse', host: { class: 'ax-collapse' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\">\r\n <ng-container *ngIf=\"headerTemplate;else header\">\r\n <div class=\"ax-collapse-custom-header-container\" (click)=\"handleHeaderClick()\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #header>\r\n <div class=\"ax-collapse-header-container\" (click)=\"handleHeaderClick()\">\r\n <div>\r\n <span class=\"ax-ic ax-ic-chevron ax-collapse-arrow ax-transition-all\"\r\n [class.ax-rotate-90]=\"isCollapsed\"></span>\r\n <ng-content select=\"ax-prefix\"></ng-content>\r\n <span>{{caption}}</span>\r\n </div>\r\n <div>\r\n <ng-content select=\"ax-suffix\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"ax-collapse-body ax-transition-all\" *ngIf=\"!isCollapsed\">\r\n <ng-content></ng-content>\r\n</div>" }]
|
|
32
32
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { isCollapsedChange: [{
|
|
33
33
|
type: Output
|
|
34
34
|
}], isCollapsed: [{
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
39
39
|
type: ContentChild,
|
|
40
40
|
args: ['header', { static: true }]
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29sbGFwc2Uvc3JjL2NvbGxhcHNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9jb2xsYXBzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBQ3RELFlBQVksVUFBc0IsRUFBVSxHQUFzQjtRQUNoRSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBS2xFLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBY3RDLFlBQU8sR0FBVyxFQUFFLENBQUM7SUFuQnJCLENBQUM7SUFNRCxJQUNXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxDQUFVO1FBQy9CLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQVFELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7O2dIQTdCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix3VkNyQmhDLHNvQ0F3Qk07MkZESE8sbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsUUFFakIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLG1CQUNiLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7aUlBUXJDLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFLSSxXQUFXO3NCQURyQixLQUFLO2dCQWFOLE9BQU87c0JBRE4sS0FBSztnQkFJTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNvbGxhcHNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGFwc2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1jb2xsYXBzZScgfSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb2xsYXBzZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaXNDb2xsYXBzZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgX2lzQ29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGlzQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGlzQ29sbGFwc2VkKHY6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2ICE9IHRoaXMuX2lzQ29sbGFwc2VkKSB7XHJcbiAgICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gdjtcclxuICAgICAgdGhpcy5pc0NvbGxhcHNlZENoYW5nZS5lbWl0KHYpO1xyXG4gICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBjYXB0aW9uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgaGFuZGxlSGVhZGVyQ2xpY2soKSB7XHJcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXJcIiBbY2xhc3MuYXgtc3RhdGUtY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGU7ZWxzZSBoZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtY3VzdG9tLWhlYWRlci1jb250YWluZXJcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogeyBjYXB0aW9uLCBpc0NvbGxhcHNlZCB9IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWhlYWRlci1jb250YWluZXJcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pYyBheC1pYy1jaGV2cm9uIGF4LWNvbGxhcHNlLWFycm93IGF4LXRyYW5zaXRpb24tYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtcm90YXRlLTkwXT1cImlzQ29sbGFwc2VkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWJvZHkgYXgtdHJhbnNpdGlvbi1hbGxcIiAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj4iXX0=
|
|
@@ -79,7 +79,7 @@ AXColorPaletteInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
79
79
|
provide: AXColorPaletteChildComponent,
|
|
80
80
|
useExisting: AXColorPaletteInputComponent,
|
|
81
81
|
},
|
|
82
|
-
], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"_parent.colorMode\">\r\n <div class=\"palette-inputs\">\r\n <ng-container *ngSwitchCase=\"'hex'\">\r\n <div>\r\n <ax-text-box class=\"ax-w-full\" [value]=\"_hex\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleHEXAValueChanged($event)\">\r\n </ax-text-box>\r\n <label>HEX</label>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rgba'\">\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.r\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>R</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.g\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>G</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.b\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>B</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"1\" [(value)]=\"_rgba.a\" [decimals]=\"2\" [step]=\"0.1\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n [showSpinButtons]=\"false\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>A</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ax-button color=\"light\" class=\"ax-w-base\" (onClick)=\"_handleChangeInputMode($event)\" [disabled]=\"_parent.disabled\">\r\n <ax-icon class=\"ax-ic ax-ic-unfold\"></ax-icon>\r\n </ax-button>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "name", "checked", "placeholder", "maxLength", "debounceTime", "type", "autoComplete"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "size", "value", "placeholder", "maxLength", "allowNull", "debounceTime", "type", "autoComplete", "name", "checked", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
82
|
+
], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"_parent.colorMode\">\r\n <div class=\"palette-inputs\">\r\n <ng-container *ngSwitchCase=\"'hex'\">\r\n <div>\r\n <ax-text-box class=\"ax-w-full\" [value]=\"_hex\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleHEXAValueChanged($event)\">\r\n </ax-text-box>\r\n <label>HEX</label>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rgba'\">\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.r\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>R</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.g\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>G</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"255\" [(value)]=\"_rgba.b\" [showSpinButtons]=\"false\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>B</label>\r\n </div>\r\n <div>\r\n <ax-number-box [minValue]=\"0\" [maxValue]=\"1\" [(value)]=\"_rgba.a\" [decimals]=\"2\" [step]=\"0.1\" [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\"\r\n [showSpinButtons]=\"false\" (onValueChanged)=\"_handleRGBAValueChanged($event)\">\r\n </ax-number-box>\r\n <label>A</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ax-button color=\"light\" class=\"ax-w-base\" (onClick)=\"_handleChangeInputMode($event)\" [disabled]=\"_parent.disabled\">\r\n <ax-icon class=\"ax-ic ax-ic-unfold\"></ax-icon>\r\n </ax-button>\r\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "name", "checked", "placeholder", "maxLength", "debounceTime", "type", "autoComplete"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "size", "value", "placeholder", "maxLength", "allowNull", "debounceTime", "type", "autoComplete", "name", "checked", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
83
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXColorPaletteInputComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: 'ax-color-palette-input', host: { class: 'ax-color-palette-input' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -73,7 +73,7 @@ export class AXColorPickerComponent extends AXBaseColorPickerMixin {
|
|
|
73
73
|
AXColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
74
|
AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXColorPickerComponent, selector: "ax-color-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", debounceTime: "debounceTime", type: "type", autoComplete: "autoComplete" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [
|
|
75
75
|
{ provide: AXClosbaleComponent, useExisting: AXColorPickerComponent },
|
|
76
|
-
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleClearClickEvent()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [value]=\"value\" (onValueChanged)=\"_handleValueChangedEvent($event)\" [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i7.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "name", "checked", "colorMode"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "colorModeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
76
|
+
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"_handleClearClickEvent()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [value]=\"value\" (onValueChanged)=\"_handleValueChangedEvent($event)\" [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i7.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "name", "checked", "colorMode"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "colorModeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXColorPickerComponent, decorators: [{
|
|
78
78
|
type: Component,
|
|
79
79
|
args: [{ selector: 'ax-color-picker', inputs: [
|
|
@@ -6,6 +6,7 @@ export class AXAutoFocusDirective {
|
|
|
6
6
|
this.el = el;
|
|
7
7
|
this._host = _host;
|
|
8
8
|
this.autoFocus = true;
|
|
9
|
+
this.time = 100;
|
|
9
10
|
}
|
|
10
11
|
ngAfterContentInit() {
|
|
11
12
|
if (this.autoFocus) {
|
|
@@ -27,12 +28,12 @@ export class AXAutoFocusDirective {
|
|
|
27
28
|
}
|
|
28
29
|
setTimeout(() => {
|
|
29
30
|
focusable.focus();
|
|
30
|
-
},
|
|
31
|
+
}, 100);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
AXAutoFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
-
AXAutoFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"] }, ngImport: i0 });
|
|
36
|
+
AXAutoFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 });
|
|
36
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
|
|
37
38
|
type: Directive,
|
|
38
39
|
args: [{
|
|
@@ -47,5 +48,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
47
48
|
}] }]; }, propDecorators: { autoFocus: [{
|
|
48
49
|
type: Input,
|
|
49
50
|
args: ['axAutoFocus']
|
|
51
|
+
}], time: [{
|
|
52
|
+
type: Input,
|
|
53
|
+
args: ['focus-time']
|
|
50
54
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2F1dG8tZm9jdXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkIsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUNVLEVBQTJCLEVBSTVCLEtBQTJCO1FBSjFCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBSTVCLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBUDdCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFZbEMsU0FBSSxHQUFXLEdBQUcsQ0FBQztJQUpmLENBQUM7SUFNTCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxHQUFHO2dCQUNYLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxRQUFRO2dCQUNSLFFBQVE7Z0JBQ1IsVUFBVTtnQkFDVixZQUFZO2FBQ2IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sU0FBUyxHQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN4QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hCLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDOztpSEF2Q1Usb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQU9JLElBQUk7OzBCQUNKLElBQUk7OzBCQUNKLFFBQVE7NENBTkosU0FBUztzQkFEZixLQUFLO3VCQUFDLGFBQWE7Z0JBYXBCLElBQUk7c0JBREgsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhGb2N1c2FibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMuY2xhc3MnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXhBdXRvRm9jdXNdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgQElucHV0KCdheEF1dG9Gb2N1cycpXHJcbiAgcHVibGljIGF1dG9Gb2N1cz86IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgQEhvc3QoKVxyXG4gICAgQFNlbGYoKVxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIHB1YmxpYyBfaG9zdDogQVhGb2N1c2FibGVDb21wb25lbnRcclxuICApIHsgfVxyXG5cclxuXHJcbiAgQElucHV0KCdmb2N1cy10aW1lJylcclxuICB0aW1lOiBudW1iZXIgPSAxMDA7XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICBjb25zdCBsaXN0ID0gW1xyXG4gICAgICAgICdidXR0b24nLFxyXG4gICAgICAgICdpbnB1dCcsXHJcbiAgICAgICAgJ1tocmVmXScsXHJcbiAgICAgICAgJ3NlbGVjdCcsXHJcbiAgICAgICAgJ3RleHRhcmVhJyxcclxuICAgICAgICAnW3RhYmluZGV4XScsXHJcbiAgICAgIF0ubWFwKChjKSA9PiBjICsgJzpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyk7XHJcbiAgICAgIGNvbnN0IGZvY3VzYWJsZSA9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGxpc3Quam9pbignLCAnKSkgPz9cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2F1dG9mb2N1cycpO1xyXG4gICAgICBmb2N1c2FibGUuc2V0QXR0cmlidXRlTm9kZShhdHRyKTtcclxuICAgICAgY29uc3QgaGFzVGFiaW5kZXggPSBmb2N1c2FibGUuaGFzQXR0cmlidXRlKCd0YWJpbmRleCcpO1xyXG4gICAgICBpZiAoIWhhc1RhYmluZGV4KSB7XHJcbiAgICAgICAgZm9jdXNhYmxlLnNldEF0dHJpYnV0ZSgndGFiSW5kZXgnLCAnMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -55,4 +55,4 @@ export class AXSelectionValueChangedEvent extends AXValueChangedEvent {
|
|
|
55
55
|
*/
|
|
56
56
|
export class AXRangeChangedEvent extends AXEvent {
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uL3NyYy9ldmVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFVRSxzQkFBaUIsR0FBYSxLQUFLLENBQUM7SUFDdEMsQ0FBQztDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQXFDLFNBQVEsT0FBTztDQUVoRTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxPQUFPO0NBSWxEO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF1QjtDQU94RDtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0NBRW5EO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFvQixTQUFRLFdBQXVCO0NBRS9EO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF1QjtDQUFJO0FBRTdEOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFFakQ7Q0FLQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxPQUFPO0NBU2xEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcclxuICogQGNhdGVnb3J5IEV2ZW50c1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFYRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqICBUaGUgc2VuZGVyIGNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbXBvbmVudDogYW55O1xyXG4gIC8qKlxyXG4gICAqICBUaGUgcm9vdCBuYXRpdmUgZWxlbWVudFxyXG4gICAqL1xyXG4gIGh0bWxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIGlzVXNlckludGVyYWN0aW9uPzogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sRXZlbnQ8RSBleHRlbmRzIEV2ZW50ID0gRXZlbnQ+IGV4dGVuZHMgQVhFdmVudCB7XHJcbiAgbmF0aXZlRXZlbnQ/OiBFO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhWYWx1ZUNoYW5nZWRFdmVudDxUPiBleHRlbmRzIEFYRXZlbnQge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG9sZFZhbHVlPzogVDtcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWENsaWNrRXZlbnQgZXh0ZW5kcyBBWEh0bWxFdmVudDxNb3VzZUV2ZW50PiB7XHJcbiAgLyoqXHJcbiAgICogIHVzZXMgZm9yIGV4dHJhIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogYW55O1xyXG5cclxuICBuYXRpdmVFdmVudD86IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkNsaWNrRXZlbnQgZXh0ZW5kcyBBWENsaWNrRXZlbnQge1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2sgdGhlIGVsZW1lbnQuXHJcbiAqIEBjYXRlZ29yeSBFdmVudHNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBWEl0ZW1DbGlja0V2ZW50PFQ+IGV4dGVuZHMgQVhIdG1sRXZlbnQ8TW91c2VFdmVudD4ge1xyXG4gIGl0ZW06IFQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSBjb21wb25lbnQgZ2V0cyBmb2N1c2VkLlxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhGb2N1c0V2ZW50IGV4dGVuZHMgQVhIdG1sRXZlbnQ8Rm9jdXNFdmVudD4geyB9XHJcblxyXG4vKipcclxuICogIEZpcmVzIGVhY2ggdGltZSBhbiBpdGVtIG9yIG11bHRpcGxlIGl0ZW1zIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIG9yIHZhbHVlLlxyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25WYWx1ZUNoYW5nZWRFdmVudCBleHRlbmRzIEFYVmFsdWVDaGFuZ2VkRXZlbnQ8XHJcbiAgYW55IHwgYW55W11cclxuPiB7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgb2xkVmFsdWU/OiBhbnk7XHJcbiAgc2VsZWN0ZWRLZXlzPzogYW55W107XHJcbiAgc2VsZWN0ZWRJdGVtcz86IGFueVtdO1xyXG59XHJcblxyXG4vKipcclxuICogIENvbnRhaW5zIHJhbmdlIHN0YXJ0ICYgZW5kIHZhbHVlc1xyXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVhSYW5nZUNoYW5nZWRFdmVudDxUPiBleHRlbmRzIEFYRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqICBUaGUgcmFuZ2Ugc3RhcnQgdmFsdWVcclxuICAgKi9cclxuICBzdGFydD86IFQ7XHJcbiAgLyoqXHJcbiAgICogIFRoZSByYW5nZSBlbmQgdmFsdWVcclxuICAgKi9cclxuICBlbmQ/OiBUO1xyXG59XHJcbiJdfQ==
|
|
@@ -36,7 +36,7 @@ AXDataPagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
36
36
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the last page" (onClick)="_emitOnLastPageClick($event)">
|
|
37
37
|
<ax-icon icon="ax-ic-chevron-page ax-rotate-180"></ax-icon>
|
|
38
38
|
</ax-button>
|
|
39
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
39
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerNextButtonsComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{
|
|
@@ -68,7 +68,7 @@ AXDataPagerNumericSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersi
|
|
|
68
68
|
<ax-button [disabled]="_currentPage==_lastPage" look="blank" color="light" class="ax-sm" (onClick)="_handleOnItemClick({data:_lastPage})">
|
|
69
69
|
<ax-icon icon="ax-ic-chevron-page ax-rotate-180"></ax-icon>
|
|
70
70
|
</ax-button>
|
|
71
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "tabIndex", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "selectionChange", "onItemClick"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
71
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "tabIndex", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "selectionChange", "onItemClick"] }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerNumericSelectorComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{
|
|
@@ -54,7 +54,7 @@ AXDataPagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
54
54
|
</ax-suffix>
|
|
55
55
|
</ax-button>
|
|
56
56
|
<!-- <span >items per page</span> -->
|
|
57
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"], outputs: ["onClick"] }, { kind: "component", type: i3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "target"], outputs: ["onOpened", "onClosed", "onItemClick"] }, { kind: "component", type: i4.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
57
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"], outputs: ["onClick"] }, { kind: "component", type: i3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "target"], outputs: ["onOpened", "onClosed", "onItemClick"] }, { kind: "component", type: i4.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerPageSizesComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{
|
|
@@ -34,7 +34,7 @@ AXDataPagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
34
34
|
<ax-button [disabled]="disabled" look="blank" color="light" class="ax-sm" title="Go to the next page" (onClick)="_emitOnPrevPageClick($event)">
|
|
35
35
|
<ax-icon icon="ax-ic-chevron"></ax-icon>
|
|
36
36
|
</ax-button>
|
|
37
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
37
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataPagerPrevButtonsComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{
|