@haiilo/catalyst-angular 13.5.1-beta → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/fesm2022/haiilo-catalyst-angular.mjs +1942 -0
  2. package/fesm2022/haiilo-catalyst-angular.mjs.map +1 -0
  3. package/package.json +9 -17
  4. package/types/haiilo-catalyst-angular.d.ts +802 -0
  5. package/esm2020/haiilo-catalyst-angular.mjs +0 -5
  6. package/esm2020/lib/catalyst.module.mjs +0 -118
  7. package/esm2020/lib/datetime/datetime.component.mjs +0 -137
  8. package/esm2020/lib/dialog/dialog-actions.component.mjs +0 -27
  9. package/esm2020/lib/dialog/dialog-header.component.mjs +0 -43
  10. package/esm2020/lib/dialog/dialog.component.mjs +0 -60
  11. package/esm2020/lib/dialog/dialog.service.mjs +0 -68
  12. package/esm2020/lib/directives/angular-component-lib/utils.mjs +0 -59
  13. package/esm2020/lib/directives/boolean-value-accessor.mjs +0 -38
  14. package/esm2020/lib/directives/date-value-accessor.mjs +0 -90
  15. package/esm2020/lib/directives/proxies.mjs +0 -786
  16. package/esm2020/lib/directives/radio-value-accessor.mjs +0 -35
  17. package/esm2020/lib/directives/select-value-accessor-decorator.mjs +0 -24
  18. package/esm2020/lib/directives/select-value-accessor.mjs +0 -35
  19. package/esm2020/lib/directives/text-value-accessor.mjs +0 -35
  20. package/esm2020/lib/directives/time-value-accessor.mjs +0 -73
  21. package/esm2020/lib/directives/value-accessor-decorator.mjs +0 -55
  22. package/esm2020/lib/directives/value-accessor.mjs +0 -40
  23. package/esm2020/lib/injection-token.mjs +0 -21
  24. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -34
  25. package/esm2020/public-api.mjs +0 -19
  26. package/fesm2015/haiilo-catalyst-angular.mjs +0 -1700
  27. package/fesm2015/haiilo-catalyst-angular.mjs.map +0 -1
  28. package/fesm2020/haiilo-catalyst-angular.mjs +0 -1679
  29. package/fesm2020/haiilo-catalyst-angular.mjs.map +0 -1
  30. package/index.d.ts +0 -5
  31. package/lib/catalyst.module.d.ts +0 -24
  32. package/lib/datetime/datetime.component.d.ts +0 -29
  33. package/lib/dialog/dialog-actions.component.d.ts +0 -12
  34. package/lib/dialog/dialog-header.component.d.ts +0 -29
  35. package/lib/dialog/dialog.component.d.ts +0 -35
  36. package/lib/dialog/dialog.service.d.ts +0 -49
  37. package/lib/directives/angular-component-lib/utils.d.ts +0 -9
  38. package/lib/directives/boolean-value-accessor.d.ts +0 -9
  39. package/lib/directives/date-value-accessor.d.ts +0 -17
  40. package/lib/directives/proxies.d.ts +0 -477
  41. package/lib/directives/radio-value-accessor.d.ts +0 -8
  42. package/lib/directives/select-value-accessor-decorator.d.ts +0 -14
  43. package/lib/directives/select-value-accessor.d.ts +0 -8
  44. package/lib/directives/text-value-accessor.d.ts +0 -8
  45. package/lib/directives/time-value-accessor.d.ts +0 -15
  46. package/lib/directives/value-accessor-decorator.d.ts +0 -18
  47. package/lib/directives/value-accessor.d.ts +0 -18
  48. package/lib/injection-token.d.ts +0 -7
  49. package/lib/tooltip/tooltip.directive.d.ts +0 -16
  50. package/public-api.d.ts +0 -18
@@ -1,786 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /* tslint:disable */
3
- /* auto-generated angular directive proxies */
4
- import { ChangeDetectionStrategy, Component } from '@angular/core';
5
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
- import * as i0 from "@angular/core";
7
- let CatAlert = class CatAlert {
8
- constructor(c, r, z) {
9
- this.z = z;
10
- c.detach();
11
- this.el = r.nativeElement;
12
- }
13
- };
14
- CatAlert.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
15
- CatAlert.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatAlert, selector: "cat-alert", inputs: { color: "color", icon: "icon", noIcon: "noIcon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
- CatAlert = __decorate([
17
- ProxyCmp({
18
- inputs: ['color', 'icon', 'noIcon']
19
- })
20
- ], CatAlert);
21
- export { CatAlert };
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatAlert, decorators: [{
23
- type: Component,
24
- args: [{
25
- selector: 'cat-alert',
26
- changeDetection: ChangeDetectionStrategy.OnPush,
27
- template: '<ng-content></ng-content>',
28
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
29
- inputs: ['color', 'icon', 'noIcon'],
30
- }]
31
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
32
- let CatAvatar = class CatAvatar {
33
- constructor(c, r, z) {
34
- this.z = z;
35
- c.detach();
36
- this.el = r.nativeElement;
37
- }
38
- };
39
- CatAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
40
- CatAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatAvatar, selector: "cat-avatar", inputs: { icon: "icon", initials: "initials", label: "label", round: "round", size: "size", src: "src", url: "url", urlTarget: "urlTarget" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
- CatAvatar = __decorate([
42
- ProxyCmp({
43
- inputs: ['icon', 'initials', 'label', 'round', 'size', 'src', 'url', 'urlTarget']
44
- })
45
- ], CatAvatar);
46
- export { CatAvatar };
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatAvatar, decorators: [{
48
- type: Component,
49
- args: [{
50
- selector: 'cat-avatar',
51
- changeDetection: ChangeDetectionStrategy.OnPush,
52
- template: '<ng-content></ng-content>',
53
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
54
- inputs: ['icon', 'initials', 'label', 'round', 'size', 'src', 'url', 'urlTarget'],
55
- }]
56
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
57
- let CatBadge = class CatBadge {
58
- constructor(c, r, z) {
59
- this.z = z;
60
- c.detach();
61
- this.el = r.nativeElement;
62
- }
63
- };
64
- CatBadge.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
65
- CatBadge.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatBadge, selector: "cat-badge", inputs: { color: "color", icon: "icon", iconOnly: "iconOnly", iconRight: "iconRight", pulse: "pulse", round: "round", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
- CatBadge = __decorate([
67
- ProxyCmp({
68
- inputs: ['color', 'icon', 'iconOnly', 'iconRight', 'pulse', 'round', 'size', 'variant']
69
- })
70
- ], CatBadge);
71
- export { CatBadge };
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatBadge, decorators: [{
73
- type: Component,
74
- args: [{
75
- selector: 'cat-badge',
76
- changeDetection: ChangeDetectionStrategy.OnPush,
77
- template: '<ng-content></ng-content>',
78
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
79
- inputs: ['color', 'icon', 'iconOnly', 'iconRight', 'pulse', 'round', 'size', 'variant'],
80
- }]
81
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
82
- let CatButton = class CatButton {
83
- constructor(c, r, z) {
84
- this.z = z;
85
- c.detach();
86
- this.el = r.nativeElement;
87
- proxyOutputs(this, this.el, ['catClick', 'catFocus', 'catBlur']);
88
- }
89
- };
90
- CatButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
91
- CatButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatButton, selector: "cat-button", inputs: { a11yCurrent: "a11yCurrent", a11yLabel: "a11yLabel", active: "active", buttonGroupPosition: "buttonGroupPosition", buttonId: "buttonId", color: "color", disabled: "disabled", icon: "icon", iconOnly: "iconOnly", iconRight: "iconRight", loading: "loading", name: "name", nativeAttributes: "nativeAttributes", nativeContentAttributes: "nativeContentAttributes", noEllipsis: "noEllipsis", round: "round", size: "size", submit: "submit", testId: "testId", url: "url", urlTarget: "urlTarget", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
- CatButton = __decorate([
93
- ProxyCmp({
94
- inputs: ['a11yCurrent', 'a11yLabel', 'active', 'buttonGroupPosition', 'buttonId', 'color', 'disabled', 'icon', 'iconOnly', 'iconRight', 'loading', 'name', 'nativeAttributes', 'nativeContentAttributes', 'noEllipsis', 'round', 'size', 'submit', 'testId', 'url', 'urlTarget', 'value', 'variant'],
95
- methods: ['doFocus', 'doBlur', 'doClick']
96
- })
97
- ], CatButton);
98
- export { CatButton };
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatButton, decorators: [{
100
- type: Component,
101
- args: [{
102
- selector: 'cat-button',
103
- changeDetection: ChangeDetectionStrategy.OnPush,
104
- template: '<ng-content></ng-content>',
105
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
106
- inputs: ['a11yCurrent', 'a11yLabel', 'active', 'buttonGroupPosition', 'buttonId', 'color', 'disabled', 'icon', 'iconOnly', 'iconRight', 'loading', 'name', 'nativeAttributes', 'nativeContentAttributes', 'noEllipsis', 'round', 'size', 'submit', 'testId', 'url', 'urlTarget', 'value', 'variant'],
107
- }]
108
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
109
- let CatButtonGroup = class CatButtonGroup {
110
- constructor(c, r, z) {
111
- this.z = z;
112
- c.detach();
113
- this.el = r.nativeElement;
114
- }
115
- };
116
- CatButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatButtonGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
117
- CatButtonGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatButtonGroup, selector: "cat-button-group", inputs: { a11yLabel: "a11yLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
118
- CatButtonGroup = __decorate([
119
- ProxyCmp({
120
- inputs: ['a11yLabel']
121
- })
122
- ], CatButtonGroup);
123
- export { CatButtonGroup };
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatButtonGroup, decorators: [{
125
- type: Component,
126
- args: [{
127
- selector: 'cat-button-group',
128
- changeDetection: ChangeDetectionStrategy.OnPush,
129
- template: '<ng-content></ng-content>',
130
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
131
- inputs: ['a11yLabel'],
132
- }]
133
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
134
- let CatCard = class CatCard {
135
- constructor(c, r, z) {
136
- this.z = z;
137
- c.detach();
138
- this.el = r.nativeElement;
139
- proxyOutputs(this, this.el, ['catLoad']);
140
- }
141
- };
142
- CatCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
143
- CatCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatCard, selector: "cat-card", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
- CatCard = __decorate([
145
- ProxyCmp({})
146
- ], CatCard);
147
- export { CatCard };
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatCard, decorators: [{
149
- type: Component,
150
- args: [{
151
- selector: 'cat-card',
152
- changeDetection: ChangeDetectionStrategy.OnPush,
153
- template: '<ng-content></ng-content>',
154
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
155
- inputs: [],
156
- }]
157
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
158
- let CatCheckbox = class CatCheckbox {
159
- constructor(c, r, z) {
160
- this.z = z;
161
- c.detach();
162
- this.el = r.nativeElement;
163
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
164
- }
165
- };
166
- CatCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
167
- CatCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatCheckbox, selector: "cat-checkbox", inputs: { alignment: "alignment", checked: "checked", disabled: "disabled", hint: "hint", identifier: "identifier", indeterminate: "indeterminate", label: "label", labelHidden: "labelHidden", labelLeft: "labelLeft", name: "name", nativeAttributes: "nativeAttributes", noValue: "noValue", required: "required", requiredMarker: "requiredMarker", resolvedValue: "resolvedValue", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
- CatCheckbox = __decorate([
169
- ProxyCmp({
170
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'indeterminate', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'noValue', 'required', 'requiredMarker', 'resolvedValue', 'testId', 'value'],
171
- methods: ['doFocus', 'doBlur']
172
- })
173
- ], CatCheckbox);
174
- export { CatCheckbox };
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatCheckbox, decorators: [{
176
- type: Component,
177
- args: [{
178
- selector: 'cat-checkbox',
179
- changeDetection: ChangeDetectionStrategy.OnPush,
180
- template: '<ng-content></ng-content>',
181
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
182
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'indeterminate', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'noValue', 'required', 'requiredMarker', 'resolvedValue', 'testId', 'value'],
183
- }]
184
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
185
- let CatDate = class CatDate {
186
- constructor(c, r, z) {
187
- this.z = z;
188
- c.detach();
189
- this.el = r.nativeElement;
190
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
191
- }
192
- };
193
- CatDate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDate, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
194
- CatDate.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatDate, selector: "cat-date", inputs: { autoComplete: "autoComplete", clearable: "clearable", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", icon: "icon", iconRight: "iconRight", identifier: "identifier", label: "label", labelHidden: "labelHidden", max: "max", min: "min", name: "name", nativeAttributes: "nativeAttributes", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", requiredMarker: "requiredMarker", testId: "testId", textPrefix: "textPrefix", textSuffix: "textSuffix", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
- CatDate = __decorate([
196
- ProxyCmp({
197
- inputs: ['autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'name', 'nativeAttributes', 'placeholder', 'placement', 'readonly', 'required', 'requiredMarker', 'testId', 'textPrefix', 'textSuffix', 'value'],
198
- methods: ['doFocus', 'doBlur', 'clear']
199
- })
200
- ], CatDate);
201
- export { CatDate };
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDate, decorators: [{
203
- type: Component,
204
- args: [{
205
- selector: 'cat-date',
206
- changeDetection: ChangeDetectionStrategy.OnPush,
207
- template: '<ng-content></ng-content>',
208
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
209
- inputs: ['autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'name', 'nativeAttributes', 'placeholder', 'placement', 'readonly', 'required', 'requiredMarker', 'testId', 'textPrefix', 'textSuffix', 'value'],
210
- }]
211
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
212
- let CatDateInline = class CatDateInline {
213
- constructor(c, r, z) {
214
- this.z = z;
215
- c.detach();
216
- this.el = r.nativeElement;
217
- proxyOutputs(this, this.el, ['catChange']);
218
- }
219
- };
220
- CatDateInline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDateInline, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
221
- CatDateInline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatDateInline, selector: "cat-date-inline", inputs: { a11yLabel: "a11yLabel", hint: "hint", identifier: "identifier", label: "label", labelHidden: "labelHidden", max: "max", min: "min", noClear: "noClear", noToday: "noToday", range: "range", required: "required", requiredMarker: "requiredMarker", value: "value", weeks: "weeks" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
222
- CatDateInline = __decorate([
223
- ProxyCmp({
224
- inputs: ['a11yLabel', 'hint', 'identifier', 'label', 'labelHidden', 'max', 'min', 'noClear', 'noToday', 'range', 'required', 'requiredMarker', 'value', 'weeks'],
225
- methods: ['select', 'clear', 'resetView', 'doFocus']
226
- })
227
- ], CatDateInline);
228
- export { CatDateInline };
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDateInline, decorators: [{
230
- type: Component,
231
- args: [{
232
- selector: 'cat-date-inline',
233
- changeDetection: ChangeDetectionStrategy.OnPush,
234
- template: '<ng-content></ng-content>',
235
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
236
- inputs: ['a11yLabel', 'hint', 'identifier', 'label', 'labelHidden', 'max', 'min', 'noClear', 'noToday', 'range', 'required', 'requiredMarker', 'value', 'weeks'],
237
- }]
238
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
239
- let CatDatepicker = class CatDatepicker {
240
- constructor(c, r, z) {
241
- this.z = z;
242
- c.detach();
243
- this.el = r.nativeElement;
244
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
245
- }
246
- };
247
- CatDatepicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDatepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
248
- CatDatepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatDatepicker, selector: "cat-datepicker", inputs: { attachToElement: "attachToElement", autoComplete: "autoComplete", clearable: "clearable", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", icon: "icon", iconRight: "iconRight", identifier: "identifier", label: "label", labelHidden: "labelHidden", max: "max", min: "min", mode: "mode", name: "name", nativeAttributes: "nativeAttributes", nativePickerAttributes: "nativePickerAttributes", placeholder: "placeholder", position: "position", readonly: "readonly", required: "required", requiredMarker: "requiredMarker", step: "step", textPrefix: "textPrefix", textSuffix: "textSuffix", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
249
- CatDatepicker = __decorate([
250
- ProxyCmp({
251
- inputs: ['attachToElement', 'autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'mode', 'name', 'nativeAttributes', 'nativePickerAttributes', 'placeholder', 'position', 'readonly', 'required', 'requiredMarker', 'step', 'textPrefix', 'textSuffix', 'value'],
252
- methods: ['doFocus', 'doBlur']
253
- })
254
- ], CatDatepicker);
255
- export { CatDatepicker };
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDatepicker, decorators: [{
257
- type: Component,
258
- args: [{
259
- selector: 'cat-datepicker',
260
- changeDetection: ChangeDetectionStrategy.OnPush,
261
- template: '<ng-content></ng-content>',
262
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
263
- inputs: ['attachToElement', 'autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'mode', 'name', 'nativeAttributes', 'nativePickerAttributes', 'placeholder', 'position', 'readonly', 'required', 'requiredMarker', 'step', 'textPrefix', 'textSuffix', 'value'],
264
- }]
265
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
266
- let CatDatepickerInline = class CatDatepickerInline {
267
- constructor(c, r, z) {
268
- this.z = z;
269
- c.detach();
270
- this.el = r.nativeElement;
271
- proxyOutputs(this, this.el, ['catChange']);
272
- }
273
- };
274
- CatDatepickerInline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDatepickerInline, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
275
- CatDatepickerInline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatDatepickerInline, selector: "cat-datepicker-inline", inputs: { disabled: "disabled", max: "max", min: "min", mode: "mode", nativePickerAttributes: "nativePickerAttributes", readonly: "readonly", step: "step", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
276
- CatDatepickerInline = __decorate([
277
- ProxyCmp({
278
- inputs: ['disabled', 'max', 'min', 'mode', 'nativePickerAttributes', 'readonly', 'step', 'value']
279
- })
280
- ], CatDatepickerInline);
281
- export { CatDatepickerInline };
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDatepickerInline, decorators: [{
283
- type: Component,
284
- args: [{
285
- selector: 'cat-datepicker-inline',
286
- changeDetection: ChangeDetectionStrategy.OnPush,
287
- template: '<ng-content></ng-content>',
288
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
289
- inputs: ['disabled', 'max', 'min', 'mode', 'nativePickerAttributes', 'readonly', 'step', 'value'],
290
- }]
291
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
292
- let CatDropdown = class CatDropdown {
293
- constructor(c, r, z) {
294
- this.z = z;
295
- c.detach();
296
- this.el = r.nativeElement;
297
- proxyOutputs(this, this.el, ['catOpen', 'catClose']);
298
- }
299
- };
300
- CatDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
301
- CatDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatDropdown, selector: "cat-dropdown", inputs: { arrowNavigation: "arrowNavigation", delayedTriggerInit: "delayedTriggerInit", isOpen: "isOpen", justify: "justify", noAutoClose: "noAutoClose", noInitialFocus: "noInitialFocus", noResize: "noResize", noReturnFocus: "noReturnFocus", overflow: "overflow", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
302
- CatDropdown = __decorate([
303
- ProxyCmp({
304
- inputs: ['arrowNavigation', 'delayedTriggerInit', 'isOpen', 'justify', 'noAutoClose', 'noInitialFocus', 'noResize', 'noReturnFocus', 'overflow', 'placement'],
305
- methods: ['toggle', 'open', 'close']
306
- })
307
- ], CatDropdown);
308
- export { CatDropdown };
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatDropdown, decorators: [{
310
- type: Component,
311
- args: [{
312
- selector: 'cat-dropdown',
313
- changeDetection: ChangeDetectionStrategy.OnPush,
314
- template: '<ng-content></ng-content>',
315
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
316
- inputs: ['arrowNavigation', 'delayedTriggerInit', 'isOpen', 'justify', 'noAutoClose', 'noInitialFocus', 'noResize', 'noReturnFocus', 'overflow', 'placement'],
317
- }]
318
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
319
- let CatFormGroup = class CatFormGroup {
320
- constructor(c, r, z) {
321
- this.z = z;
322
- c.detach();
323
- this.el = r.nativeElement;
324
- }
325
- };
326
- CatFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatFormGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
327
- CatFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatFormGroup, selector: "cat-form-group", inputs: { horizontal: "horizontal", labelSize: "labelSize", requiredMarker: "requiredMarker" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
328
- CatFormGroup = __decorate([
329
- ProxyCmp({
330
- inputs: ['horizontal', 'labelSize', 'requiredMarker']
331
- })
332
- ], CatFormGroup);
333
- export { CatFormGroup };
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatFormGroup, decorators: [{
335
- type: Component,
336
- args: [{
337
- selector: 'cat-form-group',
338
- changeDetection: ChangeDetectionStrategy.OnPush,
339
- template: '<ng-content></ng-content>',
340
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
341
- inputs: ['horizontal', 'labelSize', 'requiredMarker'],
342
- }]
343
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
344
- let CatIcon = class CatIcon {
345
- constructor(c, r, z) {
346
- this.z = z;
347
- c.detach();
348
- this.el = r.nativeElement;
349
- }
350
- };
351
- CatIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
352
- CatIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatIcon, selector: "cat-icon", inputs: { a11yLabel: "a11yLabel", icon: "icon", iconSrc: "iconSrc", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
353
- CatIcon = __decorate([
354
- ProxyCmp({
355
- inputs: ['a11yLabel', 'icon', 'iconSrc', 'size']
356
- })
357
- ], CatIcon);
358
- export { CatIcon };
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatIcon, decorators: [{
360
- type: Component,
361
- args: [{
362
- selector: 'cat-icon',
363
- changeDetection: ChangeDetectionStrategy.OnPush,
364
- template: '<ng-content></ng-content>',
365
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
366
- inputs: ['a11yLabel', 'icon', 'iconSrc', 'size'],
367
- }]
368
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
369
- let CatInput = class CatInput {
370
- constructor(c, r, z) {
371
- this.z = z;
372
- c.detach();
373
- this.el = r.nativeElement;
374
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur', 'catChangeFiles']);
375
- }
376
- };
377
- CatInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
378
- CatInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatInput, selector: "cat-input", inputs: { accept: "accept", autoComplete: "autoComplete", clearable: "clearable", dateMaskOptions: "dateMaskOptions", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", icon: "icon", iconRight: "iconRight", identifier: "identifier", label: "label", labelHidden: "labelHidden", loading: "loading", max: "max", maxLength: "maxLength", min: "min", minLength: "minLength", multiple: "multiple", name: "name", nativeAttributes: "nativeAttributes", placeholder: "placeholder", readonly: "readonly", required: "required", requiredMarker: "requiredMarker", round: "round", testId: "testId", textPrefix: "textPrefix", textSuffix: "textSuffix", timeMaskOptions: "timeMaskOptions", togglePassword: "togglePassword", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
379
- CatInput = __decorate([
380
- ProxyCmp({
381
- inputs: ['accept', 'autoComplete', 'clearable', 'dateMaskOptions', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'loading', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'nativeAttributes', 'placeholder', 'readonly', 'required', 'requiredMarker', 'round', 'testId', 'textPrefix', 'textSuffix', 'timeMaskOptions', 'togglePassword', 'type', 'value'],
382
- methods: ['doFocus', 'doBlur', 'clear']
383
- })
384
- ], CatInput);
385
- export { CatInput };
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatInput, decorators: [{
387
- type: Component,
388
- args: [{
389
- selector: 'cat-input',
390
- changeDetection: ChangeDetectionStrategy.OnPush,
391
- template: '<ng-content></ng-content>',
392
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
393
- inputs: ['accept', 'autoComplete', 'clearable', 'dateMaskOptions', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'loading', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'nativeAttributes', 'placeholder', 'readonly', 'required', 'requiredMarker', 'round', 'testId', 'textPrefix', 'textSuffix', 'timeMaskOptions', 'togglePassword', 'type', 'value'],
394
- }]
395
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
396
- let CatPagination = class CatPagination {
397
- constructor(c, r, z) {
398
- this.z = z;
399
- c.detach();
400
- this.el = r.nativeElement;
401
- proxyOutputs(this, this.el, ['catChange']);
402
- }
403
- };
404
- CatPagination.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
405
- CatPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatPagination, selector: "cat-pagination", inputs: { activePadding: "activePadding", compact: "compact", iconNext: "iconNext", iconPrev: "iconPrev", page: "page", pageCount: "pageCount", round: "round", sidePadding: "sidePadding", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
406
- CatPagination = __decorate([
407
- ProxyCmp({
408
- inputs: ['activePadding', 'compact', 'iconNext', 'iconPrev', 'page', 'pageCount', 'round', 'sidePadding', 'size', 'variant']
409
- })
410
- ], CatPagination);
411
- export { CatPagination };
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatPagination, decorators: [{
413
- type: Component,
414
- args: [{
415
- selector: 'cat-pagination',
416
- changeDetection: ChangeDetectionStrategy.OnPush,
417
- template: '<ng-content></ng-content>',
418
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
419
- inputs: ['activePadding', 'compact', 'iconNext', 'iconPrev', 'page', 'pageCount', 'round', 'sidePadding', 'size', 'variant'],
420
- }]
421
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
422
- let CatRadio = class CatRadio {
423
- constructor(c, r, z) {
424
- this.z = z;
425
- c.detach();
426
- this.el = r.nativeElement;
427
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
428
- }
429
- };
430
- CatRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
431
- CatRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatRadio, selector: "cat-radio", inputs: { alignment: "alignment", checked: "checked", disabled: "disabled", hint: "hint", identifier: "identifier", label: "label", labelHidden: "labelHidden", labelLeft: "labelLeft", name: "name", nativeAttributes: "nativeAttributes", required: "required", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
432
- CatRadio = __decorate([
433
- ProxyCmp({
434
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'required', 'testId', 'value'],
435
- methods: ['doFocus', 'doBlur']
436
- })
437
- ], CatRadio);
438
- export { CatRadio };
439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatRadio, decorators: [{
440
- type: Component,
441
- args: [{
442
- selector: 'cat-radio',
443
- changeDetection: ChangeDetectionStrategy.OnPush,
444
- template: '<ng-content></ng-content>',
445
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
446
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'required', 'testId', 'value'],
447
- }]
448
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
449
- let CatRadioGroup = class CatRadioGroup {
450
- constructor(c, r, z) {
451
- this.z = z;
452
- c.detach();
453
- this.el = r.nativeElement;
454
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
455
- }
456
- };
457
- CatRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
458
- CatRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatRadioGroup, selector: "cat-radio-group", inputs: { a11yLabel: "a11yLabel", disabled: "disabled", labelLeft: "labelLeft", name: "name", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
459
- CatRadioGroup = __decorate([
460
- ProxyCmp({
461
- inputs: ['a11yLabel', 'disabled', 'labelLeft', 'name', 'value']
462
- })
463
- ], CatRadioGroup);
464
- export { CatRadioGroup };
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatRadioGroup, decorators: [{
466
- type: Component,
467
- args: [{
468
- selector: 'cat-radio-group',
469
- changeDetection: ChangeDetectionStrategy.OnPush,
470
- template: '<ng-content></ng-content>',
471
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
472
- inputs: ['a11yLabel', 'disabled', 'labelLeft', 'name', 'value'],
473
- }]
474
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
475
- let CatScrollable = class CatScrollable {
476
- constructor(c, r, z) {
477
- this.z = z;
478
- c.detach();
479
- this.el = r.nativeElement;
480
- proxyOutputs(this, this.el, ['scrolledTop', 'scrolledLeft', 'scrolledRight', 'scrolledBottom']);
481
- }
482
- };
483
- CatScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatScrollable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
484
- CatScrollable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatScrollable, selector: "cat-scrollable", inputs: { noOverflowX: "noOverflowX", noOverflowY: "noOverflowY", noOverscroll: "noOverscroll", noScrolledInit: "noScrolledInit", noShadowX: "noShadowX", noShadowY: "noShadowY", scrolledBuffer: "scrolledBuffer" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
485
- CatScrollable = __decorate([
486
- ProxyCmp({
487
- inputs: ['noOverflowX', 'noOverflowY', 'noOverscroll', 'noScrolledInit', 'noShadowX', 'noShadowY', 'scrolledBuffer']
488
- })
489
- ], CatScrollable);
490
- export { CatScrollable };
491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatScrollable, decorators: [{
492
- type: Component,
493
- args: [{
494
- selector: 'cat-scrollable',
495
- changeDetection: ChangeDetectionStrategy.OnPush,
496
- template: '<ng-content></ng-content>',
497
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
498
- inputs: ['noOverflowX', 'noOverflowY', 'noOverscroll', 'noScrolledInit', 'noShadowX', 'noShadowY', 'scrolledBuffer'],
499
- }]
500
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
501
- let CatSelect = class CatSelect {
502
- constructor(c, r, z) {
503
- this.z = z;
504
- c.detach();
505
- this.el = r.nativeElement;
506
- proxyOutputs(this, this.el, ['catOpen', 'catClose', 'catChange', 'catBlur']);
507
- }
508
- };
509
- CatSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
510
- CatSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatSelect, selector: "cat-select", inputs: { clearable: "clearable", debounce: "debounce", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", identifier: "identifier", label: "label", labelHidden: "labelHidden", multiple: "multiple", name: "name", nativeAttributes: "nativeAttributes", noItems: "noItems", placeholder: "placeholder", placement: "placement", required: "required", requiredMarker: "requiredMarker", tagHint: "tagHint", tags: "tags", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
511
- CatSelect = __decorate([
512
- ProxyCmp({
513
- inputs: ['clearable', 'debounce', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'identifier', 'label', 'labelHidden', 'multiple', 'name', 'nativeAttributes', 'noItems', 'placeholder', 'placement', 'required', 'requiredMarker', 'tagHint', 'tags', 'testId', 'value'],
514
- methods: ['doFocus', 'doBlur', 'clear', 'connect']
515
- })
516
- ], CatSelect);
517
- export { CatSelect };
518
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSelect, decorators: [{
519
- type: Component,
520
- args: [{
521
- selector: 'cat-select',
522
- changeDetection: ChangeDetectionStrategy.OnPush,
523
- template: '<ng-content></ng-content>',
524
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
525
- inputs: ['clearable', 'debounce', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'identifier', 'label', 'labelHidden', 'multiple', 'name', 'nativeAttributes', 'noItems', 'placeholder', 'placement', 'required', 'requiredMarker', 'tagHint', 'tags', 'testId', 'value'],
526
- }]
527
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
528
- let CatSelectDemo = class CatSelectDemo {
529
- constructor(c, r, z) {
530
- this.z = z;
531
- c.detach();
532
- this.el = r.nativeElement;
533
- }
534
- };
535
- CatSelectDemo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSelectDemo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
536
- CatSelectDemo.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatSelectDemo, selector: "cat-select-demo", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
537
- CatSelectDemo = __decorate([
538
- ProxyCmp({})
539
- ], CatSelectDemo);
540
- export { CatSelectDemo };
541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSelectDemo, decorators: [{
542
- type: Component,
543
- args: [{
544
- selector: 'cat-select-demo',
545
- changeDetection: ChangeDetectionStrategy.OnPush,
546
- template: '<ng-content></ng-content>',
547
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
548
- inputs: [],
549
- }]
550
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
551
- let CatSkeleton = class CatSkeleton {
552
- constructor(c, r, z) {
553
- this.z = z;
554
- c.detach();
555
- this.el = r.nativeElement;
556
- }
557
- };
558
- CatSkeleton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSkeleton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
559
- CatSkeleton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatSkeleton, selector: "cat-skeleton", inputs: { effect: "effect", lines: "lines", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
560
- CatSkeleton = __decorate([
561
- ProxyCmp({
562
- inputs: ['effect', 'lines', 'size', 'variant']
563
- })
564
- ], CatSkeleton);
565
- export { CatSkeleton };
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSkeleton, decorators: [{
567
- type: Component,
568
- args: [{
569
- selector: 'cat-skeleton',
570
- changeDetection: ChangeDetectionStrategy.OnPush,
571
- template: '<ng-content></ng-content>',
572
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
573
- inputs: ['effect', 'lines', 'size', 'variant'],
574
- }]
575
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
576
- let CatSpinner = class CatSpinner {
577
- constructor(c, r, z) {
578
- this.z = z;
579
- c.detach();
580
- this.el = r.nativeElement;
581
- }
582
- };
583
- CatSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
584
- CatSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatSpinner, selector: "cat-spinner", inputs: { a11yLabel: "a11yLabel", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
585
- CatSpinner = __decorate([
586
- ProxyCmp({
587
- inputs: ['a11yLabel', 'size', 'value']
588
- })
589
- ], CatSpinner);
590
- export { CatSpinner };
591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatSpinner, decorators: [{
592
- type: Component,
593
- args: [{
594
- selector: 'cat-spinner',
595
- changeDetection: ChangeDetectionStrategy.OnPush,
596
- template: '<ng-content></ng-content>',
597
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
598
- inputs: ['a11yLabel', 'size', 'value'],
599
- }]
600
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
601
- let CatTab = class CatTab {
602
- constructor(c, r, z) {
603
- this.z = z;
604
- c.detach();
605
- this.el = r.nativeElement;
606
- proxyOutputs(this, this.el, ['catClick']);
607
- }
608
- };
609
- CatTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
610
- CatTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTab, selector: "cat-tab", inputs: { deactivated: "deactivated", error: "error", icon: "icon", iconOnly: "iconOnly", iconRight: "iconRight", label: "label", nativeAttributes: "nativeAttributes", noActive: "noActive", sticky: "sticky", testId: "testId", url: "url", urlTarget: "urlTarget" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
611
- CatTab = __decorate([
612
- ProxyCmp({
613
- inputs: ['deactivated', 'error', 'icon', 'iconOnly', 'iconRight', 'label', 'nativeAttributes', 'noActive', 'sticky', 'testId', 'url', 'urlTarget']
614
- })
615
- ], CatTab);
616
- export { CatTab };
617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTab, decorators: [{
618
- type: Component,
619
- args: [{
620
- selector: 'cat-tab',
621
- changeDetection: ChangeDetectionStrategy.OnPush,
622
- template: '<ng-content></ng-content>',
623
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
624
- inputs: ['deactivated', 'error', 'icon', 'iconOnly', 'iconRight', 'label', 'nativeAttributes', 'noActive', 'sticky', 'testId', 'url', 'urlTarget'],
625
- }]
626
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
627
- let CatTabs = class CatTabs {
628
- constructor(c, r, z) {
629
- this.z = z;
630
- c.detach();
631
- this.el = r.nativeElement;
632
- proxyOutputs(this, this.el, ['catChange']);
633
- }
634
- };
635
- CatTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
636
- CatTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTabs, selector: "cat-tabs", inputs: { activeTab: "activeTab", activeTabAlwaysVisible: "activeTabAlwaysVisible", adaptive: "adaptive", tabsAlign: "tabsAlign" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
637
- CatTabs = __decorate([
638
- ProxyCmp({
639
- inputs: ['activeTab', 'activeTabAlwaysVisible', 'adaptive', 'tabsAlign'],
640
- methods: ['setActive', 'setActiveIndex', 'updateAdaptiveTabs']
641
- })
642
- ], CatTabs);
643
- export { CatTabs };
644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTabs, decorators: [{
645
- type: Component,
646
- args: [{
647
- selector: 'cat-tabs',
648
- changeDetection: ChangeDetectionStrategy.OnPush,
649
- template: '<ng-content></ng-content>',
650
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
651
- inputs: ['activeTab', 'activeTabAlwaysVisible', 'adaptive', 'tabsAlign'],
652
- }]
653
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
654
- let CatTag = class CatTag {
655
- constructor(c, r, z) {
656
- this.z = z;
657
- c.detach();
658
- this.el = r.nativeElement;
659
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
660
- }
661
- };
662
- CatTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
663
- CatTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTag, selector: "cat-tag", inputs: { addOnBlur: "addOnBlur", clearable: "clearable", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", identifier: "identifier", label: "label", labelHidden: "labelHidden", name: "name", nativeAttributes: "nativeAttributes", placeholder: "placeholder", required: "required", requiredMarker: "requiredMarker", tagCreationChars: "tagCreationChars", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
664
- CatTag = __decorate([
665
- ProxyCmp({
666
- inputs: ['addOnBlur', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'identifier', 'label', 'labelHidden', 'name', 'nativeAttributes', 'placeholder', 'required', 'requiredMarker', 'tagCreationChars', 'testId', 'value']
667
- })
668
- ], CatTag);
669
- export { CatTag };
670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTag, decorators: [{
671
- type: Component,
672
- args: [{
673
- selector: 'cat-tag',
674
- changeDetection: ChangeDetectionStrategy.OnPush,
675
- template: '<ng-content></ng-content>',
676
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
677
- inputs: ['addOnBlur', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'identifier', 'label', 'labelHidden', 'name', 'nativeAttributes', 'placeholder', 'required', 'requiredMarker', 'tagCreationChars', 'testId', 'value'],
678
- }]
679
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
680
- let CatTextarea = class CatTextarea {
681
- constructor(c, r, z) {
682
- this.z = z;
683
- c.detach();
684
- this.el = r.nativeElement;
685
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
686
- }
687
- };
688
- CatTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
689
- CatTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTextarea, selector: "cat-textarea", inputs: { autoComplete: "autoComplete", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", identifier: "identifier", label: "label", labelHidden: "labelHidden", maxLength: "maxLength", minLength: "minLength", name: "name", nativeAttributes: "nativeAttributes", placeholder: "placeholder", readonly: "readonly", required: "required", requiredMarker: "requiredMarker", rows: "rows", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
690
- CatTextarea = __decorate([
691
- ProxyCmp({
692
- inputs: ['autoComplete', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'identifier', 'label', 'labelHidden', 'maxLength', 'minLength', 'name', 'nativeAttributes', 'placeholder', 'readonly', 'required', 'requiredMarker', 'rows', 'testId', 'value'],
693
- methods: ['doFocus', 'doBlur', 'clear']
694
- })
695
- ], CatTextarea);
696
- export { CatTextarea };
697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTextarea, decorators: [{
698
- type: Component,
699
- args: [{
700
- selector: 'cat-textarea',
701
- changeDetection: ChangeDetectionStrategy.OnPush,
702
- template: '<ng-content></ng-content>',
703
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
704
- inputs: ['autoComplete', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'identifier', 'label', 'labelHidden', 'maxLength', 'minLength', 'name', 'nativeAttributes', 'placeholder', 'readonly', 'required', 'requiredMarker', 'rows', 'testId', 'value'],
705
- }]
706
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
707
- let CatTime = class CatTime {
708
- constructor(c, r, z) {
709
- this.z = z;
710
- c.detach();
711
- this.el = r.nativeElement;
712
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
713
- }
714
- };
715
- CatTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTime, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
716
- CatTime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTime, selector: "cat-time", inputs: { autoComplete: "autoComplete", clearable: "clearable", disabled: "disabled", errorUpdate: "errorUpdate", errors: "errors", hint: "hint", horizontal: "horizontal", icon: "icon", iconRight: "iconRight", identifier: "identifier", label: "label", labelHidden: "labelHidden", max: "max", min: "min", name: "name", nativeAttributes: "nativeAttributes", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", requiredMarker: "requiredMarker", step: "step", testId: "testId", textPrefix: "textPrefix", textSuffix: "textSuffix", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
717
- CatTime = __decorate([
718
- ProxyCmp({
719
- inputs: ['autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'name', 'nativeAttributes', 'placeholder', 'placement', 'readonly', 'required', 'requiredMarker', 'step', 'testId', 'textPrefix', 'textSuffix', 'value'],
720
- methods: ['select', 'doFocus', 'doBlur', 'clear']
721
- })
722
- ], CatTime);
723
- export { CatTime };
724
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTime, decorators: [{
725
- type: Component,
726
- args: [{
727
- selector: 'cat-time',
728
- changeDetection: ChangeDetectionStrategy.OnPush,
729
- template: '<ng-content></ng-content>',
730
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
731
- inputs: ['autoComplete', 'clearable', 'disabled', 'errorUpdate', 'errors', 'hint', 'horizontal', 'icon', 'iconRight', 'identifier', 'label', 'labelHidden', 'max', 'min', 'name', 'nativeAttributes', 'placeholder', 'placement', 'readonly', 'required', 'requiredMarker', 'step', 'testId', 'textPrefix', 'textSuffix', 'value'],
732
- }]
733
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
734
- let CatToggle = class CatToggle {
735
- constructor(c, r, z) {
736
- this.z = z;
737
- c.detach();
738
- this.el = r.nativeElement;
739
- proxyOutputs(this, this.el, ['catChange', 'catFocus', 'catBlur']);
740
- }
741
- };
742
- CatToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
743
- CatToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatToggle, selector: "cat-toggle", inputs: { alignment: "alignment", checked: "checked", disabled: "disabled", hint: "hint", identifier: "identifier", label: "label", labelHidden: "labelHidden", labelLeft: "labelLeft", name: "name", nativeAttributes: "nativeAttributes", noValue: "noValue", required: "required", resolvedValue: "resolvedValue", testId: "testId", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
744
- CatToggle = __decorate([
745
- ProxyCmp({
746
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'noValue', 'required', 'resolvedValue', 'testId', 'value'],
747
- methods: ['doFocus', 'doBlur']
748
- })
749
- ], CatToggle);
750
- export { CatToggle };
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatToggle, decorators: [{
752
- type: Component,
753
- args: [{
754
- selector: 'cat-toggle',
755
- changeDetection: ChangeDetectionStrategy.OnPush,
756
- template: '<ng-content></ng-content>',
757
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
758
- inputs: ['alignment', 'checked', 'disabled', 'hint', 'identifier', 'label', 'labelHidden', 'labelLeft', 'name', 'nativeAttributes', 'noValue', 'required', 'resolvedValue', 'testId', 'value'],
759
- }]
760
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
761
- let CatTooltip = class CatTooltip {
762
- constructor(c, r, z) {
763
- this.z = z;
764
- c.detach();
765
- this.el = r.nativeElement;
766
- }
767
- };
768
- CatTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
769
- CatTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CatTooltip, selector: "cat-tooltip", inputs: { content: "content", disabled: "disabled", hideDelay: "hideDelay", longTouchDuration: "longTouchDuration", placement: "placement", round: "round", showDelay: "showDelay", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
770
- CatTooltip = __decorate([
771
- ProxyCmp({
772
- inputs: ['content', 'disabled', 'hideDelay', 'longTouchDuration', 'placement', 'round', 'showDelay', 'size']
773
- })
774
- ], CatTooltip);
775
- export { CatTooltip };
776
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CatTooltip, decorators: [{
777
- type: Component,
778
- args: [{
779
- selector: 'cat-tooltip',
780
- changeDetection: ChangeDetectionStrategy.OnPush,
781
- template: '<ng-content></ng-content>',
782
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
783
- inputs: ['content', 'disabled', 'hideDelay', 'longTouchDuration', 'placement', 'round', 'showDelay', 'size'],
784
- }]
785
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
786
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdGFseXN0L3NyYy9saWIvZGlyZWN0aXZlcy9wcm94aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztJQWUxRCxRQUFRLFNBQVIsUUFBUTtJQUVuQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTtxR0FOWSxRQUFRO3lGQUFSLFFBQVEsNkdBSlQsMkJBQTJCO0FBSTFCLFFBQVE7SUFWcEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7S0FDcEMsQ0FBQztHQVFXLFFBQVEsQ0FNcEI7U0FOWSxRQUFROzJGQUFSLFFBQVE7a0JBUHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO2lCQUNwQzs7SUF1QlksU0FBUyxTQUFULFNBQVM7SUFFcEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxF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ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BoYWlpbG8vY2F0YWx5c3QnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ25vSWNvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LWFsZXJ0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ25vSWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRBbGVydCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENhdEFsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5DYXRBbGVydCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpY29uJywgJ2luaXRpYWxzJywgJ2xhYmVsJywgJ3JvdW5kJywgJ3NpemUnLCAnc3JjJywgJ3VybCcsICd1cmxUYXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAnaW5pdGlhbHMnLCAnbGFiZWwnLCAncm91bmQnLCAnc2l6ZScsICdzcmMnLCAndXJsJywgJ3VybFRhcmdldCddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLkNhdEF2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25SaWdodCcsICdwdWxzZScsICdyb3VuZCcsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnaWNvbicsICdpY29uT25seScsICdpY29uUmlnaHQnLCAncHVsc2UnLCAncm91bmQnLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIENhdEJhZGdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0QmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkNhdEJhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlDdXJyZW50JywgJ2ExMXlMYWJlbCcsICdhY3RpdmUnLCAnYnV0dG9uR3JvdXBQb3NpdGlvbicsICdidXR0b25JZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25SaWdodCcsICdsb2FkaW5nJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICduYXRpdmVDb250ZW50QXR0cmlidXRlcycsICdub0VsbGlwc2lzJywgJ3JvdW5kJywgJ3NpemUnLCAnc3VibWl0JywgJ3Rlc3RJZCcsICd1cmwnLCAndXJsVGFyZ2V0JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydkb0ZvY3VzJywgJ2RvQmx1cicsICdkb0NsaWNrJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5Q3VycmVudCcsICdhMTF5TGFiZWwnLCAnYWN0aXZlJywgJ2J1dHRvbkdyb3VwUG9zaXRpb24nLCAnYnV0dG9uSWQnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnaWNvbicsICdpY29uT25seScsICdpY29uUmlnaHQnLCAnbG9hZGluZycsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAnbmF0aXZlQ29udGVudEF0dHJpYnV0ZXMnLCAnbm9FbGxpcHNpcycsICdyb3VuZCcsICdzaXplJywgJ3N1Ym1pdCcsICd0ZXN0SWQnLCAndXJsJywgJ3VybFRhcmdldCcsICd2YWx1ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIENhdEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NhdENsaWNrJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0QnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRCdXR0b24ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIGNhdENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgY2F0Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtYnV0dG9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5TGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0QnV0dG9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRCdXR0b25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQ2F0QnV0dG9uR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIENhdENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRMb2FkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENhdENhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkNhdENhcmQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjYXJkIGFuZCBhbGwgdGhlIGNoaWxkcmVuIGFyZSBmdWxseSBsb2FkZWQuXG4gICAqL1xuICBjYXRMb2FkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbm1lbnQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoaW50JywgJ2lkZW50aWZpZXInLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsYWJlbExlZnQnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ25vVmFsdWUnLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAncmVzb2x2ZWRWYWx1ZScsICd0ZXN0SWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydkb0ZvY3VzJywgJ2RvQmx1ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGlnbm1lbnQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoaW50JywgJ2lkZW50aWZpZXInLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsYWJlbExlZnQnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ25vVmFsdWUnLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAncmVzb2x2ZWRWYWx1ZScsICd0ZXN0SWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0Q2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRDaGFuZ2UnLCAnY2F0Rm9jdXMnLCAnY2F0Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuQ2F0Q2hlY2tib3gge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHN0YXR1cyBvZiB0aGUgY2hlY2tib3ggaXMgY2hhbmdlZC5cbiAgICovXG4gIGNhdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCByZWNlaXZlZCBmb2N1cy5cbiAgICovXG4gIGNhdEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGNhdEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9Db21wbGV0ZScsICdjbGVhcmFibGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JVcGRhdGUnLCAnZXJyb3JzJywgJ2hpbnQnLCAnaG9yaXpvbnRhbCcsICdpY29uJywgJ2ljb25SaWdodCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ21heCcsICdtaW4nLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyZXF1aXJlZE1hcmtlcicsICd0ZXN0SWQnLCAndGV4dFByZWZpeCcsICd0ZXh0U3VmZml4JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZG9Gb2N1cycsICdkb0JsdXInLCAnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1kYXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvQ29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yVXBkYXRlJywgJ2Vycm9ycycsICdoaW50JywgJ2hvcml6b250YWwnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAndGVzdElkJywgJ3RleHRQcmVmaXgnLCAndGV4dFN1ZmZpeCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXREYXRlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0RGF0ZSBleHRlbmRzIENvbXBvbmVudHMuQ2F0RGF0ZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnaGludCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ21heCcsICdtaW4nLCAnbm9DbGVhcicsICdub1RvZGF5JywgJ3JhbmdlJywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3ZhbHVlJywgJ3dlZWtzJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0JywgJ2NsZWFyJywgJ3Jlc2V0VmlldycsICdkb0ZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtZGF0ZS1pbmxpbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdoaW50JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbWF4JywgJ21pbicsICdub0NsZWFyJywgJ25vVG9kYXknLCAncmFuZ2UnLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAndmFsdWUnLCAnd2Vla3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0RGF0ZUlubGluZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NhdENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXREYXRlSW5saW5lIGV4dGVuZHMgQ29tcG9uZW50cy5DYXREYXRlSW5saW5lIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZC5cbiAgICovXG4gIGNhdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdHRhY2hUb0VsZW1lbnQnLCAnYXV0b0NvbXBsZXRlJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdlcnJvclVwZGF0ZScsICdlcnJvcnMnLCAnaGludCcsICdob3Jpem9udGFsJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbWF4JywgJ21pbicsICdtb2RlJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICduYXRpdmVQaWNrZXJBdHRyaWJ1dGVzJywgJ3BsYWNlaG9sZGVyJywgJ3Bvc2l0aW9uJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3N0ZXAnLCAndGV4dFByZWZpeCcsICd0ZXh0U3VmZml4JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZG9Gb2N1cycsICdkb0JsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1kYXRlcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdHRhY2hUb0VsZW1lbnQnLCAnYXV0b0NvbXBsZXRlJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdlcnJvclVwZGF0ZScsICdlcnJvcnMnLCAnaGludCcsICdob3Jpem9udGFsJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbWF4JywgJ21pbicsICdtb2RlJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICduYXRpdmVQaWNrZXJBdHRyaWJ1dGVzJywgJ3BsYWNlaG9sZGVyJywgJ3Bvc2l0aW9uJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3N0ZXAnLCAndGV4dFByZWZpeCcsICd0ZXh0U3VmZml4JywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRDaGFuZ2UnLCAnY2F0Rm9jdXMnLCAnY2F0Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXREYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5DYXREYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZC5cbiAgICovXG4gIGNhdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCByZWNlaXZlZCBmb2N1cy5cbiAgICovXG4gIGNhdEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGNhdEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ21heCcsICdtaW4nLCAnbW9kZScsICduYXRpdmVQaWNrZXJBdHRyaWJ1dGVzJywgJ3JlYWRvbmx5JywgJ3N0ZXAnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1kYXRlcGlja2VyLWlubGluZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnbWF4JywgJ21pbicsICdtb2RlJywgJ25hdGl2ZVBpY2tlckF0dHJpYnV0ZXMnLCAncmVhZG9ubHknLCAnc3RlcCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXREYXRlcGlja2VySW5saW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENhdERhdGVwaWNrZXJJbmxpbmUgZXh0ZW5kcyBDb21wb25lbnRzLkNhdERhdGVwaWNrZXJJbmxpbmUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgY2F0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93TmF2aWdhdGlvbicsICdkZWxheWVkVHJpZ2dlckluaXQnLCAnaXNPcGVuJywgJ2p1c3RpZnknLCAnbm9BdXRvQ2xvc2UnLCAnbm9Jbml0aWFsRm9jdXMnLCAnbm9SZXNpemUnLCAnbm9SZXR1cm5Gb2N1cycsICdvdmVyZmxvdycsICdwbGFjZW1lbnQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvd05hdmlnYXRpb24nLCAnZGVsYXllZFRyaWdnZXJJbml0JywgJ2lzT3BlbicsICdqdXN0aWZ5JywgJ25vQXV0b0Nsb3NlJywgJ25vSW5pdGlhbEZvY3VzJywgJ25vUmVzaXplJywgJ25vUmV0dXJuRm9jdXMnLCAnb3ZlcmZsb3cnLCAncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIENhdERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0T3BlbicsICdjYXRDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXREcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuQ2F0RHJvcGRvd24ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuZWQuXG4gICAqL1xuICBjYXRPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBjbG9zZWQuXG4gICAqL1xuICBjYXRDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaG9yaXpvbnRhbCcsICdsYWJlbFNpemUnLCAncmVxdWlyZWRNYXJrZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1mb3JtLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydob3Jpem9udGFsJywgJ2xhYmVsU2l6ZScsICdyZXF1aXJlZE1hcmtlciddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRGb3JtR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRGb3JtR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkNhdEZvcm1Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnaWNvbicsICdpY29uU3JjJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnaWNvbicsICdpY29uU3JjJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENhdEljb24gZXh0ZW5kcyBDb21wb25lbnRzLkNhdEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2F1dG9Db21wbGV0ZScsICdjbGVhcmFibGUnLCAnZGF0ZU1hc2tPcHRpb25zJywgJ2Rpc2FibGVkJywgJ2Vycm9yVXBkYXRlJywgJ2Vycm9ycycsICdoaW50JywgJ2hvcml6b250YWwnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2FkaW5nJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21pbkxlbmd0aCcsICdtdWx0aXBsZScsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAncm91bmQnLCAndGVzdElkJywgJ3RleHRQcmVmaXgnLCAndGV4dFN1ZmZpeCcsICd0aW1lTWFza09wdGlvbnMnLCAndG9nZ2xlUGFzc3dvcmQnLCAndHlwZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2RvRm9jdXMnLCAnZG9CbHVyJywgJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdhdXRvQ29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2RhdGVNYXNrT3B0aW9ucycsICdkaXNhYmxlZCcsICdlcnJvclVwZGF0ZScsICdlcnJvcnMnLCAnaGludCcsICdob3Jpem9udGFsJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbG9hZGluZycsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtaW5MZW5ndGgnLCAnbXVsdGlwbGUnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3JvdW5kJywgJ3Rlc3RJZCcsICd0ZXh0UHJlZml4JywgJ3RleHRTdWZmaXgnLCAndGltZU1hc2tPcHRpb25zJywgJ3RvZ2dsZVBhc3N3b3JkJywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRDaGFuZ2UnLCAnY2F0Rm9jdXMnLCAnY2F0Qmx1cicsICdjYXRDaGFuZ2VGaWxlcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQ2F0SW5wdXQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgY2F0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IHJlY2VpdmVkIGZvY3VzLlxuICAgKi9cbiAgY2F0Rm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgY2F0Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgaWYgdGhlIGlucHV0IHR5cGUgaXMgXCJmaWxlXCIgYW5kIGZpbGVzIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIGNhdENoYW5nZUZpbGVzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RmlsZUxpc3QgfCBudWxsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZVBhZGRpbmcnLCAnY29tcGFjdCcsICdpY29uTmV4dCcsICdpY29uUHJldicsICdwYWdlJywgJ3BhZ2VDb3VudCcsICdyb3VuZCcsICdzaWRlUGFkZGluZycsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmVQYWRkaW5nJywgJ2NvbXBhY3QnLCAnaWNvbk5leHQnLCAnaWNvblByZXYnLCAncGFnZScsICdwYWdlQ291bnQnLCAncm91bmQnLCAnc2lkZVBhZGRpbmcnLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIENhdFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0UGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQ2F0UGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBhZ2Ugb2YgdGhlIHBhZ2luYXRpb24gaGFzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ25tZW50JywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGludCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xhYmVsTGVmdCcsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncmVxdWlyZWQnLCAndGVzdElkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZG9Gb2N1cycsICdkb0JsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxpZ25tZW50JywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGludCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xhYmVsTGVmdCcsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncmVxdWlyZWQnLCAndGVzdElkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdFJhZGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0UmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLkNhdFJhZGlvIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gaXMgY2hhbmdlZC5cbiAgICovXG4gIGNhdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4gfCBzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnZGlzYWJsZWQnLCAnbGFiZWxMZWZ0JywgJ25hbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeUxhYmVsJywgJ2Rpc2FibGVkJywgJ2xhYmVsTGVmdCcsICduYW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdFJhZGlvR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjYXRDaGFuZ2UnLCAnY2F0Rm9jdXMnLCAnY2F0Qmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRSYWRpb0dyb3VwIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZC5cbiAgICovXG4gIGNhdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4gfCBzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gZ3JvdXAgcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gZ3JvdXAgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydub092ZXJmbG93WCcsICdub092ZXJmbG93WScsICdub092ZXJzY3JvbGwnLCAnbm9TY3JvbGxlZEluaXQnLCAnbm9TaGFkb3dYJywgJ25vU2hhZG93WScsICdzY3JvbGxlZEJ1ZmZlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LXNjcm9sbGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25vT3ZlcmZsb3dYJywgJ25vT3ZlcmZsb3dZJywgJ25vT3ZlcnNjcm9sbCcsICdub1Njcm9sbGVkSW5pdCcsICdub1NoYWRvd1gnLCAnbm9TaGFkb3dZJywgJ3Njcm9sbGVkQnVmZmVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdFNjcm9sbGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzY3JvbGxlZFRvcCcsICdzY3JvbGxlZExlZnQnLCAnc2Nyb2xsZWRSaWdodCcsICdzY3JvbGxlZEJvdHRvbSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRTY3JvbGxhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRTY3JvbGxhYmxlIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udGVudCBpcyBmdWxseSBzY3JvbGxlZCB0byB0aGUgdG9wLlxuICAgKi9cbiAgc2Nyb2xsZWRUb3A6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRlbnQgaXMgZnVsbHkgc2Nyb2xsZWQgdG8gdGhlIGxlZnQuXG4gICAqL1xuICBzY3JvbGxlZExlZnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRlbnQgaXMgZnVsbHkgc2Nyb2xsZWQgdG8gdGhlIHJpZ2h0LlxuICAgKi9cbiAgc2Nyb2xsZWRSaWdodDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udGVudCBpcyBmdWxseSBzY3JvbGxlZCB0byB0aGUgYm90dG9tLlxuICAgKi9cbiAgc2Nyb2xsZWRCb3R0b206IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyYWJsZScsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdlcnJvclVwZGF0ZScsICdlcnJvcnMnLCAnaGludCcsICdob3Jpem9udGFsJywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbXVsdGlwbGUnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ25vSXRlbXMnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3RhZ0hpbnQnLCAndGFncycsICd0ZXN0SWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydkb0ZvY3VzJywgJ2RvQmx1cicsICdjbGVhcicsICdjb25uZWN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhcmFibGUnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAnZXJyb3JVcGRhdGUnLCAnZXJyb3JzJywgJ2hpbnQnLCAnaG9yaXpvbnRhbCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ211bHRpcGxlJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICdub0l0ZW1zJywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZXF1aXJlZCcsICdyZXF1aXJlZE1hcmtlcicsICd0YWdIaW50JywgJ3RhZ3MnLCAndGVzdElkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhdFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NhdE9wZW4nLCAnY2F0Q2xvc2UnLCAnY2F0Q2hhbmdlJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5DYXRTZWxlY3Qge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3QgZHJvcGRvd24gaXMgb3BlbmVkLlxuICAgKi9cbiAgY2F0T3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0IGRyb3Bkb3duIGlzIGNsb3NlZC5cbiAgICovXG4gIGNhdENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgY2F0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3QgbG9zZXMgdGhlIGZvY3VzLlxuICAgKi9cbiAgY2F0Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1zZWxlY3QtZGVtbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRTZWxlY3REZW1vIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0U2VsZWN0RGVtbyBleHRlbmRzIENvbXBvbmVudHMuQ2F0U2VsZWN0RGVtbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlZmZlY3QnLCAnbGluZXMnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtc2tlbGV0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2VmZmVjdCcsICdsaW5lcycsICdzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0U2tlbGV0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRTa2VsZXRvbiBleHRlbmRzIENvbXBvbmVudHMuQ2F0U2tlbGV0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUxhYmVsJywgJ3NpemUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnc2l6ZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0U3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuQ2F0U3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWFjdGl2YXRlZCcsICdlcnJvcicsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25SaWdodCcsICdsYWJlbCcsICduYXRpdmVBdHRyaWJ1dGVzJywgJ25vQWN0aXZlJywgJ3N0aWNreScsICd0ZXN0SWQnLCAndXJsJywgJ3VybFRhcmdldCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVhY3RpdmF0ZWQnLCAnZXJyb3InLCAnaWNvbicsICdpY29uT25seScsICdpY29uUmlnaHQnLCAnbGFiZWwnLCAnbmF0aXZlQXR0cmlidXRlcycsICdub0FjdGl2ZScsICdzdGlja3knLCAndGVzdElkJywgJ3VybCcsICd1cmxUYXJnZXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0VGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0VGFiIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRUYWIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRhYiBpcyBjbGlja2VkLlxuICAgKi9cbiAgY2F0Q2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZVRhYicsICdhY3RpdmVUYWJBbHdheXNWaXNpYmxlJywgJ2FkYXB0aXZlJywgJ3RhYnNBbGlnbiddLFxuICBtZXRob2RzOiBbJ3NldEFjdGl2ZScsICdzZXRBY3RpdmVJbmRleCcsICd1cGRhdGVBZGFwdGl2ZVRhYnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmVUYWInLCAnYWN0aXZlVGFiQWx3YXlzVmlzaWJsZScsICdhZGFwdGl2ZScsICd0YWJzQWxpZ24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0VGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NhdENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDYXRUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRUYWJzIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhY3RpdmUgdGFiIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGlkOiBzdHJpbmc7IGluZGV4OiBudW1iZXI7IGZyb21Ecm9wZG93bjogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FkZE9uQmx1cicsICdjbGVhcmFibGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JVcGRhdGUnLCAnZXJyb3JzJywgJ2hpbnQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAndGFnQ3JlYXRpb25DaGFycycsICd0ZXN0SWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZE9uQmx1cicsICdjbGVhcmFibGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JVcGRhdGUnLCAnZXJyb3JzJywgJ2hpbnQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAndGFnQ3JlYXRpb25DaGFycycsICd0ZXN0SWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0VGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0VGFnIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRUYWcge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgY2F0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nW10+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvQ29tcGxldGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JVcGRhdGUnLCAnZXJyb3JzJywgJ2hpbnQnLCAnaG9yaXpvbnRhbCcsICdpZGVudGlmaWVyJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ21heExlbmd0aCcsICdtaW5MZW5ndGgnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3Jvd3MnLCAndGVzdElkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZG9Gb2N1cycsICdkb0JsdXInLCAnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b0NvbXBsZXRlJywgJ2Rpc2FibGVkJywgJ2Vycm9yVXBkYXRlJywgJ2Vycm9ycycsICdoaW50JywgJ2hvcml6b250YWwnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyZXF1aXJlZE1hcmtlcicsICdyb3dzJywgJ3Rlc3RJZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NhdENoYW5nZScsICdjYXRGb2N1cycsICdjYXRCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENhdFRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRUZXh0YXJlYSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvQ29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yVXBkYXRlJywgJ2Vycm9ycycsICdoaW50JywgJ2hvcml6b250YWwnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVxdWlyZWRNYXJrZXInLCAnc3RlcCcsICd0ZXN0SWQnLCAndGV4dFByZWZpeCcsICd0ZXh0U3VmZml4JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0JywgJ2RvRm9jdXMnLCAnZG9CbHVyJywgJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXQtdGltZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b0NvbXBsZXRlJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdlcnJvclVwZGF0ZScsICdlcnJvcnMnLCAnaGludCcsICdob3Jpem9udGFsJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbWF4JywgJ21pbicsICduYW1lJywgJ25hdGl2ZUF0dHJpYnV0ZXMnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3JlcXVpcmVkTWFya2VyJywgJ3N0ZXAnLCAndGVzdElkJywgJ3RleHRQcmVmaXgnLCAndGV4dFN1ZmZpeCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRUaW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0VGltZSBleHRlbmRzIENvbXBvbmVudHMuQ2F0VGltZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgcmVjZWl2ZWQgZm9jdXMuXG4gICAqL1xuICBjYXRGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBjYXRCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbm1lbnQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoaW50JywgJ2lkZW50aWZpZXInLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbGFiZWxMZWZ0JywgJ25hbWUnLCAnbmF0aXZlQXR0cmlidXRlcycsICdub1ZhbHVlJywgJ3JlcXVpcmVkJywgJ3Jlc29sdmVkVmFsdWUnLCAndGVzdElkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZG9Gb2N1cycsICdkb0JsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdC10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWdubWVudCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2hpbnQnLCAnaWRlbnRpZmllcicsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsYWJlbExlZnQnLCAnbmFtZScsICduYXRpdmVBdHRyaWJ1dGVzJywgJ25vVmFsdWUnLCAncmVxdWlyZWQnLCAncmVzb2x2ZWRWYWx1ZScsICd0ZXN0SWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0VG9nZ2xlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2F0Q2hhbmdlJywgJ2NhdEZvY3VzJywgJ2NhdEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0VG9nZ2xlIGV4dGVuZHMgQ29tcG9uZW50cy5DYXRUb2dnbGUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2VkIHN0YXR1cyBvZiB0aGUgdG9nZ2xlIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjYXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIHJlY2VpdmVkIGZvY3VzLlxuICAgKi9cbiAgY2F0Rm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGNhdEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlzYWJsZWQnLCAnaGlkZURlbGF5JywgJ2xvbmdUb3VjaER1cmF0aW9uJywgJ3BsYWNlbWVudCcsICdyb3VuZCcsICdzaG93RGVsYXknLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F0LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlzYWJsZWQnLCAnaGlkZURlbGF5JywgJ2xvbmdUb3VjaER1cmF0aW9uJywgJ3BsYWNlbWVudCcsICdyb3VuZCcsICdzaG93RGVsYXknLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXRUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ2F0VG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuQ2F0VG9vbHRpcCB7fVxuXG5cbiJdfQ==