@acorex/components 7.0.28 → 7.0.29

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.
Files changed (68) hide show
  1. package/alert/src/alert.component.d.ts +2 -2
  2. package/badge/src/badge.component.d.ts +2 -2
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +6 -6
  4. package/button/src/button-group.component.d.ts +6 -6
  5. package/button/src/button-item.component.d.ts +6 -6
  6. package/color-picker/src/color-picker.component.d.ts +21 -18
  7. package/date-picker/src/datepicker.component.d.ts +14 -14
  8. package/esm2020/color-picker/src/color-picker.component.mjs +14 -13
  9. package/esm2020/select-box/src/selectbox.component.mjs +32 -17
  10. package/esm2020/tabs/src/tabs.component.mjs +2 -2
  11. package/fesm2015/acorex-components-alert.mjs +1 -0
  12. package/fesm2015/acorex-components-badge.mjs +1 -0
  13. package/fesm2015/acorex-components-calendar.mjs +1 -0
  14. package/fesm2015/acorex-components-card.mjs +1 -0
  15. package/fesm2015/acorex-components-color-palette.mjs +1 -0
  16. package/fesm2015/acorex-components-color-picker.mjs +13 -12
  17. package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
  18. package/fesm2015/acorex-components-common.mjs +1 -0
  19. package/fesm2015/acorex-components-decorators.mjs +1 -0
  20. package/fesm2015/acorex-components-dialog.mjs +1 -0
  21. package/fesm2015/acorex-components-mixin.mjs +1 -0
  22. package/fesm2015/acorex-components-picker.mjs +1 -0
  23. package/fesm2015/acorex-components-popup.mjs +1 -0
  24. package/fesm2015/acorex-components-progress-bar.mjs +1 -0
  25. package/fesm2015/acorex-components-range-slider.mjs +1 -0
  26. package/fesm2015/acorex-components-select-box.mjs +31 -17
  27. package/fesm2015/acorex-components-select-box.mjs.map +1 -1
  28. package/fesm2015/acorex-components-switch.mjs +1 -0
  29. package/fesm2015/acorex-components-tabs.mjs +2 -2
  30. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  31. package/fesm2020/acorex-components-alert.mjs +1 -0
  32. package/fesm2020/acorex-components-badge.mjs +1 -0
  33. package/fesm2020/acorex-components-calendar.mjs +1 -0
  34. package/fesm2020/acorex-components-card.mjs +1 -0
  35. package/fesm2020/acorex-components-color-palette.mjs +1 -0
  36. package/fesm2020/acorex-components-color-picker.mjs +13 -12
  37. package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
  38. package/fesm2020/acorex-components-common.mjs +1 -0
  39. package/fesm2020/acorex-components-decorators.mjs +1 -0
  40. package/fesm2020/acorex-components-dialog.mjs +1 -0
  41. package/fesm2020/acorex-components-mixin.mjs +1 -0
  42. package/fesm2020/acorex-components-picker.mjs +1 -0
  43. package/fesm2020/acorex-components-popup.mjs +1 -0
  44. package/fesm2020/acorex-components-progress-bar.mjs +1 -0
  45. package/fesm2020/acorex-components-range-slider.mjs +1 -0
  46. package/fesm2020/acorex-components-select-box.mjs +31 -17
  47. package/fesm2020/acorex-components-select-box.mjs.map +1 -1
  48. package/fesm2020/acorex-components-switch.mjs +1 -0
  49. package/fesm2020/acorex-components-tabs.mjs +2 -2
  50. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  51. package/mixin/src/base-components.class.d.ts +2 -2
  52. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  53. package/mixin/src/button-mixin.class.d.ts +2 -2
  54. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  55. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  56. package/mixin/src/datalist-component.class.d.ts +10 -10
  57. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  58. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  59. package/mixin/src/loading-mixin.class.d.ts +2 -2
  60. package/mixin/src/mixin.class.d.ts +61 -61
  61. package/mixin/src/page-component.class.d.ts +2 -2
  62. package/mixin/src/selection-component.class.d.ts +2 -2
  63. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  64. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  65. package/mixin/src/value-mixin.class.d.ts +8 -8
  66. package/package.json +1 -1
  67. package/select-box/src/selectbox.component.d.ts +1 -1
  68. package/tabs/src/tab-item.component.d.ts +2 -2
@@ -11,14 +11,14 @@ export declare const AXBaseAlertMixin: (new (...args: any[]) => {
11
11
  _look?: import("@acorex/components/common").AXStyleLookType;
12
12
  look: import("@acorex/components/common").AXStyleLookType;
13
13
  id: string;
14
- "__#35248@#rtl": boolean;
14
+ "__#35198@#rtl": boolean;
15
15
  rtl: boolean;
16
16
  /**
17
17
  * Regular description
18
18
  *
19
19
  * @category Components
20
20
  */
21
- "__#35248@#elementRef": ElementRef<any>;
21
+ "__#35198@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -9,9 +9,9 @@ export declare const AXBaseBadgeMixin: (new (...args: any[]) => {
9
9
  _look?: import("@acorex/components/common").AXStyleLookType;
10
10
  look: import("@acorex/components/common").AXStyleLookType;
11
11
  id: string;
12
- "__#35248@#rtl": boolean;
12
+ "__#35198@#rtl": boolean;
13
13
  rtl: boolean;
14
- "__#35248@#elementRef": ElementRef<any>;
14
+ "__#35198@#elementRef": ElementRef<any>;
15
15
  _cdr: ChangeDetectorRef;
16
16
  _isInited: boolean;
17
17
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { ChangeDetectorRef, ElementRef } from '@angular/core';
3
3
  import { AXBreadCrumbsComponent } from './breadcrumbs.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) => {
6
- "__#35251@#disabled": boolean;
6
+ "__#35201@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#35251@#tabIndex": number;
8
+ "__#35201@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -14,9 +14,9 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
14
14
  focus(): void;
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
- "__#35248@#rtl": boolean;
17
+ "__#35198@#rtl": boolean;
18
18
  rtl: boolean;
19
- "__#35248@#elementRef": ElementRef<any>;
19
+ "__#35198@#elementRef": ElementRef<any>;
20
20
  _cdr: ChangeDetectorRef;
21
21
  _isInited: boolean;
22
22
  _isRendered: boolean;
@@ -39,9 +39,9 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
39
39
  onClick: import("@angular/core").EventEmitter<import("@acorex/components/common").AXClickEvent>;
40
40
  _emitOnClickEvent(e: MouseEvent): void;
41
41
  id: string;
42
- "__#35248@#rtl": boolean;
42
+ "__#35198@#rtl": boolean;
43
43
  rtl: boolean;
44
- "__#35248@#elementRef": ElementRef<any>;
44
+ "__#35198@#elementRef": ElementRef<any>;
45
45
  _cdr: ChangeDetectorRef;
46
46
  _isInited: boolean;
47
47
  _isRendered: boolean;
@@ -4,9 +4,9 @@ import { AXClickEvent, AXItemClickEvent, AXSelectionMode, AXSelectionValueChange
4
4
  import { AXBaseComponent } from '@acorex/components/mixin';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
7
- "__#35251@#disabled": boolean;
7
+ "__#35201@#disabled": boolean;
8
8
  disabled: boolean;
9
- "__#35251@#tabIndex": number;
9
+ "__#35201@#tabIndex": number;
10
10
  tabIndex: number;
11
11
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
12
12
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -15,9 +15,9 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
15
15
  focus(): void;
16
16
  hasFocus(): boolean;
17
17
  id: string;
18
- "__#35248@#rtl": boolean;
18
+ "__#35198@#rtl": boolean;
19
19
  rtl: boolean;
20
- "__#35248@#elementRef": ElementRef<any>;
20
+ "__#35198@#elementRef": ElementRef<any>;
21
21
  _cdr: ChangeDetectorRef;
22
22
  _isInited: boolean;
23
23
  _isRendered: boolean;
@@ -44,9 +44,9 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
44
44
  _look?: import("@acorex/components/common").AXStyleLookType;
45
45
  look: import("@acorex/components/common").AXStyleLookType;
46
46
  id: string;
47
- "__#35248@#rtl": boolean;
47
+ "__#35198@#rtl": boolean;
48
48
  rtl: boolean;
49
- "__#35248@#elementRef": ElementRef<any>;
49
+ "__#35198@#elementRef": ElementRef<any>;
50
50
  _cdr: ChangeDetectorRef;
51
51
  _isInited: boolean;
52
52
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { AXStyleColorType } from '@acorex/components/common';
3
3
  import { AXBaseComponent } from '@acorex/components/mixin';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
6
- "__#35251@#disabled": boolean;
6
+ "__#35201@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#35251@#tabIndex": number;
8
+ "__#35201@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -14,9 +14,9 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
14
14
  focus(): void;
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
- "__#35248@#rtl": boolean;
17
+ "__#35198@#rtl": boolean;
18
18
  rtl: boolean;
19
- "__#35248@#elementRef": ElementRef<any>;
19
+ "__#35198@#elementRef": ElementRef<any>;
20
20
  _cdr: ChangeDetectorRef;
21
21
  _isInited: boolean;
22
22
  _isRendered: boolean;
@@ -39,9 +39,9 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
39
39
  onClick: import("@angular/core").EventEmitter<import("@acorex/components/common").AXClickEvent>;
40
40
  _emitOnClickEvent(e: MouseEvent): void;
41
41
  id: string;
42
- "__#35248@#rtl": boolean;
42
+ "__#35198@#rtl": boolean;
43
43
  rtl: boolean;
44
- "__#35248@#elementRef": ElementRef<any>;
44
+ "__#35198@#elementRef": ElementRef<any>;
45
45
  _cdr: ChangeDetectorRef;
46
46
  _isInited: boolean;
47
47
  _isRendered: boolean;
@@ -6,9 +6,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
6
6
  import { AXBaseComponent } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
9
- "__#35251@#disabled": boolean;
9
+ "__#35201@#disabled": boolean;
10
10
  disabled: boolean;
11
- "__#35251@#tabIndex": number;
11
+ "__#35201@#tabIndex": number;
12
12
  tabIndex: number;
13
13
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
14
14
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -17,9 +17,9 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
17
17
  focus(): void;
18
18
  hasFocus(): boolean;
19
19
  id: string;
20
- "__#35248@#rtl": boolean;
20
+ "__#35198@#rtl": boolean;
21
21
  rtl: boolean;
22
- "__#35248@#elementRef": ElementRef<any>;
22
+ "__#35198@#elementRef": ElementRef<any>;
23
23
  _cdr: ChangeDetectorRef;
24
24
  _isInited: boolean;
25
25
  _isRendered: boolean;
@@ -53,9 +53,9 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
53
53
  open(): void;
54
54
  readonly isOpen: boolean;
55
55
  id: string;
56
- "__#35248@#rtl": boolean;
56
+ "__#35198@#rtl": boolean;
57
57
  rtl: boolean;
58
- "__#35248@#elementRef": ElementRef<any>;
58
+ "__#35198@#elementRef": ElementRef<any>;
59
59
  _cdr: ChangeDetectorRef;
60
60
  _isInited: boolean;
61
61
  _isRendered: boolean;
@@ -75,17 +75,17 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
75
75
  }) & (new (...args: any[]) => {
76
76
  onValueChanged: import("@angular/core").EventEmitter<AXValueChangedEvent<any>>;
77
77
  valueChange: import("@angular/core").EventEmitter<any>;
78
- "__#35252@#readonly": boolean;
78
+ "__#35202@#readonly": boolean;
79
79
  readonly: boolean;
80
- "__#35252@#allowNull": boolean;
80
+ "__#35202@#allowNull": boolean;
81
81
  allowNull: boolean;
82
- "__#35252@#name": string;
82
+ "__#35202@#name": string;
83
83
  name: string;
84
- "__#35252@#isUserInteraction": boolean;
84
+ "__#35202@#isUserInteraction": boolean;
85
85
  readonly isUserInteraction: boolean;
86
- "__#35252@#value": any;
86
+ "__#35202@#value": any;
87
87
  value: any;
88
- "__#35252@#state": "error" | "clear" | "success";
88
+ "__#35202@#state": "error" | "clear" | "success";
89
89
  readonly state: "error" | "clear" | "success";
90
90
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
91
91
  _internalSetValue(value: any): any;
@@ -100,16 +100,18 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
100
100
  validate(): Promise<any>;
101
101
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
102
102
  id: string;
103
- "__#35248@#rtl": boolean;
103
+ "__#35198@#rtl": boolean;
104
104
  rtl: boolean;
105
- "__#35248@#elementRef": ElementRef<any>;
105
+ "__#35198@#elementRef": ElementRef<any>;
106
106
  _cdr: ChangeDetectorRef;
107
107
  _isInited: boolean;
108
108
  _isRendered: boolean;
109
109
  ngOnInit(): void;
110
110
  ngAfterViewInit(): void;
111
111
  ngOnDestroy(): void;
112
- _getHostElement<T_3 = HTMLElement>(): T_3;
112
+ _getHostElement<T_3 = HTMLElement>(): T_3; /**
113
+ * @ignore
114
+ */
113
115
  _getInnerElement<T_1_2 = HTMLElement>(): T_1_2;
114
116
  _onInternalViewInit(): void;
115
117
  onInit(): void;
@@ -131,9 +133,9 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
131
133
  _emitOnKeyupEvent(e: KeyboardEvent): void;
132
134
  _emitOnKeypressEvent(e: KeyboardEvent): void;
133
135
  id: string;
134
- "__#35248@#rtl": boolean;
136
+ "__#35198@#rtl": boolean;
135
137
  rtl: boolean;
136
- "__#35248@#elementRef": ElementRef<any>;
138
+ "__#35198@#elementRef": ElementRef<any>;
137
139
  _cdr: ChangeDetectorRef;
138
140
  _isInited: boolean;
139
141
  _isRendered: boolean;
@@ -182,6 +184,7 @@ export declare class AXColorPickerComponent extends AXBaseColorPickerMixin {
182
184
  _handleValueChangedEvent(e: AXValueChangedEvent<any>): void;
183
185
  _handlePopupOnOpened(e: any): Promise<void>;
184
186
  _handlePopupOnClosed(e: any): void;
187
+ _handleKeydown(e: KeyboardEvent): void;
185
188
  static ɵfac: i0.ɵɵFactoryDeclaration<AXColorPickerComponent, never>;
186
- static ɵcmp: i0.ɵɵComponentDeclaration<AXColorPickerComponent, "ax-color-picker", never, { "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"; "type": "type"; "autoComplete": "autoComplete"; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; }, never, ["ax-prefix", "ax-validation-rule", "ax-suffix"], false, never>;
189
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXColorPickerComponent, "ax-color-picker", never, { "isOpen": "isOpen"; "fitParent": "fitParent"; "dropdownWidth": "dropdownWidth"; "position": "position"; "disabled": "disabled"; "tabIndex": "tabIndex"; "allowNull": "allowNull"; "value": "value"; "name": "name"; "placeholder": "placeholder"; "maxLength": "maxLength"; "type": "type"; "autoComplete": "autoComplete"; "readonly": "readonly"; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; }, never, ["ax-prefix", "ax-validation-rule", "ax-suffix"], false, never>;
187
190
  }
@@ -5,9 +5,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
5
5
  import { AXComponentOptionChanged } from '@acorex/components/mixin';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
8
- "__#35251@#disabled": boolean;
8
+ "__#35201@#disabled": boolean;
9
9
  disabled: boolean;
10
- "__#35251@#tabIndex": number;
10
+ "__#35201@#tabIndex": number;
11
11
  tabIndex: number;
12
12
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
13
13
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -16,9 +16,9 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
16
16
  focus(): void;
17
17
  hasFocus(): boolean;
18
18
  id: string;
19
- "__#35248@#rtl": boolean;
19
+ "__#35198@#rtl": boolean;
20
20
  rtl: boolean;
21
- "__#35248@#elementRef": ElementRef<any>;
21
+ "__#35198@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -52,9 +52,9 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
52
52
  open(): void;
53
53
  readonly isOpen: boolean;
54
54
  id: string;
55
- "__#35248@#rtl": boolean;
55
+ "__#35198@#rtl": boolean;
56
56
  rtl: boolean;
57
- "__#35248@#elementRef": ElementRef<any>;
57
+ "__#35198@#elementRef": ElementRef<any>;
58
58
  _cdr: ChangeDetectorRef;
59
59
  _isInited: boolean;
60
60
  _isRendered: boolean;
@@ -74,17 +74,17 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
74
74
  }) & (new (...args: any[]) => {
75
75
  onValueChanged: EventEmitter<import("@acorex/components/common").AXValueChangedEvent<any>>;
76
76
  valueChange: EventEmitter<any>;
77
- "__#35252@#readonly": boolean;
77
+ "__#35202@#readonly": boolean;
78
78
  readonly: boolean;
79
- "__#35252@#allowNull": boolean;
79
+ "__#35202@#allowNull": boolean;
80
80
  allowNull: boolean;
81
- "__#35252@#name": string;
81
+ "__#35202@#name": string;
82
82
  name: string;
83
- "__#35252@#isUserInteraction": boolean;
83
+ "__#35202@#isUserInteraction": boolean;
84
84
  readonly isUserInteraction: boolean;
85
- "__#35252@#value": any;
85
+ "__#35202@#value": any;
86
86
  value: any;
87
- "__#35252@#state": "error" | "clear" | "success";
87
+ "__#35202@#state": "error" | "clear" | "success";
88
88
  readonly state: "error" | "clear" | "success";
89
89
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
90
90
  _internalSetValue(value: any): any;
@@ -99,9 +99,9 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
99
99
  validate(): Promise<any>;
100
100
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
101
101
  id: string;
102
- "__#35248@#rtl": boolean;
102
+ "__#35198@#rtl": boolean;
103
103
  rtl: boolean;
104
- "__#35248@#elementRef": ElementRef<any>;
104
+ "__#35198@#elementRef": ElementRef<any>;
105
105
  _cdr: ChangeDetectorRef;
106
106
  _isInited: boolean;
107
107
  _isRendered: boolean;
@@ -1,5 +1,5 @@
1
1
  import { AXColorUtil } from '@acorex/core/utils';
2
- import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostListener, ViewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { AXClosbaleComponent, } from '@acorex/components/common';
4
4
  import { AXPopoverComponent } from '@acorex/components/popover';
5
5
  import { _InteractiveComponenetMixin, _DropdownComponenetMixin, _ValueComponenetMixin, _TextboxComponenetMixin, AXBaseComponent, } from '@acorex/components/mixin';
@@ -67,11 +67,17 @@ export class AXColorPickerComponent extends AXBaseColorPickerMixin {
67
67
  _handlePopupOnClosed(e) {
68
68
  this.focus();
69
69
  }
70
+ _handleKeydown(e) {
71
+ if (e.ctrlKey || e.code === 'Space') {
72
+ this.open();
73
+ }
74
+ e.preventDefault();
75
+ }
70
76
  }
71
77
  AXColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
72
- AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", 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", 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: [
78
+ AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXColorPickerComponent, selector: "ax-color-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", allowNull: "allowNull", value: "value", name: "name", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", readonly: "readonly" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, classAttribute: "ax-editor-container ax-drop-down" }, providers: [
73
79
  { provide: AXClosbaleComponent, useExisting: AXColorPickerComponent },
74
- ], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n *ngIf=\"value\"\r\n class=\"color-badge\"\r\n [ngStyle]=\"{ 'background-color': value }\"></div>\r\n <div class=\"ax-uppercase\">{{ _colorCode }}</div>\r\n</div>\r\n\r\n<button\r\n class=\"ax-editor-control\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"disabled\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <span class=\"ax-icon ax-icon-color-palette\"></span>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n [class.ax-w-full]=\"_isMobile\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette\r\n [value]=\"value\"\r\n (onValueChanged)=\"_handleValueChangedEvent($event)\"\r\n [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-color-picker .ax-dropdown-content{margin:0 .5rem;display:flex;align-items:center}ax-color-picker .ax-dropdown-content .color-badge{display:block;border-radius:99rem;width:1rem;min-width:1rem;height:1rem;margin-inline-end:.5rem;border:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-overlay-pane ax-color-palette{border:none}@media (max-width: 599px){.ax-overlay-pane ax-color-palette{width:100%}.ax-overlay-pane ax-color-palette .palette-items{max-height:30vh}}\n"], 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.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.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 });
80
+ ], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n *ngIf=\"value\"\r\n [tabindex]=\"tabIndex\"\r\n class=\"color-badge\"\r\n [ngStyle]=\"{ 'background-color': value }\"></div>\r\n <div>{{ _colorCode }}</div>\r\n</div>\r\n\r\n<button\r\n class=\"ax-editor-control\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"disabled\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <span class=\"ax-icon ax-icon-color-palette\"></span>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n [class.ax-w-full]=\"_isMobile\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette\r\n [value]=\"value\"\r\n (onValueChanged)=\"_handleValueChangedEvent($event)\"\r\n [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-color-picker .ax-dropdown-content{margin:0 .5rem;display:flex;align-items:center}ax-color-picker .ax-dropdown-content .color-badge{display:block;border-radius:99rem;width:1rem;min-width:1rem;height:1rem;margin-inline-end:.5rem;border:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-overlay-pane ax-color-palette{border:none}@media (max-width: 599px){.ax-overlay-pane ax-color-palette{width:100%}.ax-overlay-pane ax-color-palette .palette-items{max-height:30vh}}\n"], 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.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.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 });
75
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXColorPickerComponent, decorators: [{
76
82
  type: Component,
77
83
  args: [{ selector: 'ax-color-picker', inputs: [
@@ -81,22 +87,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
81
87
  'position',
82
88
  'disabled',
83
89
  'tabIndex',
84
- 'readonly',
85
90
  'allowNull',
86
91
  'value',
87
92
  'name',
88
- 'checked',
89
93
  'placeholder',
90
94
  'maxLength',
91
- 'allowNull',
92
95
  'type',
93
96
  'autoComplete',
94
97
  'readonly',
95
- 'allowNull',
96
- 'value',
97
- 'name',
98
- 'checked',
99
- 'tabIndex',
100
98
  ], outputs: [
101
99
  'onOpened',
102
100
  'onClosed',
@@ -106,9 +104,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
106
104
  'onValueChanged',
107
105
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
108
106
  { provide: AXClosbaleComponent, useExisting: AXColorPickerComponent },
109
- ], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n *ngIf=\"value\"\r\n class=\"color-badge\"\r\n [ngStyle]=\"{ 'background-color': value }\"></div>\r\n <div class=\"ax-uppercase\">{{ _colorCode }}</div>\r\n</div>\r\n\r\n<button\r\n class=\"ax-editor-control\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"disabled\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <span class=\"ax-icon ax-icon-color-palette\"></span>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n [class.ax-w-full]=\"_isMobile\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette\r\n [value]=\"value\"\r\n (onValueChanged)=\"_handleValueChangedEvent($event)\"\r\n [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-color-picker .ax-dropdown-content{margin:0 .5rem;display:flex;align-items:center}ax-color-picker .ax-dropdown-content .color-badge{display:block;border-radius:99rem;width:1rem;min-width:1rem;height:1rem;margin-inline-end:.5rem;border:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-overlay-pane ax-color-palette{border:none}@media (max-width: 599px){.ax-overlay-pane ax-color-palette{width:100%}.ax-overlay-pane ax-color-palette .palette-items{max-height:30vh}}\n"] }]
107
+ ], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\r\n<div\r\n class=\"ax-dropdown-content\"\r\n [class.ax-state-disabled]=\"disabled\"\r\n (click)=\"_handleInputClickEvent($event)\">\r\n <div\r\n *ngIf=\"value\"\r\n [tabindex]=\"tabIndex\"\r\n class=\"color-badge\"\r\n [ngStyle]=\"{ 'background-color': value }\"></div>\r\n <div>{{ _colorCode }}</div>\r\n</div>\r\n\r\n<button\r\n class=\"ax-editor-control\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"disabled\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <span class=\"ax-icon ax-icon-color-palette\"></span>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n<ng-content select=\"ax-suffix\"> </ng-content>\r\n<ax-popover\r\n [target]=\"_target\"\r\n [position]=\"position\"\r\n [openTrigger]=\"'manual'\"\r\n [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"_handlePopupOnOpened($event)\"\r\n (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div\r\n class=\"ax-overlay-pane\"\r\n [class.ax-w-full]=\"_isMobile\"\r\n tabindex=\"0\"\r\n aria-modal=\"true\"\r\n cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette\r\n [value]=\"value\"\r\n (onValueChanged)=\"_handleValueChangedEvent($event)\"\r\n [(colorMode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>\r\n", styles: ["ax-color-picker .ax-dropdown-content{margin:0 .5rem;display:flex;align-items:center}ax-color-picker .ax-dropdown-content .color-badge{display:block;border-radius:99rem;width:1rem;min-width:1rem;height:1rem;margin-inline-end:.5rem;border:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-overlay-pane ax-color-palette{border:none}@media (max-width: 599px){.ax-overlay-pane ax-color-palette{width:100%}.ax-overlay-pane ax-color-palette .palette-items{max-height:30vh}}\n"] }]
110
108
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
111
109
  type: ViewChild,
112
110
  args: [AXPopoverComponent, { static: true }]
111
+ }], _handleKeydown: [{
112
+ type: HostListener,
113
+ args: ['keydown', ['$event']]
113
114
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9zcmMvY29sb3ItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9zcmMvY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGVBQWUsR0FDaEIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUVsQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRywyQkFBMkIsQ0FDL0Qsd0JBQXdCLENBQ3RCLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQ2hFLENBQ0YsQ0FBQztBQUVGOzs7O0dBSUc7QUE0Q0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHNCQUFzQjtJQVdoRTs7T0FFRztJQUNILFlBQ1ksV0FBdUMsRUFDakQsSUFBdUIsRUFDZixLQUFhLEVBQ2IsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUxmLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUV6QyxVQUFLLEdBQUws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cEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHdCQUF3QixFQUFFO3FCQUN0RSxRQUNLLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFOytLQUluRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb2xvck1vZGUsIEFYQ29sb3JVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE5nWm9uZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEFYQ2xvc2JhbGVDb21wb25lbnQsXHJcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xyXG5pbXBvcnQge1xyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbixcclxuICBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4sXHJcbiAgX1ZhbHVlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9UZXh0Ym94Q29tcG9uZW5ldE1peGluLFxyXG4gIEFYQmFzZUNvbXBvbmVudCxcclxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZUNvbG9yUGlja2VyTWl4aW4gPSBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKFxyXG4gICAgX1ZhbHVlQ29tcG9uZW5ldE1peGluKF9UZXh0Ym94Q29tcG9uZW5ldE1peGluKEFYQmFzZUNvbXBvbmVudCkpXHJcbiAgKVxyXG4pO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2xvci1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICdpc09wZW4nLFxyXG4gICAgJ2ZpdFBhcmVudCcsXHJcbiAgICAnZHJvcGRvd25XaWR0aCcsXHJcbiAgICAncG9zaXRpb24nLFxyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAncmVhZG9ubHknLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndmFsdWUnLFxyXG4gICAgJ25hbWUnLFxyXG4gICAgJ2NoZWNrZWQnLFxyXG4gICAgJ3BsYWNlaG9sZGVyJyxcclxuICAgICdtYXhMZW5ndGgnLFxyXG4gICAgJ2FsbG93TnVsbCcsXHJcbiAgICAndHlwZScsXHJcbiAgICAnYXV0b0NvbXBsZXRlJyxcclxuICAgICdyZWFkb25seScsXHJcbiAgICAnYWxsb3dOdWxsJyxcclxuICAgICd2YWx1ZScsXHJcbiAgICAnbmFtZScsXHJcbiAgICAnY2hlY2tlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogW1xyXG4gICAgJ29uT3BlbmVkJyxcclxuICAgICdvbkNsb3NlZCcsXHJcbiAgICAnb25CbHVyJyxcclxuICAgICdvbkZvY3VzJyxcclxuICAgICd2YWx1ZUNoYW5nZScsXHJcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQaWNrZXJDb21wb25lbnQgfSxcclxuICBdLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb2xvclBpY2tlck1peGluIHtcclxuICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG4gIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIF9wb3BvdmVyVGl0bGU6IHN0cmluZztcclxuICBfcG9wb3ZlcldpZHRoOiBudW1iZXI7XHJcbiAgX2NvbG9yQ29kZTogc3RyaW5nO1xyXG4gIF9tb2RlOiBBWENvbG9yTW9kZSA9ICdoZXgnO1xyXG5cclxuICBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiAgQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgdGhpcy5fcGxhdGZvcm0ucmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICB0aGlzLnBvcG92ZXIuZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUlucHV0Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVDbGVhckNsaWNrRXZlbnQoKSB7XHJcbiAgICB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIG9uSW5pdCgpIHtcclxuICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgdGhpcy5fdGFyZ2V0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgb25WaWV3SW5pdCgpIHtcclxuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KSB7XHJcbiAgICBzdXBlci5fb25WYWx1ZUNoYW5nZWQob2xkVmFsdWUsIG5ld1ZhbHVlKTtcclxuICAgIGlmIChuZXdWYWx1ZSAhPSBudWxsKVxyXG4gICAgICB0aGlzLl9jb2xvckNvZGUgPSBBWENvbG9yVXRpbC50b1N0cmluZyhuZXdWYWx1ZSwgdGhpcy5fbW9kZSk7XHJcbiAgICBlbHNlIHRoaXMuX2NvbG9yQ29kZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVZhbHVlQ2hhbmdlZEV2ZW50KGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pikge1xyXG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHRoaXMuX3NldFVzZXJJbnRlcmFjdGlvbigpO1xyXG4gICAgdGhpcy52YWx1ZSA9IGUudmFsdWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBfaGFuZGxlUG9wdXBPbk9wZW5lZChlKSB7fVxyXG5cclxuICBfaGFuZGxlUG9wdXBPbkNsb3NlZChlKSB7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XHJcbjxkaXZcclxuICBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIlxyXG4gIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgKGNsaWNrKT1cIl9oYW5kbGVJbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwidmFsdWVcIlxyXG4gICAgY2xhc3M9XCJjb2xvci1iYWRnZVwiXHJcbiAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogdmFsdWUgfVwiPjwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJheC11cHBlcmNhc2VcIj57eyBfY29sb3JDb2RlIH19PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGJ1dHRvblxyXG4gIGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRyb2xcIlxyXG4gIFt0YWJJbmRleF09XCItMVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAoY2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY29sb3ItcGFsZXR0ZVwiPjwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XHJcbjxheC1wb3BvdmVyXHJcbiAgW3RhcmdldF09XCJfdGFyZ2V0XCJcclxuICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxyXG4gIFtvcGVuVHJpZ2dlcl09XCInbWFudWFsJ1wiXHJcbiAgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCJcclxuICBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgKG9uT3BlbmVkKT1cIl9oYW5kbGVQb3B1cE9uT3BlbmVkKCRldmVudClcIlxyXG4gIChvbkNsb3NlZCk9XCJfaGFuZGxlUG9wdXBPbkNsb3NlZCgkZXZlbnQpXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIlxyXG4gICAgW2NsYXNzLmF4LXctZnVsbF09XCJfaXNNb2JpbGVcIlxyXG4gICAgdGFiaW5kZXg9XCIwXCJcclxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcclxuICAgIGNka1RyYXBGb2N1c1xyXG4gICAgW2NsYXNzLmF4LW92ZXJsYXktYWN0aW9uc2hlZXRdPVwiX2lzTW9iaWxlXCI+XHJcbiAgICA8YXgtY29sb3ItcGFsZXR0ZVxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVZhbHVlQ2hhbmdlZEV2ZW50KCRldmVudClcIlxyXG4gICAgICBbKGNvbG9yTW9kZSldPVwiX21vZGVcIj5cclxuICAgIDwvYXgtY29sb3ItcGFsZXR0ZT5cclxuICA8L2Rpdj5cclxuPC9heC1wb3BvdmVyPlxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9zcmMvY29sb3ItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9zcmMvY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBRVosU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsbUJBQW1CLEdBRXBCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFbEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsMkJBQTJCLENBQy9ELHdCQUF3QixDQUN0QixxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUNoRSxDQUNGLENBQUM7QUFFRjs7OztHQUlHO0FBb0NILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFXaEU7O09BRUc7SUFDSCxZQUNZLFdBQXVDLEVBQ2pELElBQXVCLEVBQ2YsS0FBYSxFQUNiLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMZixnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFFekMs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O3dCQUNWLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHdCQUF3QixFQUFFO3FCQUN0RSxRQUNLLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFOytLQUluRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXNFL0MsY0FBYztzQkFEYixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JNb2RlLCBBWENvbG9yVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5cclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgTmdab25lLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQVhDbG9zYmFsZUNvbXBvbmVudCxcclxuICBBWFZhbHVlQ2hhbmdlZEV2ZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XHJcbmltcG9ydCB7XHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluLFxyXG4gIF9Ecm9wZG93bkNvbXBvbmVuZXRNaXhpbixcclxuICBfVmFsdWVDb21wb25lbmV0TWl4aW4sXHJcbiAgX1RleHRib3hDb21wb25lbmV0TWl4aW4sXHJcbiAgQVhCYXNlQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlQ29sb3JQaWNrZXJNaXhpbiA9IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4oXHJcbiAgICBfVmFsdWVDb21wb25lbmV0TWl4aW4oX1RleHRib3hDb21wb25lbmV0TWl4aW4oQVhCYXNlQ29tcG9uZW50KSlcclxuICApXHJcbik7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2lzT3BlbicsXHJcbiAgICAnZml0UGFyZW50JyxcclxuICAgICdkcm9wZG93bldpZHRoJyxcclxuICAgICdwb3NpdGlvbicsXHJcbiAgICAnZGlzYWJsZWQnLFxyXG4gICAgJ3RhYkluZGV4JyxcclxuICAgICdhbGxvd051bGwnLFxyXG4gICAgJ3ZhbHVlJyxcclxuICAgICduYW1lJyxcclxuICAgICdwbGFjZWhvbGRlcicsXHJcbiAgICAnbWF4TGVuZ3RoJyxcclxuICAgICd0eXBlJyxcclxuICAgICdhdXRvQ29tcGxldGUnLFxyXG4gICAgJ3JlYWRvbmx5JyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFtcclxuICAgICdvbk9wZW5lZCcsXHJcbiAgICAnb25DbG9zZWQnLFxyXG4gICAgJ29uQmx1cicsXHJcbiAgICAnb25Gb2N1cycsXHJcbiAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENvbG9yUGlja2VyQ29tcG9uZW50IH0sXHJcbiAgXSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29sb3JQaWNrZXJNaXhpbiB7XHJcbiAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICBfdGFyZ2V0OiBIVE1MRGl2RWxlbWVudDtcclxuICBfcG9wb3ZlclRpdGxlOiBzdHJpbmc7XHJcbiAgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xyXG4gIF9jb2xvckNvZGU6IHN0cmluZztcclxuICBfbW9kZTogQVhDb2xvck1vZGUgPSAnaGV4JztcclxuXHJcbiAgX2lzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICAgICAgdGhpcy5wb3BvdmVyLmRpc3Bvc2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUFycm93Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQ2xlYXJDbGlja0V2ZW50KCkge1xyXG4gICAgdGhpcy5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICB0aGlzLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIG9uVmlld0luaXQoKSB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSkge1xyXG4gICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgICBpZiAobmV3VmFsdWUgIT0gbnVsbClcclxuICAgICAgdGhpcy5fY29sb3JDb2RlID0gQVhDb2xvclV0aWwudG9TdHJpbmcobmV3VmFsdWUsIHRoaXMuX21vZGUpO1xyXG4gICAgZWxzZSB0aGlzLl9jb2xvckNvZGUgPSAnJztcclxuICB9XHJcblxyXG4gIF9oYW5kbGVWYWx1ZUNoYW5nZWRFdmVudChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4pIHtcclxuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB0aGlzLl9zZXRVc2VySW50ZXJhY3Rpb24oKTtcclxuICAgIHRoaXMudmFsdWUgPSBlLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgX2hhbmRsZVBvcHVwT25PcGVuZWQoZSkge31cclxuXHJcbiAgX2hhbmRsZVBvcHVwT25DbG9zZWQoZSkge1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgX2hhbmRsZUtleWRvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGUuY3RybEtleSB8fCBlLmNvZGUgPT09ICdTcGFjZScpIHtcclxuICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICB9XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XHJcbjxkaXZcclxuICBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIlxyXG4gIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgKGNsaWNrKT1cIl9oYW5kbGVJbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwidmFsdWVcIlxyXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuICAgIGNsYXNzPVwiY29sb3ItYmFkZ2VcIlxyXG4gICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IHZhbHVlIH1cIj48L2Rpdj5cclxuICA8ZGl2Pnt7IF9jb2xvckNvZGUgfX08L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48YnV0dG9uXHJcbiAgY2xhc3M9XCJheC1lZGl0b3ItY29udHJvbFwiXHJcbiAgW3RhYkluZGV4XT1cIi0xXCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIChjbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KCRldmVudClcIj5cclxuICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jb2xvci1wYWxldHRlXCI+PC9zcGFuPlxyXG48L2J1dHRvbj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cclxuPGF4LXBvcG92ZXJcclxuICBbdGFyZ2V0XT1cIl90YXJnZXRcIlxyXG4gIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXHJcbiAgW29wZW5UcmlnZ2VyXT1cIidtYW51YWwnXCJcclxuICBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIlxyXG4gIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcclxuICAob25PcGVuZWQpPVwiX2hhbmRsZVBvcHVwT25PcGVuZWQoJGV2ZW50KVwiXHJcbiAgKG9uQ2xvc2VkKT1cIl9oYW5kbGVQb3B1cE9uQ2xvc2VkKCRldmVudClcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiXHJcbiAgICBbY2xhc3MuYXgtdy1mdWxsXT1cIl9pc01vYmlsZVwiXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxyXG4gICAgY2RrVHJhcEZvY3VzXHJcbiAgICBbY2xhc3MuYXgtb3ZlcmxheS1hY3Rpb25zaGVldF09XCJfaXNNb2JpbGVcIj5cclxuICAgIDxheC1jb2xvci1wYWxldHRlXHJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlVmFsdWVDaGFuZ2VkRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgIFsoY29sb3JNb2RlKV09XCJfbW9kZVwiPlxyXG4gICAgPC9heC1jb2xvci1wYWxldHRlPlxyXG4gIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+XHJcbiJdfQ==