@agnos-ui/angular-bootstrap 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/agnos-ui-angular.module.d.ts +2 -1
- package/components/accordion/accordion.component.d.ts +40 -18
- package/components/accordion/accordion.gen.d.ts +37 -9
- package/components/alert/alert.component.d.ts +29 -17
- package/components/alert/alert.gen.d.ts +21 -2
- package/components/collapse/collapse.component.d.ts +79 -0
- package/components/collapse/collapse.gen.d.ts +146 -0
- package/components/collapse/index.d.ts +2 -0
- package/components/modal/modal.component.d.ts +13 -19
- package/components/modal/modal.gen.d.ts +35 -18
- package/components/modal/modal.service.d.ts +5 -1
- package/components/pagination/pagination.component.d.ts +20 -15
- package/components/pagination/pagination.gen.d.ts +49 -29
- package/components/progressbar/progressbar.component.d.ts +32 -16
- package/components/progressbar/progressbar.gen.d.ts +21 -4
- package/components/rating/rating.component.d.ts +11 -4
- package/components/rating/rating.gen.d.ts +25 -17
- package/components/select/select.component.d.ts +24 -4
- package/components/select/select.gen.d.ts +41 -25
- package/components/slider/slider.component.d.ts +32 -23
- package/components/slider/slider.gen.d.ts +54 -33
- package/components/toast/toast.component.d.ts +29 -17
- package/components/toast/toast.gen.d.ts +22 -2
- package/config.d.ts +16 -5
- package/config.gen.d.ts +5 -0
- package/esm2022/agnos-ui-angular.module.mjs +12 -5
- package/esm2022/components/accordion/accordion.component.mjs +165 -134
- package/esm2022/components/accordion/accordion.gen.mjs +1 -1
- package/esm2022/components/alert/alert.component.mjs +90 -65
- package/esm2022/components/alert/alert.gen.mjs +1 -1
- package/esm2022/components/collapse/collapse.component.mjs +89 -0
- package/esm2022/components/collapse/collapse.gen.mjs +15 -0
- package/esm2022/components/collapse/index.mjs +3 -0
- package/esm2022/components/modal/modal.component.mjs +111 -99
- package/esm2022/components/modal/modal.gen.mjs +1 -1
- package/esm2022/components/modal/modal.service.mjs +7 -5
- package/esm2022/components/pagination/pagination.component.mjs +138 -123
- package/esm2022/components/pagination/pagination.gen.mjs +1 -1
- package/esm2022/components/progressbar/progressbar.component.mjs +94 -55
- package/esm2022/components/progressbar/progressbar.gen.mjs +1 -1
- package/esm2022/components/rating/rating.component.mjs +41 -35
- package/esm2022/components/rating/rating.gen.mjs +1 -1
- package/esm2022/components/select/select.component.mjs +103 -118
- package/esm2022/components/select/select.gen.mjs +1 -1
- package/esm2022/components/slider/slider.component.mjs +126 -111
- package/esm2022/components/slider/slider.gen.mjs +1 -1
- package/esm2022/components/toast/toast.component.mjs +106 -81
- package/esm2022/components/toast/toast.gen.mjs +1 -1
- package/esm2022/config.gen.mjs +1 -1
- package/esm2022/config.mjs +17 -1
- package/esm2022/index.mjs +2 -1
- package/fesm2022/agnos-ui-angular-bootstrap.mjs +1085 -806
- package/fesm2022/agnos-ui-angular-bootstrap.mjs.map +1 -1
- package/index.d.ts +8 -7
- package/package.json +9 -8
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { BaseWidgetDirective, ComponentTemplate,
|
|
1
|
+
import { BaseWidgetDirective, ComponentTemplate, SlotDirective, UseDirective, UseMultiDirective, auBooleanAttribute } from '@agnos-ui/angular-headless';
|
|
2
2
|
import { createModal } from './modal.gen';
|
|
3
|
-
import { writable } from '@amadeus-it-group/tansu';
|
|
4
3
|
import { ChangeDetectionStrategy, Component, ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, ViewChild, inject, } from '@angular/core';
|
|
5
4
|
import { callWidgetFactory } from '../../config';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
const _c0 = ["header"];
|
|
8
7
|
const _c1 = ["structure"];
|
|
9
|
-
const _c2 = (a0, a1) => ({ state: a0,
|
|
8
|
+
const _c2 = (a0, a1, a2) => ({ state: a0, api: a1, directives: a2 });
|
|
10
9
|
function ModalDefaultSlotsComponent_ng_template_0_ng_template_1_Template(rf, ctx) { }
|
|
11
10
|
function ModalDefaultSlotsComponent_ng_template_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
12
11
|
i0.ɵɵelement(0, "button", 6);
|
|
13
12
|
} if (rf & 2) {
|
|
14
|
-
const
|
|
15
|
-
i0.ɵɵproperty("auUse",
|
|
13
|
+
const directives_r1 = i0.ɵɵnextContext().directives;
|
|
14
|
+
i0.ɵɵproperty("auUse", directives_r1.closeButtonDirective);
|
|
16
15
|
} }
|
|
17
16
|
function ModalDefaultSlotsComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
18
17
|
i0.ɵɵelementStart(0, "h5", 4);
|
|
@@ -21,11 +20,12 @@ function ModalDefaultSlotsComponent_ng_template_0_Template(rf, ctx) { if (rf & 1
|
|
|
21
20
|
i0.ɵɵtemplate(2, ModalDefaultSlotsComponent_ng_template_0_Conditional_2_Template, 1, 1, "button", 6);
|
|
22
21
|
} if (rf & 2) {
|
|
23
22
|
const state_r2 = ctx.state;
|
|
24
|
-
const
|
|
23
|
+
const api_r3 = ctx.api;
|
|
24
|
+
const directives_r1 = ctx.directives;
|
|
25
25
|
i0.ɵɵadvance();
|
|
26
|
-
i0.ɵɵproperty("auSlot", state_r2.title)("auSlotProps", i0.ɵɵ
|
|
26
|
+
i0.ɵɵproperty("auSlot", state_r2.title())("auSlotProps", i0.ɵɵpureFunction3(3, _c2, state_r2, api_r3, directives_r1));
|
|
27
27
|
i0.ɵɵadvance();
|
|
28
|
-
i0.ɵɵconditional(state_r2.closeButton ? 2 : -1);
|
|
28
|
+
i0.ɵɵconditional(state_r2.closeButton() ? 2 : -1);
|
|
29
29
|
} }
|
|
30
30
|
function ModalDefaultSlotsComponent_ng_template_2_Conditional_0_ng_template_1_Template(rf, ctx) { }
|
|
31
31
|
function ModalDefaultSlotsComponent_ng_template_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -33,11 +33,12 @@ function ModalDefaultSlotsComponent_ng_template_2_Conditional_0_Template(rf, ctx
|
|
|
33
33
|
i0.ɵɵtemplate(1, ModalDefaultSlotsComponent_ng_template_2_Conditional_0_ng_template_1_Template, 0, 0, "ng-template", 5);
|
|
34
34
|
i0.ɵɵelementEnd();
|
|
35
35
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
36
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
37
|
+
const state_r5 = ctx_r3.state;
|
|
38
|
+
const api_r6 = ctx_r3.api;
|
|
39
|
+
const directives_r7 = ctx_r3.directives;
|
|
39
40
|
i0.ɵɵadvance();
|
|
40
|
-
i0.ɵɵproperty("auSlot",
|
|
41
|
+
i0.ɵɵproperty("auSlot", state_r5.header())("auSlotProps", i0.ɵɵpureFunction3(2, _c2, state_r5, api_r6, directives_r7));
|
|
41
42
|
} }
|
|
42
43
|
function ModalDefaultSlotsComponent_ng_template_2_ng_template_2_Template(rf, ctx) { }
|
|
43
44
|
function ModalDefaultSlotsComponent_ng_template_2_Conditional_3_ng_template_1_Template(rf, ctx) { }
|
|
@@ -46,63 +47,67 @@ function ModalDefaultSlotsComponent_ng_template_2_Conditional_3_Template(rf, ctx
|
|
|
46
47
|
i0.ɵɵtemplate(1, ModalDefaultSlotsComponent_ng_template_2_Conditional_3_ng_template_1_Template, 0, 0, "ng-template", 5);
|
|
47
48
|
i0.ɵɵelementEnd();
|
|
48
49
|
} if (rf & 2) {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
50
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
51
|
+
const state_r5 = ctx_r3.state;
|
|
52
|
+
const api_r6 = ctx_r3.api;
|
|
53
|
+
const directives_r7 = ctx_r3.directives;
|
|
52
54
|
i0.ɵɵadvance();
|
|
53
|
-
i0.ɵɵproperty("auSlot",
|
|
55
|
+
i0.ɵɵproperty("auSlot", state_r5.footer())("auSlotProps", i0.ɵɵpureFunction3(2, _c2, state_r5, api_r6, directives_r7));
|
|
54
56
|
} }
|
|
55
57
|
function ModalDefaultSlotsComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
i0.ɵɵtemplate(0, ModalDefaultSlotsComponent_ng_template_2_Conditional_0_Template, 2,
|
|
58
|
+
i0.ɵɵtemplate(0, ModalDefaultSlotsComponent_ng_template_2_Conditional_0_Template, 2, 6, "div", 7);
|
|
57
59
|
i0.ɵɵelementStart(1, "div", 8);
|
|
58
60
|
i0.ɵɵtemplate(2, ModalDefaultSlotsComponent_ng_template_2_ng_template_2_Template, 0, 0, "ng-template", 5);
|
|
59
61
|
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵtemplate(3, ModalDefaultSlotsComponent_ng_template_2_Conditional_3_Template, 2,
|
|
62
|
+
i0.ɵɵtemplate(3, ModalDefaultSlotsComponent_ng_template_2_Conditional_3_Template, 2, 6, "div", 9);
|
|
61
63
|
} if (rf & 2) {
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
64
|
+
const state_r5 = ctx.state;
|
|
65
|
+
const api_r6 = ctx.api;
|
|
66
|
+
const directives_r7 = ctx.directives;
|
|
67
|
+
i0.ɵɵconditional(state_r5.title() ? 0 : -1);
|
|
65
68
|
i0.ɵɵadvance(2);
|
|
66
|
-
i0.ɵɵproperty("auSlot",
|
|
69
|
+
i0.ɵɵproperty("auSlot", state_r5.children())("auSlotProps", i0.ɵɵpureFunction3(4, _c2, state_r5, api_r6, directives_r7));
|
|
67
70
|
i0.ɵɵadvance();
|
|
68
|
-
i0.ɵɵconditional(
|
|
71
|
+
i0.ɵɵconditional(state_r5.footer() ? 3 : -1);
|
|
69
72
|
} }
|
|
70
|
-
const _c3 = ["
|
|
71
|
-
const _c4 = ["
|
|
72
|
-
const _c5 =
|
|
73
|
+
const _c3 = ["content"];
|
|
74
|
+
const _c4 = ["auModal", ""];
|
|
75
|
+
const _c5 = ["*"];
|
|
76
|
+
const _c6 = (a0, a1) => [a0, a1];
|
|
73
77
|
function ModalComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
74
78
|
i0.ɵɵprojection(0);
|
|
75
79
|
} }
|
|
76
|
-
function
|
|
80
|
+
function ModalComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
77
81
|
i0.ɵɵelement(0, "div", 1);
|
|
78
82
|
} if (rf & 2) {
|
|
79
83
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
80
|
-
i0.ɵɵproperty("auUseMulti", i0.ɵɵpureFunction2(1,
|
|
84
|
+
i0.ɵɵproperty("auUseMulti", i0.ɵɵpureFunction2(1, _c6, ctx_r0.directives.backdropPortalDirective, ctx_r0.directives.backdropDirective));
|
|
81
85
|
} }
|
|
82
|
-
function
|
|
83
|
-
function
|
|
86
|
+
function ModalComponent_Conditional_3_ng_template_3_Template(rf, ctx) { }
|
|
87
|
+
function ModalComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
84
88
|
i0.ɵɵelementStart(0, "div", 2)(1, "div")(2, "div", 3);
|
|
85
|
-
i0.ɵɵtemplate(3,
|
|
89
|
+
i0.ɵɵtemplate(3, ModalComponent_Conditional_3_ng_template_3_Template, 0, 0, "ng-template", 4);
|
|
86
90
|
i0.ɵɵelementEnd()()();
|
|
87
91
|
} if (rf & 2) {
|
|
88
92
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
89
|
-
i0.ɵɵproperty("auUseMulti", i0.ɵɵpureFunction2(6,
|
|
93
|
+
i0.ɵɵproperty("auUseMulti", i0.ɵɵpureFunction2(6, _c6, ctx_r0.directives.modalPortalDirective, ctx_r0.directives.modalDirective));
|
|
90
94
|
i0.ɵɵadvance();
|
|
91
|
-
i0.ɵɵclassMapInterpolate1("modal-dialog ", ctx_r0.state()
|
|
95
|
+
i0.ɵɵclassMapInterpolate1("modal-dialog ", ctx_r0.state.fullscreen() ? "modal-fullscreen" : "", "");
|
|
92
96
|
i0.ɵɵadvance(2);
|
|
93
|
-
i0.ɵɵproperty("auSlot", ctx_r0.state
|
|
97
|
+
i0.ɵɵproperty("auSlot", ctx_r0.state.structure())("auSlotProps", i0.ɵɵpureFunction3(9, _c2, ctx_r0.state, ctx_r0.api, ctx_r0.directives));
|
|
94
98
|
} }
|
|
95
99
|
/**
|
|
96
100
|
* Directive to provide the slot structure for the modal widget.
|
|
101
|
+
* This directive provides a template reference for the {@link ModalContext<Data>}.
|
|
97
102
|
*/
|
|
98
103
|
export class ModalStructureDirective {
|
|
99
104
|
constructor() {
|
|
100
105
|
this.templateRef = inject((TemplateRef));
|
|
101
106
|
}
|
|
102
|
-
static ngTemplateContextGuard(
|
|
107
|
+
static ngTemplateContextGuard(_dir, context) {
|
|
103
108
|
return true;
|
|
104
109
|
}
|
|
105
|
-
static { this.ɵfac = function ModalStructureDirective_Factory(
|
|
110
|
+
static { this.ɵfac = function ModalStructureDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalStructureDirective)(); }; }
|
|
106
111
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ModalStructureDirective, selectors: [["ng-template", "auModalStructure", ""]], standalone: true }); }
|
|
107
112
|
}
|
|
108
113
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalStructureDirective, [{
|
|
@@ -111,6 +116,7 @@ export class ModalStructureDirective {
|
|
|
111
116
|
}], null, null); })();
|
|
112
117
|
/**
|
|
113
118
|
* Directive to provide the slot header for the modal widget.
|
|
119
|
+
* This directive provides a template reference for the {@link ModalContext<Data>}.
|
|
114
120
|
*/
|
|
115
121
|
export class ModalHeaderDirective {
|
|
116
122
|
constructor() {
|
|
@@ -119,7 +125,7 @@ export class ModalHeaderDirective {
|
|
|
119
125
|
static ngTemplateContextGuard(_dir, context) {
|
|
120
126
|
return true;
|
|
121
127
|
}
|
|
122
|
-
static { this.ɵfac = function ModalHeaderDirective_Factory(
|
|
128
|
+
static { this.ɵfac = function ModalHeaderDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalHeaderDirective)(); }; }
|
|
123
129
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ModalHeaderDirective, selectors: [["ng-template", "auModalHeader", ""]], standalone: true }); }
|
|
124
130
|
}
|
|
125
131
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalHeaderDirective, [{
|
|
@@ -128,6 +134,7 @@ export class ModalHeaderDirective {
|
|
|
128
134
|
}], null, null); })();
|
|
129
135
|
/**
|
|
130
136
|
* Directive to provide the slot title for the modal widget.
|
|
137
|
+
* This directive provides a template reference for the {@link ModalContext<Data>}.
|
|
131
138
|
*/
|
|
132
139
|
export class ModalTitleDirective {
|
|
133
140
|
constructor() {
|
|
@@ -136,7 +143,7 @@ export class ModalTitleDirective {
|
|
|
136
143
|
static ngTemplateContextGuard(_dir, context) {
|
|
137
144
|
return true;
|
|
138
145
|
}
|
|
139
|
-
static { this.ɵfac = function ModalTitleDirective_Factory(
|
|
146
|
+
static { this.ɵfac = function ModalTitleDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalTitleDirective)(); }; }
|
|
140
147
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ModalTitleDirective, selectors: [["ng-template", "auModalTitle", ""]], standalone: true }); }
|
|
141
148
|
}
|
|
142
149
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalTitleDirective, [{
|
|
@@ -145,6 +152,7 @@ export class ModalTitleDirective {
|
|
|
145
152
|
}], null, null); })();
|
|
146
153
|
/**
|
|
147
154
|
* Directive to provide the default slot for the modal widget.
|
|
155
|
+
* This directive provides a template reference for the {@link ModalContext<Data>}.
|
|
148
156
|
*/
|
|
149
157
|
export class ModalBodyDirective {
|
|
150
158
|
constructor() {
|
|
@@ -153,7 +161,7 @@ export class ModalBodyDirective {
|
|
|
153
161
|
static ngTemplateContextGuard(_dir, context) {
|
|
154
162
|
return true;
|
|
155
163
|
}
|
|
156
|
-
static { this.ɵfac = function ModalBodyDirective_Factory(
|
|
164
|
+
static { this.ɵfac = function ModalBodyDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalBodyDirective)(); }; }
|
|
157
165
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ModalBodyDirective, selectors: [["ng-template", "auModalBody", ""]], standalone: true }); }
|
|
158
166
|
}
|
|
159
167
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalBodyDirective, [{
|
|
@@ -162,6 +170,7 @@ export class ModalBodyDirective {
|
|
|
162
170
|
}], null, null); })();
|
|
163
171
|
/**
|
|
164
172
|
* Directive to provide the slot footer for the modal widget.
|
|
173
|
+
* This directive provides a template reference for the {@link ModalContext<Data>}.
|
|
165
174
|
*/
|
|
166
175
|
export class ModalFooterDirective {
|
|
167
176
|
constructor() {
|
|
@@ -170,7 +179,7 @@ export class ModalFooterDirective {
|
|
|
170
179
|
static ngTemplateContextGuard(_dir, context) {
|
|
171
180
|
return true;
|
|
172
181
|
}
|
|
173
|
-
static { this.ɵfac = function ModalFooterDirective_Factory(
|
|
182
|
+
static { this.ɵfac = function ModalFooterDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalFooterDirective)(); }; }
|
|
174
183
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ModalFooterDirective, selectors: [["ng-template", "auModalFooter", ""]], standalone: true }); }
|
|
175
184
|
}
|
|
176
185
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalFooterDirective, [{
|
|
@@ -180,8 +189,8 @@ export class ModalFooterDirective {
|
|
|
180
189
|
/**
|
|
181
190
|
* Component containing the default slots for the modal.
|
|
182
191
|
*/
|
|
183
|
-
|
|
184
|
-
static { this.ɵfac = function ModalDefaultSlotsComponent_Factory(
|
|
192
|
+
class ModalDefaultSlotsComponent {
|
|
193
|
+
static { this.ɵfac = function ModalDefaultSlotsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalDefaultSlotsComponent)(); }; }
|
|
185
194
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ModalDefaultSlotsComponent, selectors: [["ng-component"]], viewQuery: function ModalDefaultSlotsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
186
195
|
i0.ɵɵviewQuery(_c0, 7);
|
|
187
196
|
i0.ɵɵviewQuery(_c1, 7);
|
|
@@ -190,7 +199,7 @@ export class ModalDefaultSlotsComponent {
|
|
|
190
199
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.header = _t.first);
|
|
191
200
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.structure = _t.first);
|
|
192
201
|
} }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 4, vars: 0, consts: [["header", ""], ["structure", ""], ["auModalHeader", ""], ["auModalStructure", ""], [1, "modal-title"], [3, "auSlot", "auSlotProps"], [1, "btn-close", 3, "auUse"], [1, "modal-header"], [1, "modal-body"], [1, "modal-footer"]], template: function ModalDefaultSlotsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
-
i0.ɵɵtemplate(0, ModalDefaultSlotsComponent_ng_template_0_Template, 3,
|
|
202
|
+
i0.ɵɵtemplate(0, ModalDefaultSlotsComponent_ng_template_0_Template, 3, 7, "ng-template", 2, 0, i0.ɵɵtemplateRefExtractor)(2, ModalDefaultSlotsComponent_ng_template_2_Template, 4, 8, "ng-template", 3, 1, i0.ɵɵtemplateRefExtractor);
|
|
194
203
|
} }, dependencies: [SlotDirective, ModalHeaderDirective, ModalStructureDirective, UseDirective], encapsulation: 2, changeDetection: 0 }); }
|
|
195
204
|
}
|
|
196
205
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalDefaultSlotsComponent, [{
|
|
@@ -200,26 +209,26 @@ export class ModalDefaultSlotsComponent {
|
|
|
200
209
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
201
210
|
imports: [SlotDirective, ModalHeaderDirective, ModalStructureDirective, UseDirective],
|
|
202
211
|
template: `
|
|
203
|
-
<ng-template auModalHeader #header let-state="state" let-
|
|
212
|
+
<ng-template auModalHeader #header let-state="state" let-api="api" let-directives="directives">
|
|
204
213
|
<h5 class="modal-title">
|
|
205
|
-
<ng-template [auSlot]="state.title" [auSlotProps]="{state,
|
|
214
|
+
<ng-template [auSlot]="state.title()" [auSlotProps]="{state, api, directives}"></ng-template>
|
|
206
215
|
</h5>
|
|
207
|
-
@if (state.closeButton) {
|
|
208
|
-
<button class="btn-close" [auUse]="
|
|
216
|
+
@if (state.closeButton()) {
|
|
217
|
+
<button class="btn-close" [auUse]="directives.closeButtonDirective"></button>
|
|
209
218
|
}
|
|
210
219
|
</ng-template>
|
|
211
|
-
<ng-template auModalStructure #structure let-state="state" let-
|
|
212
|
-
@if (state.title) {
|
|
220
|
+
<ng-template auModalStructure #structure let-state="state" let-api="api" let-directives="directives">
|
|
221
|
+
@if (state.title()) {
|
|
213
222
|
<div class="modal-header">
|
|
214
|
-
<ng-template [auSlot]="state.header" [auSlotProps]="{state,
|
|
223
|
+
<ng-template [auSlot]="state.header()" [auSlotProps]="{state, api, directives}"></ng-template>
|
|
215
224
|
</div>
|
|
216
225
|
}
|
|
217
226
|
<div class="modal-body">
|
|
218
|
-
<ng-template [auSlot]="state.children" [auSlotProps]="{state,
|
|
227
|
+
<ng-template [auSlot]="state.children()" [auSlotProps]="{state, api, directives}"></ng-template>
|
|
219
228
|
</div>
|
|
220
|
-
@if (state.footer) {
|
|
229
|
+
@if (state.footer()) {
|
|
221
230
|
<div class="modal-footer">
|
|
222
|
-
<ng-template [auSlot]="state.footer" [auSlotProps]="{state,
|
|
231
|
+
<ng-template [auSlot]="state.footer()" [auSlotProps]="{state, api, directives}"></ng-template>
|
|
223
232
|
</div>
|
|
224
233
|
}
|
|
225
234
|
</ng-template>
|
|
@@ -232,7 +241,7 @@ export class ModalDefaultSlotsComponent {
|
|
|
232
241
|
type: ViewChild,
|
|
233
242
|
args: ['structure', { static: true }]
|
|
234
243
|
}] }); })();
|
|
235
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModalDefaultSlotsComponent, { className: "ModalDefaultSlotsComponent", filePath: "components/modal/modal.component.ts", lineNumber:
|
|
244
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModalDefaultSlotsComponent, { className: "ModalDefaultSlotsComponent", filePath: "components/modal/modal.component.ts", lineNumber: 112 }); })();
|
|
236
245
|
/**
|
|
237
246
|
* Default slot for modal header.
|
|
238
247
|
*/
|
|
@@ -241,16 +250,33 @@ export const modalDefaultSlotHeader = new ComponentTemplate(ModalDefaultSlotsCom
|
|
|
241
250
|
* Default slot for modal structure.
|
|
242
251
|
*/
|
|
243
252
|
export const modalDefaultSlotStructure = new ComponentTemplate(ModalDefaultSlotsComponent, 'structure');
|
|
244
|
-
const defaultConfig = {
|
|
245
|
-
header: modalDefaultSlotHeader,
|
|
246
|
-
structure: modalDefaultSlotStructure,
|
|
247
|
-
};
|
|
248
253
|
/**
|
|
249
254
|
* Modal component.
|
|
250
255
|
*/
|
|
251
256
|
export class ModalComponent extends BaseWidgetDirective {
|
|
252
257
|
constructor() {
|
|
253
|
-
super(
|
|
258
|
+
super(callWidgetFactory({
|
|
259
|
+
factory: createModal,
|
|
260
|
+
widgetName: 'modal',
|
|
261
|
+
defaultConfig: {
|
|
262
|
+
header: modalDefaultSlotHeader,
|
|
263
|
+
structure: modalDefaultSlotStructure,
|
|
264
|
+
},
|
|
265
|
+
events: {
|
|
266
|
+
onShown: () => this.shown.emit(),
|
|
267
|
+
onHidden: () => this.hidden.emit(),
|
|
268
|
+
onBeforeClose: (event) => this.beforeClose.emit(event),
|
|
269
|
+
onVisibleChange: (event) => this.visibleChange.emit(event),
|
|
270
|
+
},
|
|
271
|
+
slotTemplates: () => ({
|
|
272
|
+
children: this.slotDefaultFromContent?.templateRef,
|
|
273
|
+
footer: this.slotFooterFromContent?.templateRef,
|
|
274
|
+
header: this.slotHeaderFromContent?.templateRef,
|
|
275
|
+
structure: this.slotStructureFromContent?.templateRef,
|
|
276
|
+
title: this.slotTitleFromContent?.templateRef,
|
|
277
|
+
}),
|
|
278
|
+
slotChildren: () => this.slotChildren,
|
|
279
|
+
}));
|
|
254
280
|
/**
|
|
255
281
|
* Event to be triggered when the visible property changes.
|
|
256
282
|
*
|
|
@@ -292,29 +318,8 @@ export class ModalComponent extends BaseWidgetDirective {
|
|
|
292
318
|
* ```
|
|
293
319
|
*/
|
|
294
320
|
this.shown = new EventEmitter();
|
|
295
|
-
this.defaultSlots = writable(defaultConfig);
|
|
296
|
-
this._widget = callWidgetFactory({
|
|
297
|
-
factory: createModal,
|
|
298
|
-
widgetName: 'modal',
|
|
299
|
-
defaultConfig: this.defaultSlots,
|
|
300
|
-
events: {
|
|
301
|
-
onShown: () => this.shown.emit(),
|
|
302
|
-
onHidden: () => this.hidden.emit(),
|
|
303
|
-
onBeforeClose: (event) => this.beforeClose.emit(event),
|
|
304
|
-
onVisibleChange: (event) => this.visibleChange.emit(event),
|
|
305
|
-
},
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
ngAfterContentChecked() {
|
|
309
|
-
this._widget.patchSlots({
|
|
310
|
-
children: this.slotDefaultFromContent?.templateRef,
|
|
311
|
-
footer: this.slotFooterFromContent?.templateRef,
|
|
312
|
-
header: this.slotHeaderFromContent?.templateRef,
|
|
313
|
-
structure: this.slotStructureFromContent?.templateRef,
|
|
314
|
-
title: this.slotTitleFromContent?.templateRef,
|
|
315
|
-
});
|
|
316
321
|
}
|
|
317
|
-
static { this.ɵfac =
|
|
322
|
+
static { this.ɵfac = function ModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalComponent)(); }; }
|
|
318
323
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ModalComponent, selectors: [["", "auModal", ""]], contentQueries: function ModalComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
319
324
|
i0.ɵɵcontentQuery(dirIndex, ModalStructureDirective, 5);
|
|
320
325
|
i0.ɵɵcontentQuery(dirIndex, ModalHeaderDirective, 5);
|
|
@@ -328,16 +333,20 @@ export class ModalComponent extends BaseWidgetDirective {
|
|
|
328
333
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slotTitleFromContent = _t.first);
|
|
329
334
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slotDefaultFromContent = _t.first);
|
|
330
335
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slotFooterFromContent = _t.first);
|
|
331
|
-
} },
|
|
336
|
+
} }, viewQuery: function ModalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
337
|
+
i0.ɵɵviewQuery(_c3, 7);
|
|
338
|
+
} if (rf & 2) {
|
|
339
|
+
let _t;
|
|
340
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.slotChildren = _t.first);
|
|
341
|
+
} }, inputs: { animated: [2, "auAnimated", "animated", auBooleanAttribute], backdropTransition: [0, "auBackdropTransition", "backdropTransition"], modalTransition: [0, "auModalTransition", "modalTransition"], visible: [2, "auVisible", "visible", auBooleanAttribute], backdrop: [2, "auBackdrop", "backdrop", auBooleanAttribute], closeOnOutsideClick: [2, "auCloseOnOutsideClick", "closeOnOutsideClick", auBooleanAttribute], container: [0, "auContainer", "container"], ariaCloseButtonLabel: [0, "auAriaCloseButtonLabel", "ariaCloseButtonLabel"], backdropClass: [0, "auBackdropClass", "backdropClass"], closeButton: [2, "auCloseButton", "closeButton", auBooleanAttribute], className: [0, "auClassName", "className"], fullscreen: [2, "auFullscreen", "fullscreen", auBooleanAttribute], structure: [0, "auStructure", "structure"], header: [0, "auHeader", "header"], title: [0, "auTitle", "title"], children: [0, "auChildren", "children"], footer: [0, "auFooter", "footer"], contentData: [0, "auContentData", "contentData"] }, outputs: { visibleChange: "auVisibleChange", beforeClose: "auBeforeClose", hidden: "auHidden", shown: "auShown" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c4, ngContentSelectors: _c5, decls: 4, vars: 2, consts: [["content", ""], [1, "modal-backdrop", 3, "auUseMulti"], [1, "modal", "d-block", 3, "auUseMulti"], [1, "modal-content"], [3, "auSlot", "auSlotProps"]], template: function ModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
332
342
|
i0.ɵɵprojectionDef();
|
|
333
|
-
i0.ɵɵtemplate(0, ModalComponent_ng_template_0_Template, 1, 0, "ng-template", 0)(
|
|
343
|
+
i0.ɵɵtemplate(0, ModalComponent_ng_template_0_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(2, ModalComponent_Conditional_2_Template, 1, 4, "div", 1)(3, ModalComponent_Conditional_3_Template, 4, 13, "div", 2);
|
|
334
344
|
} if (rf & 2) {
|
|
335
|
-
i0.ɵɵ
|
|
336
|
-
i0.ɵɵ
|
|
337
|
-
i0.ɵɵconditional(!ctx.state().backdropHidden ? 1 : -1);
|
|
345
|
+
i0.ɵɵadvance(2);
|
|
346
|
+
i0.ɵɵconditional(!ctx.state.backdropHidden() ? 2 : -1);
|
|
338
347
|
i0.ɵɵadvance();
|
|
339
|
-
i0.ɵɵconditional(!ctx.state()
|
|
340
|
-
} }, dependencies: [UseMultiDirective, SlotDirective
|
|
348
|
+
i0.ɵɵconditional(!ctx.state.hidden() ? 3 : -1);
|
|
349
|
+
} }, dependencies: [UseMultiDirective, SlotDirective], encapsulation: 2, changeDetection: 0 }); }
|
|
341
350
|
}
|
|
342
351
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalComponent, [{
|
|
343
352
|
type: Component,
|
|
@@ -345,24 +354,24 @@ export class ModalComponent extends BaseWidgetDirective {
|
|
|
345
354
|
selector: '[auModal]',
|
|
346
355
|
standalone: true,
|
|
347
356
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
348
|
-
imports: [UseMultiDirective, SlotDirective
|
|
357
|
+
imports: [UseMultiDirective, SlotDirective],
|
|
349
358
|
template: `
|
|
350
|
-
<ng-template
|
|
351
|
-
@if (!state
|
|
352
|
-
<div class="modal-backdrop" [auUseMulti]="[
|
|
359
|
+
<ng-template #content><ng-content></ng-content></ng-template>
|
|
360
|
+
@if (!state.backdropHidden()) {
|
|
361
|
+
<div class="modal-backdrop" [auUseMulti]="[directives.backdropPortalDirective, directives.backdropDirective]"></div>
|
|
353
362
|
}
|
|
354
|
-
@if (!state
|
|
355
|
-
<div class="modal d-block" [auUseMulti]="[
|
|
356
|
-
<div class="modal-dialog {{ state()
|
|
363
|
+
@if (!state.hidden()) {
|
|
364
|
+
<div class="modal d-block" [auUseMulti]="[directives.modalPortalDirective, directives.modalDirective]">
|
|
365
|
+
<div class="modal-dialog {{ state.fullscreen() ? 'modal-fullscreen' : '' }}">
|
|
357
366
|
<div class="modal-content">
|
|
358
|
-
<ng-template [auSlot]="state()
|
|
367
|
+
<ng-template [auSlot]="state.structure()" [auSlotProps]="{state, api, directives}"></ng-template>
|
|
359
368
|
</div>
|
|
360
369
|
</div>
|
|
361
370
|
</div>
|
|
362
371
|
}
|
|
363
372
|
`,
|
|
364
373
|
}]
|
|
365
|
-
}],
|
|
374
|
+
}], () => [], { animated: [{
|
|
366
375
|
type: Input,
|
|
367
376
|
args: [{ alias: 'auAnimated', transform: auBooleanAttribute }]
|
|
368
377
|
}], backdropTransition: [{
|
|
@@ -443,6 +452,9 @@ export class ModalComponent extends BaseWidgetDirective {
|
|
|
443
452
|
}], shown: [{
|
|
444
453
|
type: Output,
|
|
445
454
|
args: ['auShown']
|
|
455
|
+
}], slotChildren: [{
|
|
456
|
+
type: ViewChild,
|
|
457
|
+
args: ['content', { static: true }]
|
|
446
458
|
}] }); })();
|
|
447
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModalComponent, { className: "ModalComponent", filePath: "components/modal/modal.component.ts", lineNumber:
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixhQUFhLEVBQ2IsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztJQXNFM0MsNEJBQW9GOzs7SUFBMUQsaUVBQWdEOzs7SUFKM0UsNkJBQXdCO0lBQ3ZCLHlHQUFvRTtJQUNyRSxpQkFBSztJQUNMLG9HQUF5Qjs7OztJQUZYLGNBQXNCO0lBQUMsQUFBdkIsdUNBQXNCLGdFQUFnQztJQUVwRSxjQUVDO0lBRkQsK0NBRUM7Ozs7SUFJQSw4QkFBMEI7SUFDekIsdUhBQXFFO0lBQ3RFLGlCQUFNOzs7OztJQURRLGNBQXVCO0lBQUMsQUFBeEIsd0NBQXVCLGdFQUFnQzs7Ozs7SUFPckUsOEJBQTBCO0lBQ3pCLHVIQUFxRTtJQUN0RSxpQkFBTTs7Ozs7SUFEUSxjQUF1QjtJQUFDLEFBQXhCLHdDQUF1QixnRUFBZ0M7OztJQVZ0RSxpR0FBbUI7SUFLbkIsOEJBQXdCO0lBQ3ZCLHlHQUF1RTtJQUN4RSxpQkFBTTtJQUNOLGlHQUFvQjs7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bnNpdGlvbkZufSBmcm9tICdAYWdub3MtdWkvYW5ndWxhci1oZWFkbGVzcyc7XG5pbXBvcnQge1xuXHRCYXNlV2lkZ2V0RGlyZWN0aXZlLFxuXHRDb21wb25lbnRUZW1wbGF0ZSxcblx0Q29udGVudEFzU2xvdERpcmVjdGl2ZSxcblx0U2xvdERpcmVjdGl2ZSxcblx0VXNlRGlyZWN0aXZlLFxuXHRVc2VNdWx0aURpcmVjdGl2ZSxcblx0YXVCb29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYWdub3MtdWkvYW5ndWxhci1oZWFkbGVzcyc7XG5pbXBvcnQgdHlwZSB7TW9kYWxDb250ZXh0LCBNb2RhbFByb3BzLCBNb2RhbFdpZGdldCwgTW9kYWxCZWZvcmVDbG9zZUV2ZW50fSBmcm9tICcuL21vZGFsLmdlbic7XG5pbXBvcnQge2NyZWF0ZU1vZGFsfSBmcm9tICcuL21vZGFsLmdlbic7XG5pbXBvcnQge3dyaXRhYmxlfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50Q2hlY2tlZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGQsXG5cdERpcmVjdGl2ZSxcblx0RXZlbnRFbWl0dGVyLFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjYWxsV2lkZ2V0RmFjdG9yeX0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSB0aGUgc2xvdCBzdHJ1Y3R1cmUgZm9yIHRoZSBtb2RhbCB3aWRnZXQuXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnbmctdGVtcGxhdGVbYXVNb2RhbFN0cnVjdHVyZV0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBNb2RhbFN0cnVjdHVyZURpcmVjdGl2ZTxEYXRhPiB7XG5cdHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxNb2RhbENvbnRleHQ8RGF0YT4+KTtcblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8RGF0YT4oZGlyOiBNb2RhbFN0cnVjdHVyZURpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIHRoZSBzbG90IGhlYWRlciBmb3IgdGhlIG1vZGFsIHdpZGdldC5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsSGVhZGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1vZGFsSGVhZGVyRGlyZWN0aXZlPERhdGE+IHtcblx0cHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj4pO1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxEYXRhPihfZGlyOiBNb2RhbEhlYWRlckRpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIHRoZSBzbG90IHRpdGxlIGZvciB0aGUgbW9kYWwgd2lkZ2V0LlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2F1TW9kYWxUaXRsZV0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBNb2RhbFRpdGxlRGlyZWN0aXZlPERhdGE+IHtcblx0cHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj4pO1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxEYXRhPihfZGlyOiBNb2RhbFRpdGxlRGlyZWN0aXZlPERhdGE+LCBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBNb2RhbENvbnRleHQ8RGF0YT4ge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgdGhlIGRlZmF1bHQgc2xvdCBmb3IgdGhlIG1vZGFsIHdpZGdldC5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsQm9keV0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBNb2RhbEJvZHlEaXJlY3RpdmU8RGF0YT4ge1xuXHRwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8TW9kYWxDb250ZXh0PERhdGE+Pik7XG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPERhdGE+KF9kaXI6IE1vZGFsQm9keURpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIHRoZSBzbG90IGZvb3RlciBmb3IgdGhlIG1vZGFsIHdpZGdldC5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsRm9vdGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1vZGFsRm9vdGVyRGlyZWN0aXZlPERhdGE+IHtcblx0cHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj4pO1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxEYXRhPihfZGlyOiBNb2RhbEZvb3RlckRpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIENvbXBvbmVudCBjb250YWluaW5nIHRoZSBkZWZhdWx0IHNsb3RzIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW1Nsb3REaXJlY3RpdmUsIE1vZGFsSGVhZGVyRGlyZWN0aXZlLCBNb2RhbFN0cnVjdHVyZURpcmVjdGl2ZSwgVXNlRGlyZWN0aXZlXSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctdGVtcGxhdGUgYXVNb2RhbEhlYWRlciAjaGVhZGVyIGxldC1zdGF0ZT1cInN0YXRlXCIgbGV0LXdpZGdldD1cIndpZGdldFwiPlxuXHRcdFx0PGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUudGl0bGVcIiBbYXVTbG90UHJvcHNdPVwie3N0YXRlLCB3aWRnZXR9XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvaDU+XG5cdFx0XHRAaWYgKHN0YXRlLmNsb3NlQnV0dG9uKSB7XG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJidG4tY2xvc2VcIiBbYXVVc2VdPVwid2lkZ2V0LmRpcmVjdGl2ZXMuY2xvc2VCdXR0b25EaXJlY3RpdmVcIj48L2J1dHRvbj5cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSBhdU1vZGFsU3RydWN0dXJlICNzdHJ1Y3R1cmUgbGV0LXN0YXRlPVwic3RhdGVcIiBsZXQtd2lkZ2V0PVwid2lkZ2V0XCI+XG5cdFx0XHRAaWYgKHN0YXRlLnRpdGxlKSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW2F1U2xvdF09XCJzdGF0ZS5oZWFkZXJcIiBbYXVTbG90UHJvcHNdPVwie3N0YXRlLCB3aWRnZXR9XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW2F1U2xvdF09XCJzdGF0ZS5jaGlsZHJlblwiIFthdVNsb3RQcm9wc109XCJ7c3RhdGUsIHdpZGdldH1cIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHRAaWYgKHN0YXRlLmZvb3Rlcikge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUuZm9vdGVyXCIgW2F1U2xvdFByb3BzXT1cIntzdGF0ZSwgd2lkZ2V0fVwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0fVxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsRGVmYXVsdFNsb3RzQ29tcG9uZW50PERhdGE+IHtcblx0QFZpZXdDaGlsZCgnaGVhZGVyJywge3N0YXRpYzogdHJ1ZX0pIGhlYWRlciE6IFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZScsIHtzdGF0aWM6IHRydWV9KSBzdHJ1Y3R1cmUhOiBUZW1wbGF0ZVJlZjxNb2RhbENvbnRleHQ8RGF0YT4+O1xufVxuXG4vKipcbiAqIERlZmF1bHQgc2xvdCBmb3IgbW9kYWwgaGVhZGVyLlxuICovXG5leHBvcnQgY29uc3QgbW9kYWxEZWZhdWx0U2xvdEhlYWRlciA9IG5ldyBDb21wb25lbnRUZW1wbGF0ZShNb2RhbERlZmF1bHRTbG90c0NvbXBvbmVudCwgJ2hlYWRlcicpO1xuXG4vKipcbiAqIERlZmF1bHQgc2xvdCBmb3IgbW9kYWwgc3RydWN0dXJlLlxuICovXG5leHBvcnQgY29uc3QgbW9kYWxEZWZhdWx0U2xvdFN0cnVjdHVyZSA9IG5ldyBDb21wb25lbnRUZW1wbGF0ZShNb2RhbERlZmF1bHRTbG90c0NvbXBvbmVudCwgJ3N0cnVjdHVyZScpO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPE1vZGFsUHJvcHM8YW55Pj4gPSB7XG5cdGhlYWRlcjogbW9kYWxEZWZhdWx0U2xvdEhlYWRlcixcblx0c3RydWN0dXJlOiBtb2RhbERlZmF1bHRTbG90U3RydWN0dXJlLFxufTtcblxuLyoqXG4gKiBNb2RhbCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ1thdU1vZGFsXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbVXNlTXVsdGlEaXJlY3RpdmUsIFNsb3REaXJlY3RpdmUsIENvbnRlbnRBc1Nsb3REaXJlY3RpdmVdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSBbYXVDb250ZW50QXNTbG90XT1cImRlZmF1bHRTbG90c1wiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPlxuXHRcdEBpZiAoIXN0YXRlKCkuYmFja2Ryb3BIaWRkZW4pIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1iYWNrZHJvcFwiIFthdVVzZU11bHRpXT1cIlt3aWRnZXQuZGlyZWN0aXZlcy5iYWNrZHJvcFBvcnRhbERpcmVjdGl2ZSwgd2lkZ2V0LmRpcmVjdGl2ZXMuYmFja2Ryb3BEaXJlY3RpdmVdXCI+PC9kaXY+XG5cdFx0fVxuXHRcdEBpZiAoIXN0YXRlKCkuaGlkZGVuKSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwgZC1ibG9ja1wiIFthdVVzZU11bHRpXT1cIlt3aWRnZXQuZGlyZWN0aXZlcy5tb2RhbFBvcnRhbERpcmVjdGl2ZSwgd2lkZ2V0LmRpcmVjdGl2ZXMubW9kYWxEaXJlY3RpdmVdXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cge3sgc3RhdGUoKS5mdWxsc2NyZWVuID8gJ21vZGFsLWZ1bGxzY3JlZW4nIDogJycgfX1cIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUoKS5zdHJ1Y3R1cmVcIiBbYXVTbG90UHJvcHNdPVwie3N0YXRlOiBzdGF0ZSgpLCB3aWRnZXR9XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHR9XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50PERhdGE+IGV4dGVuZHMgQmFzZVdpZGdldERpcmVjdGl2ZTxNb2RhbFdpZGdldDxEYXRhPj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIGFuZCBpdHMgYmFja2Ryb3AgKGlmIHByZXNlbnQpIHNob3VsZCBiZSBhbmltYXRlZCB3aGVuIHNob3duIG9yIGhpZGRlbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdEBJbnB1dCh7YWxpYXM6ICdhdUFuaW1hdGVkJywgdHJhbnNmb3JtOiBhdUJvb2xlYW5BdHRyaWJ1dGV9KSBhbmltYXRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogVGhlIHRyYW5zaXRpb24gdG8gdXNlIGZvciB0aGUgYmFja2Ryb3AgYmVoaW5kIHRoZSBtb2RhbCAoaWYgcHJlc2VudCkuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhZGVUcmFuc2l0aW9uYFxuXHQgKi9cblx0QElucHV0KCdhdUJhY2tkcm9wVHJhbnNpdGlvbicpIGJhY2tkcm9wVHJhbnNpdGlvbjogVHJhbnNpdGlvbkZuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBUaGUgdHJhbnNpdGlvbiB0byB1c2UgZm9yIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFkZVRyYW5zaXRpb25gXG5cdCAqL1xuXHRASW5wdXQoJ2F1TW9kYWxUcmFuc2l0aW9uJykgbW9kYWxUcmFuc2l0aW9uOiBUcmFuc2l0aW9uRm4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcblx0ICovXG5cdEBJbnB1dCh7YWxpYXM6ICdhdVZpc2libGUnLCB0cmFuc2Zvcm06IGF1Qm9vbGVhbkF0dHJpYnV0ZX0pIHZpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgYSBiYWNrZHJvcCBzaG91bGQgYmUgY3JlYXRlZCBiZWhpbmQgdGhlIG1vZGFsLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0QElucHV0KHthbGlhczogJ2F1QmFja2Ryb3AnLCB0cmFuc2Zvcm06IGF1Qm9vbGVhbkF0dHJpYnV0ZX0pIGJhY2tkcm9wOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRoZSBtb2RhbCBzaG91bGQgYmUgY2xvc2VkIHdoZW4gY2xpY2tpbmcgb24gdGhlIHZpZXdwb3J0IG91dHNpZGUgdGhlIG1vZGFsLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0QElucHV0KHthbGlhczogJ2F1Q2xvc2VPbk91dHNpZGVDbGljaycsIHRyYW5zZm9ybTogYXVCb29sZWFuQXR0cmlidXRlfSkgY2xvc2VPbk91dHNpZGVDbGljazogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogV2hpY2ggZWxlbWVudCBzaG91bGQgY29udGFpbiB0aGUgbW9kYWwgYW5kIGJhY2tkcm9wIERPTSBlbGVtZW50cy5cblx0ICogSWYgaXQgaXMgbm90IG51bGwsIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzIGFyZSBtb3ZlZCB0byB0aGUgc3BlY2lmaWVkIGNvbnRhaW5lci5cblx0ICogT3RoZXJ3aXNlLCB0aGV5IHN0YXkgd2hlcmUgdGhlIHdpZGdldCBpcyBsb2NhdGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQuYm9keSA6IG51bGxcblx0ICogYGBgXG5cdCAqL1xuXHRASW5wdXQoJ2F1Q29udGFpbmVyJykgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFZhbHVlIG9mIHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSB0byBwdXQgb24gdGhlIGNsb3NlIGJ1dHRvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJ0Nsb3NlJ2Bcblx0ICovXG5cdEBJbnB1dCgnYXVBcmlhQ2xvc2VCdXR0b25MYWJlbCcpIGFyaWFDbG9zZUJ1dHRvbkxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIENsYXNzZXMgdG8gYWRkIG9uIHRoZSBiYWNrZHJvcCBET00gZWxlbWVudC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJydgXG5cdCAqL1xuXHRASW5wdXQoJ2F1QmFja2Ryb3BDbGFzcycpIGJhY2tkcm9wQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBjbG9zZSBidXR0b24uXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYHRydWVgXG5cdCAqL1xuXHRASW5wdXQoe2FsaWFzOiAnYXVDbG9zZUJ1dHRvbicsIHRyYW5zZm9ybTogYXVCb29sZWFuQXR0cmlidXRlfSkgY2xvc2VCdXR0b246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIENTUyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgb24gdGhlIHdpZGdldCBtYWluIGNvbnRhaW5lclxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnJ2Bcblx0ICovXG5cdEBJbnB1dCgnYXVDbGFzc05hbWUnKSBjbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogT3B0aW9uIHRvIGNyZWF0ZSBhIGZ1bGxzY3JlZW4gbW9kYWwsIGFjY29yZGluZyB0byB0aGUgYm9vdHN0cmFwIGRvY3VtZW50YXRpb24uXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuXHQgKi9cblx0QElucHV0KHthbGlhczogJ2F1RnVsbHNjcmVlbicsIHRyYW5zZm9ybTogYXVCb29sZWFuQXR0cmlidXRlfSkgZnVsbHNjcmVlbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogU3RydWN0dXJlIG9mIHRoZSBtb2RhbC5cblx0ICogVGhlIGRlZmF1bHQgc3RydWN0dXJlIHVzZXMge0BsaW5rIE1vZGFsUHJvcHMuaGVhZGVyfGhlYWRlcn0sIHtAbGluayBNb2RhbFByb3BzLmNoaWxkcmVufGNoaWxkcmVufSBhbmQge0BsaW5rIE1vZGFsUHJvcHMuZm9vdGVyfGZvb3Rlcn0uXG5cdCAqL1xuXHRASW5wdXQoJ2F1U3RydWN0dXJlJykgc3RydWN0dXJlOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRAQ29udGVudENoaWxkKE1vZGFsU3RydWN0dXJlRGlyZWN0aXZlLCB7c3RhdGljOiBmYWxzZX0pXG5cdHNsb3RTdHJ1Y3R1cmVGcm9tQ29udGVudDogTW9kYWxTdHJ1Y3R1cmVEaXJlY3RpdmU8RGF0YT4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIEhlYWRlciBvZiB0aGUgbW9kYWwuIFRoZSBkZWZhdWx0IGhlYWRlciBpbmNsdWRlcyB7QGxpbmsgTW9kYWxQcm9wcy50aXRsZXx0aXRsZX0uXG5cdCAqL1xuXHRASW5wdXQoJ2F1SGVhZGVyJykgaGVhZGVyOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRAQ29udGVudENoaWxkKE1vZGFsSGVhZGVyRGlyZWN0aXZlLCB7c3RhdGljOiBmYWxzZX0pXG5cdHNsb3RIZWFkZXJGcm9tQ29udGVudDogTW9kYWxIZWFkZXJEaXJlY3RpdmU8RGF0YT4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFRpdGxlIG9mIHRoZSBtb2RhbC5cblx0ICovXG5cdEBJbnB1dCgnYXVUaXRsZScpIHRpdGxlOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRAQ29udGVudENoaWxkKE1vZGFsVGl0bGVEaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcblx0c2xvdFRpdGxlRnJvbUNvbnRlbnQ6IE1vZGFsVGl0bGVEaXJlY3RpdmU8RGF0YT4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIEJvZHkgb2YgdGhlIG1vZGFsLlxuXHQgKi9cblx0QElucHV0KCdhdUNoaWxkcmVuJykgY2hpbGRyZW46IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBDb250ZW50Q2hpbGQoTW9kYWxCb2R5RGlyZWN0aXZlLCB7c3RhdGljOiBmYWxzZX0pXG5cdHNsb3REZWZhdWx0RnJvbUNvbnRlbnQ6IE1vZGFsQm9keURpcmVjdGl2ZTxEYXRhPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogRm9vdGVyIG9mIHRoZSBtb2RhbC5cblx0ICovXG5cdEBJbnB1dCgnYXVGb290ZXInKSBmb290ZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBDb250ZW50Q2hpbGQoTW9kYWxGb290ZXJEaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcblx0c2xvdEZvb3RlckZyb21Db250ZW50OiBNb2RhbEZvb3RlckRpcmVjdGl2ZTxEYXRhPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogRGF0YSB0byB1c2UgaW4gY29udGVudCBzbG90c1xuXHQgKi9cblx0QElucHV0KCdhdUNvbnRlbnREYXRhJykgY29udGVudERhdGE6IERhdGEgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB2aXNpYmxlIHByb3BlcnR5IGNoYW5nZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSB2aXNpYmxlIC0gbmV3IHZhbHVlIG9mIHRoZSB2aXNpYmxlIHByb3Blcnlcblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdEBPdXRwdXQoJ2F1VmlzaWJsZUNoYW5nZScpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBtb2RhbCBpcyBhYm91dCB0byBiZSBjbG9zZWQgKGkuZS4gdGhlIHtAbGluayBNb2RhbEFwaS5jbG9zZXxjbG9zZX0gbWV0aG9kIHdhcyBjYWxsZWQpLlxuXHQgKlxuXHQgKiBAcGFyYW0gZXZlbnQgLSBldmVudCBnaXZpbmcgYWNjZXNzIHRvIHRoZSBhcmd1bWVudCBnaXZlbiB0byB0aGUge0BsaW5rIE1vZGFsQXBpLmNsb3NlfGNsb3NlfSBtZXRob2QgYW5kIGFsbG93aW5nXG5cdCAqIHRvIGNhbmNlbCB0aGUgY2xvc2UgcHJvY2Vzcy5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdEBPdXRwdXQoJ2F1QmVmb3JlQ2xvc2UnKSBiZWZvcmVDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW9kYWxCZWZvcmVDbG9zZUV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQgYW5kIHRoZSBtb2RhbCBpcyBub3QgdmlzaWJsZS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdEBPdXRwdXQoJ2F1SGlkZGVuJykgaGlkZGVuID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQgYW5kIHRoZSBtb2RhbCBpcyB2aXNpYmxlLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqICgpID0+IHt9XG5cdCAqIGBgYFxuXHQgKi9cblx0QE91dHB1dCgnYXVTaG93bicpIHNob3duID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHJlYWRvbmx5IGRlZmF1bHRTbG90cyA9IHdyaXRhYmxlKGRlZmF1bHRDb25maWcpO1xuXG5cdHJlYWRvbmx5IF93aWRnZXQgPSBjYWxsV2lkZ2V0RmFjdG9yeTxNb2RhbFdpZGdldDxEYXRhPj4oe1xuXHRcdGZhY3Rvcnk6IGNyZWF0ZU1vZGFsLFxuXHRcdHdpZGdldE5hbWU6ICdtb2RhbCcsXG5cdFx0ZGVmYXVsdENvbmZpZzogdGhpcy5kZWZhdWx0U2xvdHMsXG5cdFx0ZXZlbnRzOiB7XG5cdFx0XHRvblNob3duOiAoKSA9PiB0aGlzLnNob3duLmVtaXQoKSxcblx0XHRcdG9uSGlkZGVuOiAoKSA9PiB0aGlzLmhpZGRlbi5lbWl0KCksXG5cdFx0XHRvbkJlZm9yZUNsb3NlOiAoZXZlbnQpID0+IHRoaXMuYmVmb3JlQ2xvc2UuZW1pdChldmVudCksXG5cdFx0XHRvblZpc2libGVDaGFuZ2U6IChldmVudCkgPT4gdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZXZlbnQpLFxuXHRcdH0sXG5cdH0pO1xuXG5cdG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcblx0XHR0aGlzLl93aWRnZXQucGF0Y2hTbG90cyh7XG5cdFx0XHRjaGlsZHJlbjogdGhpcy5zbG90RGVmYXVsdEZyb21Db250ZW50Py50ZW1wbGF0ZVJlZixcblx0XHRcdGZvb3RlcjogdGhpcy5zbG90Rm9vdGVyRnJvbUNvbnRlbnQ/LnRlbXBsYXRlUmVmLFxuXHRcdFx0aGVhZGVyOiB0aGlzLnNsb3RIZWFkZXJGcm9tQ29udGVudD8udGVtcGxhdGVSZWYsXG5cdFx0XHRzdHJ1Y3R1cmU6IHRoaXMuc2xvdFN0cnVjdHVyZUZyb21Db250ZW50Py50ZW1wbGF0ZVJlZixcblx0XHRcdHRpdGxlOiB0aGlzLnNsb3RUaXRsZUZyb21Db250ZW50Py50ZW1wbGF0ZVJlZixcblx0XHR9IGFzIGFueSk7XG5cdH1cbn1cbiJdfQ==
|
|
459
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModalComponent, { className: "ModalComponent", filePath: "components/modal/modal.component.ts", lineNumber: 151 }); })();
|
|
460
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdEosT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztJQTJFM0MsNEJBQTZFOzs7SUFBbkQsMERBQXlDOzs7SUFKcEUsNkJBQXdCO0lBQ3ZCLHlHQUErRTtJQUNoRixpQkFBSztJQUNMLG9HQUEyQjs7Ozs7SUFGYixjQUF3QjtJQUFDLEFBQXpCLHlDQUF3Qiw0RUFBeUM7SUFFL0UsY0FFQztJQUZELGlEQUVDOzs7O0lBSUEsOEJBQTBCO0lBQ3pCLHVIQUFnRjtJQUNqRixpQkFBTTs7Ozs7O0lBRFEsY0FBeUI7SUFBQyxBQUExQiwwQ0FBeUIsNEVBQXlDOzs7OztJQU9oRiw4QkFBMEI7SUFDekIsdUhBQWdGO0lBQ2pGLGlCQUFNOzs7Ozs7SUFEUSxjQUF5QjtJQUFDLEFBQTFCLDBDQUF5Qiw0RUFBeUM7OztJQVZqRixpR0FBcUI7SUFLckIsOEJBQXdCO0lBQ3ZCLHlHQUFrRjtJQUNuRixpQkFBTTtJQUNOLGlHQUFzQjs7Ozs7SUFSdEIsMkNBSUM7SUFFYSxlQUEyQjtJQUFDLEFBQTVCLDRDQUEyQiw0RUFBeUM7SUFFbEYs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QUFFLGtCQUFrQixFQUFDO1lBTXZDLFNBQVM7a0JBQTlCLEtBQUs7bUJBQUMsYUFBYTtZQUVwQix3QkFBd0I7a0JBRHZCLFlBQVk7bUJBQUMsdUJBQXVCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO1lBTW5DLE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQUVqQixxQkFBcUI7a0JBRHBCLFlBQVk7bUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO1lBTWpDLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVoQixvQkFBb0I7a0JBRG5CLFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO1lBTTdCLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVuQixzQkFBc0I7a0JBRHJCLFlBQVk7bUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO1lBTTlCLE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQUVqQixxQkFBcUI7a0JBRHBCLFlBQVk7bUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO1lBTTNCLFdBQVc7a0JBQWxDLEtBQUs7bUJBQUMsZUFBZTtZQVlLLGFBQWE7a0JBQXZDLE1BQU07bUJBQUMsaUJBQWlCO1lBYUEsV0FBVztrQkFBbkMsTUFBTTttQkFBQyxlQUFlO1lBVUgsTUFBTTtrQkFBekIsTUFBTTttQkFBQyxVQUFVO1lBVUMsS0FBSztrQkFBdkIsTUFBTTttQkFBQyxTQUFTO1lBR2pCLFlBQVk7a0JBRFgsU0FBUzttQkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDOztrRkFoTHhCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7U2xvdENvbnRlbnQsIFRyYW5zaXRpb25Gbn0gZnJvbSAnQGFnbm9zLXVpL2FuZ3VsYXItaGVhZGxlc3MnO1xuaW1wb3J0IHtCYXNlV2lkZ2V0RGlyZWN0aXZlLCBDb21wb25lbnRUZW1wbGF0ZSwgU2xvdERpcmVjdGl2ZSwgVXNlRGlyZWN0aXZlLCBVc2VNdWx0aURpcmVjdGl2ZSwgYXVCb29sZWFuQXR0cmlidXRlfSBmcm9tICdAYWdub3MtdWkvYW5ndWxhci1oZWFkbGVzcyc7XG5pbXBvcnQgdHlwZSB7TW9kYWxDb250ZXh0LCBNb2RhbFdpZGdldCwgTW9kYWxCZWZvcmVDbG9zZUV2ZW50fSBmcm9tICcuL21vZGFsLmdlbic7XG5pbXBvcnQge2NyZWF0ZU1vZGFsfSBmcm9tICcuL21vZGFsLmdlbic7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGQsXG5cdERpcmVjdGl2ZSxcblx0RXZlbnRFbWl0dGVyLFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjYWxsV2lkZ2V0RmFjdG9yeX0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSB0aGUgc2xvdCBzdHJ1Y3R1cmUgZm9yIHRoZSBtb2RhbCB3aWRnZXQuXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm92aWRlcyBhIHRlbXBsYXRlIHJlZmVyZW5jZSBmb3IgdGhlIHtAbGluayBNb2RhbENvbnRleHQ8RGF0YT59LlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2F1TW9kYWxTdHJ1Y3R1cmVdJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgTW9kYWxTdHJ1Y3R1cmVEaXJlY3RpdmU8RGF0YT4ge1xuXHRwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8TW9kYWxDb250ZXh0PERhdGE+Pik7XG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPERhdGE+KF9kaXI6IE1vZGFsU3RydWN0dXJlRGlyZWN0aXZlPERhdGE+LCBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBNb2RhbENvbnRleHQ8RGF0YT4ge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgdGhlIHNsb3QgaGVhZGVyIGZvciB0aGUgbW9kYWwgd2lkZ2V0LlxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgYSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSB7QGxpbmsgTW9kYWxDb250ZXh0PERhdGE+fS5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsSGVhZGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1vZGFsSGVhZGVyRGlyZWN0aXZlPERhdGE+IHtcblx0cHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj4pO1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxEYXRhPihfZGlyOiBNb2RhbEhlYWRlckRpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIHRoZSBzbG90IHRpdGxlIGZvciB0aGUgbW9kYWwgd2lkZ2V0LlxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgYSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSB7QGxpbmsgTW9kYWxDb250ZXh0PERhdGE+fS5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsVGl0bGVdJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgTW9kYWxUaXRsZURpcmVjdGl2ZTxEYXRhPiB7XG5cdHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxNb2RhbENvbnRleHQ8RGF0YT4+KTtcblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8RGF0YT4oX2RpcjogTW9kYWxUaXRsZURpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIHRoZSBkZWZhdWx0IHNsb3QgZm9yIHRoZSBtb2RhbCB3aWRnZXQuXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm92aWRlcyBhIHRlbXBsYXRlIHJlZmVyZW5jZSBmb3IgdGhlIHtAbGluayBNb2RhbENvbnRleHQ8RGF0YT59LlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2F1TW9kYWxCb2R5XScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1vZGFsQm9keURpcmVjdGl2ZTxEYXRhPiB7XG5cdHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxNb2RhbENvbnRleHQ8RGF0YT4+KTtcblx0c3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8RGF0YT4oX2RpcjogTW9kYWxCb2R5RGlyZWN0aXZlPERhdGE+LCBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBNb2RhbENvbnRleHQ8RGF0YT4ge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgdGhlIHNsb3QgZm9vdGVyIGZvciB0aGUgbW9kYWwgd2lkZ2V0LlxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgYSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSB7QGxpbmsgTW9kYWxDb250ZXh0PERhdGE+fS5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICduZy10ZW1wbGF0ZVthdU1vZGFsRm9vdGVyXScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE1vZGFsRm9vdGVyRGlyZWN0aXZlPERhdGE+IHtcblx0cHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj4pO1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxEYXRhPihfZGlyOiBNb2RhbEZvb3RlckRpcmVjdGl2ZTxEYXRhPiwgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgTW9kYWxDb250ZXh0PERhdGE+IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vKipcbiAqIENvbXBvbmVudCBjb250YWluaW5nIHRoZSBkZWZhdWx0IHNsb3RzIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW1Nsb3REaXJlY3RpdmUsIE1vZGFsSGVhZGVyRGlyZWN0aXZlLCBNb2RhbFN0cnVjdHVyZURpcmVjdGl2ZSwgVXNlRGlyZWN0aXZlXSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctdGVtcGxhdGUgYXVNb2RhbEhlYWRlciAjaGVhZGVyIGxldC1zdGF0ZT1cInN0YXRlXCIgbGV0LWFwaT1cImFwaVwiIGxldC1kaXJlY3RpdmVzPVwiZGlyZWN0aXZlc1wiPlxuXHRcdFx0PGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUudGl0bGUoKVwiIFthdVNsb3RQcm9wc109XCJ7c3RhdGUsIGFwaSwgZGlyZWN0aXZlc31cIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9oNT5cblx0XHRcdEBpZiAoc3RhdGUuY2xvc2VCdXR0b24oKSkge1xuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiYnRuLWNsb3NlXCIgW2F1VXNlXT1cImRpcmVjdGl2ZXMuY2xvc2VCdXR0b25EaXJlY3RpdmVcIj48L2J1dHRvbj5cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSBhdU1vZGFsU3RydWN0dXJlICNzdHJ1Y3R1cmUgbGV0LXN0YXRlPVwic3RhdGVcIiBsZXQtYXBpPVwiYXBpXCIgbGV0LWRpcmVjdGl2ZXM9XCJkaXJlY3RpdmVzXCI+XG5cdFx0XHRAaWYgKHN0YXRlLnRpdGxlKCkpIHtcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBbYXVTbG90XT1cInN0YXRlLmhlYWRlcigpXCIgW2F1U2xvdFByb3BzXT1cIntzdGF0ZSwgYXBpLCBkaXJlY3RpdmVzfVwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0fVxuXHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUuY2hpbGRyZW4oKVwiIFthdVNsb3RQcm9wc109XCJ7c3RhdGUsIGFwaSwgZGlyZWN0aXZlc31cIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHRAaWYgKHN0YXRlLmZvb3RlcigpKSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW2F1U2xvdF09XCJzdGF0ZS5mb290ZXIoKVwiIFthdVNsb3RQcm9wc109XCJ7c3RhdGUsIGFwaSwgZGlyZWN0aXZlc31cIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRgLFxufSlcbmNsYXNzIE1vZGFsRGVmYXVsdFNsb3RzQ29tcG9uZW50PERhdGE+IHtcblx0QFZpZXdDaGlsZCgnaGVhZGVyJywge3N0YXRpYzogdHJ1ZX0pIGhlYWRlciE6IFRlbXBsYXRlUmVmPE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZScsIHtzdGF0aWM6IHRydWV9KSBzdHJ1Y3R1cmUhOiBUZW1wbGF0ZVJlZjxNb2RhbENvbnRleHQ8RGF0YT4+O1xufVxuXG4vKipcbiAqIERlZmF1bHQgc2xvdCBmb3IgbW9kYWwgaGVhZGVyLlxuICovXG5leHBvcnQgY29uc3QgbW9kYWxEZWZhdWx0U2xvdEhlYWRlcjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PGFueT4+ID0gbmV3IENvbXBvbmVudFRlbXBsYXRlKE1vZGFsRGVmYXVsdFNsb3RzQ29tcG9uZW50LCAnaGVhZGVyJyk7XG5cbi8qKlxuICogRGVmYXVsdCBzbG90IGZvciBtb2RhbCBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBtb2RhbERlZmF1bHRTbG90U3RydWN0dXJlOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8YW55Pj4gPSBuZXcgQ29tcG9uZW50VGVtcGxhdGUoTW9kYWxEZWZhdWx0U2xvdHNDb21wb25lbnQsICdzdHJ1Y3R1cmUnKTtcblxuLyoqXG4gKiBNb2RhbCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ1thdU1vZGFsXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbVXNlTXVsdGlEaXJlY3RpdmUsIFNsb3REaXJlY3RpdmVdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cblx0XHRAaWYgKCFzdGF0ZS5iYWNrZHJvcEhpZGRlbigpKSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2Ryb3BcIiBbYXVVc2VNdWx0aV09XCJbZGlyZWN0aXZlcy5iYWNrZHJvcFBvcnRhbERpcmVjdGl2ZSwgZGlyZWN0aXZlcy5iYWNrZHJvcERpcmVjdGl2ZV1cIj48L2Rpdj5cblx0XHR9XG5cdFx0QGlmICghc3RhdGUuaGlkZGVuKCkpIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbCBkLWJsb2NrXCIgW2F1VXNlTXVsdGldPVwiW2RpcmVjdGl2ZXMubW9kYWxQb3J0YWxEaXJlY3RpdmUsIGRpcmVjdGl2ZXMubW9kYWxEaXJlY3RpdmVdXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cge3sgc3RhdGUuZnVsbHNjcmVlbigpID8gJ21vZGFsLWZ1bGxzY3JlZW4nIDogJycgfX1cIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFthdVNsb3RdPVwic3RhdGUuc3RydWN0dXJlKClcIiBbYXVTbG90UHJvcHNdPVwie3N0YXRlLCBhcGksIGRpcmVjdGl2ZXN9XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHR9XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50PERhdGE+IGV4dGVuZHMgQmFzZVdpZGdldERpcmVjdGl2ZTxNb2RhbFdpZGdldDxEYXRhPj4ge1xuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgYW5kIGl0cyBiYWNrZHJvcCAoaWYgcHJlc2VudCkgc2hvdWxkIGJlIGFuaW1hdGVkIHdoZW4gc2hvd24gb3IgaGlkZGVuLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0QElucHV0KHthbGlhczogJ2F1QW5pbWF0ZWQnLCB0cmFuc2Zvcm06IGF1Qm9vbGVhbkF0dHJpYnV0ZX0pIGFuaW1hdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBUaGUgdHJhbnNpdGlvbiB0byB1c2UgZm9yIHRoZSBiYWNrZHJvcCBiZWhpbmQgdGhlIG1vZGFsIChpZiBwcmVzZW50KS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFkZVRyYW5zaXRpb25gXG5cdCAqL1xuXHRASW5wdXQoJ2F1QmFja2Ryb3BUcmFuc2l0aW9uJykgYmFja2Ryb3BUcmFuc2l0aW9uOiBUcmFuc2l0aW9uRm4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFRoZSB0cmFuc2l0aW9uIHRvIHVzZSBmb3IgdGhlIG1vZGFsLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWRlVHJhbnNpdGlvbmBcblx0ICovXG5cdEBJbnB1dCgnYXVNb2RhbFRyYW5zaXRpb24nKSBtb2RhbFRyYW5zaXRpb246IFRyYW5zaXRpb25GbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgc2hvdWxkIGJlIHZpc2libGUgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuXHQgKi9cblx0QElucHV0KHthbGlhczogJ2F1VmlzaWJsZScsIHRyYW5zZm9ybTogYXVCb29sZWFuQXR0cmlidXRlfSkgdmlzaWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogV2hldGhlciBhIGJhY2tkcm9wIHNob3VsZCBiZSBjcmVhdGVkIGJlaGluZCB0aGUgbW9kYWwuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYHRydWVgXG5cdCAqL1xuXHRASW5wdXQoe2FsaWFzOiAnYXVCYWNrZHJvcCcsIHRyYW5zZm9ybTogYXVCb29sZWFuQXR0cmlidXRlfSkgYmFja2Ryb3A6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBiZSBjbG9zZWQgd2hlbiBjbGlja2luZyBvbiB0aGUgdmlld3BvcnQgb3V0c2lkZSB0aGUgbW9kYWwuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYHRydWVgXG5cdCAqL1xuXHRASW5wdXQoe2FsaWFzOiAnYXVDbG9zZU9uT3V0c2lkZUNsaWNrJywgdHJhbnNmb3JtOiBhdUJvb2xlYW5BdHRyaWJ1dGV9KSBjbG9zZU9uT3V0c2lkZUNsaWNrOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBXaGljaCBlbGVtZW50IHNob3VsZCBjb250YWluIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzLlxuXHQgKiBJZiBpdCBpcyBub3QgbnVsbCwgdGhlIG1vZGFsIGFuZCBiYWNrZHJvcCBET00gZWxlbWVudHMgYXJlIG1vdmVkIHRvIHRoZSBzcGVjaWZpZWQgY29udGFpbmVyLlxuXHQgKiBPdGhlcndpc2UsIHRoZXkgc3RheSB3aGVyZSB0aGUgd2lkZ2V0IGlzIGxvY2F0ZWQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWVcblx0ICogYGBgdHNcblx0ICogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudC5ib2R5IDogbnVsbFxuXHQgKiBgYGBcblx0ICovXG5cdEBJbnB1dCgnYXVDb250YWluZXInKSBjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogVmFsdWUgb2YgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHB1dCBvbiB0aGUgY2xvc2UgYnV0dG9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnQ2xvc2UnYFxuXHQgKi9cblx0QElucHV0KCdhdUFyaWFDbG9zZUJ1dHRvbkxhYmVsJykgYXJpYUNsb3NlQnV0dG9uTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQ2xhc3NlcyB0byBhZGQgb24gdGhlIGJhY2tkcm9wIERPTSBlbGVtZW50LlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnJ2Bcblx0ICovXG5cdEBJbnB1dCgnYXVCYWNrZHJvcENsYXNzJykgYmFja2Ryb3BDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNsb3NlIGJ1dHRvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdEBJbnB1dCh7YWxpYXM6ICdhdUNsb3NlQnV0dG9uJywgdHJhbnNmb3JtOiBhdUJvb2xlYW5BdHRyaWJ1dGV9KSBjbG9zZUJ1dHRvbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQ1NTIGNsYXNzZXMgdG8gYmUgYXBwbGllZCBvbiB0aGUgd2lkZ2V0IG1haW4gY29udGFpbmVyXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYCcnYFxuXHQgKi9cblx0QElucHV0KCdhdUNsYXNzTmFtZScpIGNsYXNzTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBPcHRpb24gdG8gY3JlYXRlIGEgZnVsbHNjcmVlbiBtb2RhbCwgYWNjb3JkaW5nIHRvIHRoZSBib290c3RyYXAgZG9jdW1lbnRhdGlvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG5cdCAqL1xuXHRASW5wdXQoe2FsaWFzOiAnYXVGdWxsc2NyZWVuJywgdHJhbnNmb3JtOiBhdUJvb2xlYW5BdHRyaWJ1dGV9KSBmdWxsc2NyZWVuOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBTdHJ1Y3R1cmUgb2YgdGhlIG1vZGFsLlxuXHQgKiBUaGUgZGVmYXVsdCBzdHJ1Y3R1cmUgdXNlcyB7QGxpbmsgTW9kYWxQcm9wcy5oZWFkZXJ8aGVhZGVyfSwge0BsaW5rIE1vZGFsUHJvcHMuY2hpbGRyZW58Y2hpbGRyZW59IGFuZCB7QGxpbmsgTW9kYWxQcm9wcy5mb290ZXJ8Zm9vdGVyfS5cblx0ICovXG5cdEBJbnB1dCgnYXVTdHJ1Y3R1cmUnKSBzdHJ1Y3R1cmU6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBDb250ZW50Q2hpbGQoTW9kYWxTdHJ1Y3R1cmVEaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcblx0c2xvdFN0cnVjdHVyZUZyb21Db250ZW50OiBNb2RhbFN0cnVjdHVyZURpcmVjdGl2ZTxEYXRhPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogSGVhZGVyIG9mIHRoZSBtb2RhbC4gVGhlIGRlZmF1bHQgaGVhZGVyIGluY2x1ZGVzIHtAbGluayBNb2RhbFByb3BzLnRpdGxlfHRpdGxlfS5cblx0ICovXG5cdEBJbnB1dCgnYXVIZWFkZXInKSBoZWFkZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBDb250ZW50Q2hpbGQoTW9kYWxIZWFkZXJEaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcblx0c2xvdEhlYWRlckZyb21Db250ZW50OiBNb2RhbEhlYWRlckRpcmVjdGl2ZTxEYXRhPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogVGl0bGUgb2YgdGhlIG1vZGFsLlxuXHQgKi9cblx0QElucHV0KCdhdVRpdGxlJykgdGl0bGU6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdEBDb250ZW50Q2hpbGQoTW9kYWxUaXRsZURpcmVjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuXHRzbG90VGl0bGVGcm9tQ29udGVudDogTW9kYWxUaXRsZURpcmVjdGl2ZTxEYXRhPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQm9keSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRASW5wdXQoJ2F1Q2hpbGRyZW4nKSBjaGlsZHJlbjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0QENvbnRlbnRDaGlsZChNb2RhbEJvZHlEaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcblx0c2xvdERlZmF1bHRGcm9tQ29udGVudDogTW9kYWxCb2R5RGlyZWN0aXZlPERhdGE+IHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBGb290ZXIgb2YgdGhlIG1vZGFsLlxuXHQgKi9cblx0QElucHV0KCdhdUZvb3RlcicpIGZvb3RlcjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0QENvbnRlbnRDaGlsZChNb2RhbEZvb3RlckRpcmVjdGl2ZSwge3N0YXRpYzogZmFsc2V9KVxuXHRzbG90Rm9vdGVyRnJvbUNvbnRlbnQ6IE1vZGFsRm9vdGVyRGlyZWN0aXZlPERhdGE+IHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBEYXRhIHRvIHVzZSBpbiBjb250ZW50IHNsb3RzXG5cdCAqL1xuXHRASW5wdXQoJ2F1Q29udGVudERhdGEnKSBjb250ZW50RGF0YTogRGF0YSB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogRXZlbnQgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHZpc2libGUgcHJvcGVydHkgY2hhbmdlcy5cblx0ICpcblx0ICogQHBhcmFtIHZpc2libGUgLSBuZXcgdmFsdWUgb2YgdGhlIHZpc2libGUgcHJvcGVyeVxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqICgpID0+IHt9XG5cdCAqIGBgYFxuXHQgKi9cblx0QE91dHB1dCgnYXVWaXNpYmxlQ2hhbmdlJykgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuXHQvKipcblx0ICogRXZlbnQgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIG1vZGFsIGlzIGFib3V0IHRvIGJlIGNsb3NlZCAoaS5lLiB0aGUge0BsaW5rIE1vZGFsQXBpLmNsb3NlfGNsb3NlfSBtZXRob2Qgd2FzIGNhbGxlZCkuXG5cdCAqXG5cdCAqIEBwYXJhbSBldmVudCAtIGV2ZW50IGdpdmluZyBhY2Nlc3MgdG8gdGhlIGFyZ3VtZW50IGdpdmVuIHRvIHRoZSB7QGxpbmsgTW9kYWxBcGkuY2xvc2V8Y2xvc2V9IG1ldGhvZCBhbmQgYWxsb3dpbmdcblx0ICogdG8gY2FuY2VsIHRoZSBjbG9zZSBwcm9jZXNzLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqICgpID0+IHt9XG5cdCAqIGBgYFxuXHQgKi9cblx0QE91dHB1dCgnYXVCZWZvcmVDbG9zZScpIGJlZm9yZUNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RhbEJlZm9yZUNsb3NlRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB0cmFuc2l0aW9uIGlzIGNvbXBsZXRlZCBhbmQgdGhlIG1vZGFsIGlzIG5vdCB2aXNpYmxlLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqICgpID0+IHt9XG5cdCAqIGBgYFxuXHQgKi9cblx0QE91dHB1dCgnYXVIaWRkZW4nKSBoaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB0cmFuc2l0aW9uIGlzIGNvbXBsZXRlZCBhbmQgdGhlIG1vZGFsIGlzIHZpc2libGUuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWVcblx0ICogYGBgdHNcblx0ICogKCkgPT4ge31cblx0ICogYGBgXG5cdCAqL1xuXHRAT3V0cHV0KCdhdVNob3duJykgc2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0QFZpZXdDaGlsZCgnY29udGVudCcsIHtzdGF0aWM6IHRydWV9KVxuXHRzbG90Q2hpbGRyZW4/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcihcblx0XHRcdGNhbGxXaWRnZXRGYWN0b3J5PE1vZGFsV2lkZ2V0PERhdGE+Pih7XG5cdFx0XHRcdGZhY3Rvcnk6IGNyZWF0ZU1vZGFsLFxuXHRcdFx0XHR3aWRnZXROYW1lOiAnbW9kYWwnLFxuXHRcdFx0XHRkZWZhdWx0Q29uZmlnOiB7XG5cdFx0XHRcdFx0aGVhZGVyOiBtb2RhbERlZmF1bHRTbG90SGVhZGVyLFxuXHRcdFx0XHRcdHN0cnVjdHVyZTogbW9kYWxEZWZhdWx0U2xvdFN0cnVjdHVyZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0ZXZlbnRzOiB7XG5cdFx0XHRcdFx0b25TaG93bjogKCkgPT4gdGhpcy5zaG93bi5lbWl0KCksXG5cdFx0XHRcdFx0b25IaWRkZW46ICgpID0+IHRoaXMuaGlkZGVuLmVtaXQoKSxcblx0XHRcdFx0XHRvbkJlZm9yZUNsb3NlOiAoZXZlbnQpID0+IHRoaXMuYmVmb3JlQ2xvc2UuZW1pdChldmVudCksXG5cdFx0XHRcdFx0b25WaXNpYmxlQ2hhbmdlOiAoZXZlbnQpID0+IHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGV2ZW50KSxcblx0XHRcdFx0fSxcblx0XHRcdFx0c2xvdFRlbXBsYXRlczogKCkgPT5cblx0XHRcdFx0XHQoe1xuXHRcdFx0XHRcdFx0Y2hpbGRyZW46IHRoaXMuc2xvdERlZmF1bHRGcm9tQ29udGVudD8udGVtcGxhdGVSZWYsXG5cdFx0XHRcdFx0XHRmb290ZXI6IHRoaXMuc2xvdEZvb3RlckZyb21Db250ZW50Py50ZW1wbGF0ZVJlZixcblx0XHRcdFx0XHRcdGhlYWRlcjogdGhpcy5zbG90SGVhZGVyRnJvbUNvbnRlbnQ/LnRlbXBsYXRlUmVmLFxuXHRcdFx0XHRcdFx0c3RydWN0dXJlOiB0aGlzLnNsb3RTdHJ1Y3R1cmVGcm9tQ29udGVudD8udGVtcGxhdGVSZWYsXG5cdFx0XHRcdFx0XHR0aXRsZTogdGhpcy5zbG90VGl0bGVGcm9tQ29udGVudD8udGVtcGxhdGVSZWYsXG5cdFx0XHRcdFx0fSkgYXMgYW55LFxuXHRcdFx0XHRzbG90Q2hpbGRyZW46ICgpID0+IHRoaXMuc2xvdENoaWxkcmVuLFxuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxufVxuIl19
|
|
@@ -24,4 +24,4 @@ export { export_modalOutsideClick as modalOutsideClick };
|
|
|
24
24
|
*/
|
|
25
25
|
const export_modalCloseButtonClick = modalCloseButtonClick;
|
|
26
26
|
export { export_modalCloseButtonClick as modalCloseButtonClick };
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUl2STs7O0dBR0c7QUFDSCxNQUFNLDRCQUE0QixHQUEwQixxQkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQUMsNEJBQTRCLElBQUkscUJBQXFCLEVBQUMsQ0FBQztBQW1WL0Q7Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQXdFLFdBQWtCLENBQUM7QUFDbkgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLFdBQVcsRUFBQyxDQUFDO0FBSTNDOzs7R0FHRztBQUNILE1BQU0sd0JBQXdCLEdBQTZCLGlCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxpQkFBaUIsRUFBQyxDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sNEJBQTRCLEdBQWlDLHFCQUE0QixDQUFDO0FBQ2hHLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxxQkFBcUIsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRNb2RhbERlZmF1bHRDb25maWcsIGNyZWF0ZU1vZGFsLCBtb2RhbE91dHNpZGVDbGljaywgbW9kYWxDbG9zZUJ1dHRvbkNsaWNrfSBmcm9tICdAYWdub3MtdWkvY29yZS1ib290c3RyYXAvY29tcG9uZW50cy9tb2RhbCc7XG5pbXBvcnQgdHlwZSB7V2lkZ2V0U2xvdENvbnRleHQsIFNsb3RDb250ZW50LCBUcmFuc2l0aW9uRm4sIFdpZGdldCwgUHJvcHNDb25maWcsIERpcmVjdGl2ZX0gZnJvbSAnQGFnbm9zLXVpL2FuZ3VsYXItaGVhZGxlc3MnO1xuXG5cbi8qKlxuICogUmV0cmlldmUgYSBzaGFsbG93IGNvcHkgb2YgdGhlIGRlZmF1bHQgbW9kYWwgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgZGVmYXVsdCBtb2RhbCBjb25maWdcbiAqL1xuY29uc3QgZXhwb3J0X2dldE1vZGFsRGVmYXVsdENvbmZpZzogKCkgPT4gTW9kYWxQcm9wczxhbnk+ID0gZ2V0TW9kYWxEZWZhdWx0Q29uZmlnIGFzIGFueTtcbmV4cG9ydCB7ZXhwb3J0X2dldE1vZGFsRGVmYXVsdENvbmZpZyBhcyBnZXRNb2RhbERlZmF1bHRDb25maWd9O1xuXG5cblxuZXhwb3J0IHR5cGUgTW9kYWxDb250ZXh0PERhdGE+ID0gV2lkZ2V0U2xvdENvbnRleHQ8TW9kYWxXaWRnZXQ8RGF0YT4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsU3RhdGU8RGF0YT4ge1xuXHRcblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIGJhY2tkcm9wIGlzIGZ1bGx5IGhpZGRlbi4gVGhpcyBjYW4gYmUgdHJ1ZSBlaXRoZXIgYmVjYXVzZSB7QGxpbmsgTW9kYWxQcm9wcy5iYWNrZHJvcHxiYWNrZHJvcH0gaXMgZmFsc2Ugb3Jcblx0ICogYmVjYXVzZSB7QGxpbmsgTW9kYWxQcm9wcy52aXNpYmxlfHZpc2libGV9IGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBubyBjdXJyZW50IHRyYW5zaXRpb24uXG5cdCAqL1xuXHRiYWNrZHJvcEhpZGRlbjogYm9vbGVhbjtcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIGlzIGZ1bGx5IGhpZGRlbi5cblx0ICovXG5cdGhpZGRlbjogYm9vbGVhbjtcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlcmUgaXMgYW4gYWN0aXZlIHRyYW5zaXRpb24gdG8gZWl0aGVyIGRpc3BsYXkgb3IgaGlkZSB0aGUgbW9kYWwuXG5cdCAqL1xuXHR0cmFuc2l0aW9uaW5nOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogRE9NIGVsZW1lbnQgb2YgdGhlIG1vZGFsLlxuXHQgKi9cblx0bW9kYWxFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGw7XG5cdFxuXHQvKipcblx0ICogVmFsdWUgb2YgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHB1dCBvbiB0aGUgY2xvc2UgYnV0dG9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnQ2xvc2UnYFxuXHQgKi9cblx0YXJpYUNsb3NlQnV0dG9uTGFiZWw6IHN0cmluZztcblx0XG5cblx0LyoqXG5cdCAqIENsYXNzZXMgdG8gYWRkIG9uIHRoZSBiYWNrZHJvcCBET00gZWxlbWVudC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJydgXG5cdCAqL1xuXHRiYWNrZHJvcENsYXNzOiBzdHJpbmc7XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNsb3NlIGJ1dHRvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGNsb3NlQnV0dG9uOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hpY2ggZWxlbWVudCBzaG91bGQgY29udGFpbiB0aGUgbW9kYWwgYW5kIGJhY2tkcm9wIERPTSBlbGVtZW50cy5cblx0ICogSWYgaXQgaXMgbm90IG51bGwsIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzIGFyZSBtb3ZlZCB0byB0aGUgc3BlY2lmaWVkIGNvbnRhaW5lci5cblx0ICogT3RoZXJ3aXNlLCB0aGV5IHN0YXkgd2hlcmUgdGhlIHdpZGdldCBpcyBsb2NhdGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQuYm9keSA6IG51bGxcblx0ICogYGBgXG5cdCAqL1xuXHRjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbDtcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcblx0ICovXG5cdHZpc2libGU6IGJvb2xlYW47XG5cdFxuXHQvKipcblx0ICogQ1NTIGNsYXNzZXMgdG8gYmUgYXBwbGllZCBvbiB0aGUgd2lkZ2V0IG1haW4gY29udGFpbmVyXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYCcnYFxuXHQgKi9cblx0Y2xhc3NOYW1lOiBzdHJpbmc7XG5cdFxuXHQvKipcblx0ICogRGF0YSB0byB1c2UgaW4gY29udGVudCBzbG90c1xuXHQgKi9cblx0Y29udGVudERhdGE6IERhdGE7XG5cdFxuXHQvKipcblx0ICogQm9keSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRjaGlsZHJlbjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cblx0LyoqXG5cdCAqIEZvb3RlciBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRmb290ZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBIZWFkZXIgb2YgdGhlIG1vZGFsLiBUaGUgZGVmYXVsdCBoZWFkZXIgaW5jbHVkZXMge0BsaW5rIE1vZGFsUHJvcHMudGl0bGV8dGl0bGV9LlxuXHQgKi9cblx0aGVhZGVyOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRcblxuXHQvKipcblx0ICogU3RydWN0dXJlIG9mIHRoZSBtb2RhbC5cblx0ICogVGhlIGRlZmF1bHQgc3RydWN0dXJlIHVzZXMge0BsaW5rIE1vZGFsUHJvcHMuaGVhZGVyfGhlYWRlcn0sIHtAbGluayBNb2RhbFByb3BzLmNoaWxkcmVufGNoaWxkcmVufSBhbmQge0BsaW5rIE1vZGFsUHJvcHMuZm9vdGVyfGZvb3Rlcn0uXG5cdCAqL1xuXHRzdHJ1Y3R1cmU6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBUaXRsZSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHR0aXRsZTogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cdC8qKlxuXHQgKiBPcHRpb24gdG8gY3JlYXRlIGEgZnVsbHNjcmVlbiBtb2RhbCwgYWNjb3JkaW5nIHRvIHRoZSBib290c3RyYXAgZG9jdW1lbnRhdGlvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG5cdCAqL1xuXHRmdWxsc2NyZWVuOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUHJvcHM8RGF0YT4ge1xuXHRcblx0LyoqXG5cdCAqIFRoZSB0cmFuc2l0aW9uIHRvIHVzZSBmb3IgdGhlIGJhY2tkcm9wIGJlaGluZCB0aGUgbW9kYWwgKGlmIHByZXNlbnQpLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWRlVHJhbnNpdGlvbmBcblx0ICovXG5cdGJhY2tkcm9wVHJhbnNpdGlvbjogVHJhbnNpdGlvbkZuO1xuXHRcblxuXHQvKipcblx0ICogVGhlIHRyYW5zaXRpb24gdG8gdXNlIGZvciB0aGUgbW9kYWwuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhZGVUcmFuc2l0aW9uYFxuXHQgKi9cblx0bW9kYWxUcmFuc2l0aW9uOiBUcmFuc2l0aW9uRm47XG5cdFxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgYW5kIGl0cyBiYWNrZHJvcCAoaWYgcHJlc2VudCkgc2hvdWxkIGJlIGFuaW1hdGVkIHdoZW4gc2hvd24gb3IgaGlkZGVuLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0YW5pbWF0ZWQ6IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIGEgYmFja2Ryb3Agc2hvdWxkIGJlIGNyZWF0ZWQgYmVoaW5kIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGJhY2tkcm9wOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIGNsaWNraW5nIG9uIHRoZSB2aWV3cG9ydCBvdXRzaWRlIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGNsb3NlT25PdXRzaWRlQ2xpY2s6IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgbW9kYWwgaXMgYWJvdXQgdG8gYmUgY2xvc2VkIChpLmUuIHRoZSB7QGxpbmsgTW9kYWxBcGkuY2xvc2V8Y2xvc2V9IG1ldGhvZCB3YXMgY2FsbGVkKS5cblx0ICpcblx0ICogQHBhcmFtIGV2ZW50IC0gZXZlbnQgZ2l2aW5nIGFjY2VzcyB0byB0aGUgYXJndW1lbnQgZ2l2ZW4gdG8gdGhlIHtAbGluayBNb2RhbEFwaS5jbG9zZXxjbG9zZX0gbWV0aG9kIGFuZCBhbGxvd2luZ1xuXHQgKiB0byBjYW5jZWwgdGhlIGNsb3NlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWVcblx0ICogYGBgdHNcblx0ICogKCkgPT4ge31cblx0ICogYGBgXG5cdCAqL1xuXHRvbkJlZm9yZUNsb3NlOiAoZXZlbnQ6IE1vZGFsQmVmb3JlQ2xvc2VFdmVudCkgPT4gdm9pZDtcblx0XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB2aXNpYmxlIHByb3BlcnR5IGNoYW5nZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSB2aXNpYmxlIC0gbmV3IHZhbHVlIG9mIHRoZSB2aXNpYmxlIHByb3Blcnlcblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uVmlzaWJsZUNoYW5nZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cdFxuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQgYW5kIHRoZSBtb2RhbCBpcyBub3QgdmlzaWJsZS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uSGlkZGVuOiAoKSA9PiB2b2lkO1xuXHRcblxuXHQvKipcblx0ICogRXZlbnQgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkIGFuZCB0aGUgbW9kYWwgaXMgdmlzaWJsZS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uU2hvd246ICgpID0+IHZvaWQ7XG5cdFxuXHQvKipcblx0ICogVmFsdWUgb2YgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHB1dCBvbiB0aGUgY2xvc2UgYnV0dG9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnQ2xvc2UnYFxuXHQgKi9cblx0YXJpYUNsb3NlQnV0dG9uTGFiZWw6IHN0cmluZztcblx0XG5cblx0LyoqXG5cdCAqIENsYXNzZXMgdG8gYWRkIG9uIHRoZSBiYWNrZHJvcCBET00gZWxlbWVudC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJydgXG5cdCAqL1xuXHRiYWNrZHJvcENsYXNzOiBzdHJpbmc7XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNsb3NlIGJ1dHRvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGNsb3NlQnV0dG9uOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hpY2ggZWxlbWVudCBzaG91bGQgY29udGFpbiB0aGUgbW9kYWwgYW5kIGJhY2tkcm9wIERPTSBlbGVtZW50cy5cblx0ICogSWYgaXQgaXMgbm90IG51bGwsIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzIGFyZSBtb3ZlZCB0byB0aGUgc3BlY2lmaWVkIGNvbnRhaW5lci5cblx0ICogT3RoZXJ3aXNlLCB0aGV5IHN0YXkgd2hlcmUgdGhlIHdpZGdldCBpcyBsb2NhdGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQuYm9keSA6IG51bGxcblx0ICogYGBgXG5cdCAqL1xuXHRjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbDtcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcblx0ICovXG5cdHZpc2libGU6IGJvb2xlYW47XG5cdFxuXHQvKipcblx0ICogQ1NTIGNsYXNzZXMgdG8gYmUgYXBwbGllZCBvbiB0aGUgd2lkZ2V0IG1haW4gY29udGFpbmVyXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYCcnYFxuXHQgKi9cblx0Y2xhc3NOYW1lOiBzdHJpbmc7XG5cdFxuXHQvKipcblx0ICogRGF0YSB0byB1c2UgaW4gY29udGVudCBzbG90c1xuXHQgKi9cblx0Y29udGVudERhdGE6IERhdGE7XG5cdFxuXHQvKipcblx0ICogQm9keSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRjaGlsZHJlbjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cblx0LyoqXG5cdCAqIEZvb3RlciBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRmb290ZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBIZWFkZXIgb2YgdGhlIG1vZGFsLiBUaGUgZGVmYXVsdCBoZWFkZXIgaW5jbHVkZXMge0BsaW5rIE1vZGFsUHJvcHMudGl0bGV8dGl0bGV9LlxuXHQgKi9cblx0aGVhZGVyOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRcblxuXHQvKipcblx0ICogU3RydWN0dXJlIG9mIHRoZSBtb2RhbC5cblx0ICogVGhlIGRlZmF1bHQgc3RydWN0dXJlIHVzZXMge0BsaW5rIE1vZGFsUHJvcHMuaGVhZGVyfGhlYWRlcn0sIHtAbGluayBNb2RhbFByb3BzLmNoaWxkcmVufGNoaWxkcmVufSBhbmQge0BsaW5rIE1vZGFsUHJvcHMuZm9vdGVyfGZvb3Rlcn0uXG5cdCAqL1xuXHRzdHJ1Y3R1cmU6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBUaXRsZSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHR0aXRsZTogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cdC8qKlxuXHQgKiBPcHRpb24gdG8gY3JlYXRlIGEgZnVsbHNjcmVlbiBtb2RhbCwgYWNjb3JkaW5nIHRvIHRoZSBib290c3RyYXAgZG9jdW1lbnRhdGlvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG5cdCAqL1xuXHRmdWxsc2NyZWVuOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQXBpPERhdGE+IHtcblx0XG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gY2hhbmdlIHNvbWUgbW9kYWwgcHJvcGVydGllcy5cblx0ICovXG5cdHBhdGNoOiBNb2RhbFdpZGdldDxEYXRhPlsncGF0Y2gnXTtcblx0XG5cdC8qKlxuXHQgKiBDbG9zZXMgdGhlIG1vZGFsIHdpdGggdGhlIGdpdmVuIHJlc3VsdC5cblx0ICpcblx0ICogQHBhcmFtIHJlc3VsdCAtIHJlc3VsdCBvZiB0aGUgbW9kYWwsIGFzIHBhc3NlZCBpbiB0aGUge0BsaW5rIE1vZGFsQmVmb3JlQ2xvc2VFdmVudC5yZXN1bHR8cmVzdWx0fSBwcm9wZXJ0eSBvZiB0aGUgZXZlbnQgcGFzc2VkIHRvIHRoZVxuXHQgKiB7QGxpbmsgTW9kYWxQcm9wcy5vbkJlZm9yZUNsb3NlfG9uQmVmb3JlQ2xvc2V9IGV2ZW50IGhhbmRsZXIgKGFuZCBwb3NzaWJseSBjaGFuZ2VkIGJ5IGl0KSBhbmQgcmVzb2x2ZWQgYnkgdGhlIHByb21pc2UgcmV0dXJuZWQgYnkgdGhlIHtAbGluayBNb2RhbEFwaS5vcGVufG9wZW59IG1ldGhvZC5cblx0ICovXG5cdGNsb3NlKHJlc3VsdD86IGFueSk6IHZvaWQ7XG5cdFxuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgbW9kYWwgYW5kIHJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuXHQgKiBUaGUgcmVzb2x2ZWQgdmFsdWUgaXMgdGhlIHJlc3VsdCBwYXNzZWQgdG8gdGhlIHtAbGluayBNb2RhbEFwaS5jbG9zZXxjbG9zZX0gbWV0aG9kIGFuZCBwb3NzaWJseSBjaGFuZ2VkIGJ5IHRoZVxuXHQgKiB7QGxpbmsgTW9kYWxQcm9wcy5vbkJlZm9yZUNsb3NlfG9uQmVmb3JlQ2xvc2V9IGV2ZW50IGhhbmRsZXJcblx0ICovXG5cdG9wZW4oKTogUHJvbWlzZTxhbnk+O1xufVxuXG5cblxuZXhwb3J0IHR5cGUgTW9kYWxXaWRnZXQ8RGF0YT4gPSBXaWRnZXQ8TW9kYWxQcm9wczxEYXRhPiwgTW9kYWxTdGF0ZTxEYXRhPiwgTW9kYWxBcGk8RGF0YT4sIE1vZGFsQWN0aW9ucywgTW9kYWxEaXJlY3RpdmVzPjtcblxuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBtb2RhbCB3aWRnZXQgaW5zdGFuY2UuXG4gKiBAcGFyYW0gY29uZmlnIC0gY29uZmlnIG9mIHRoZSBtb2RhbCwgZWl0aGVyIGFzIGEgc3RvcmUgb3IgYXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdmFsdWVzIG9yIHN0b3Jlcy5cbiAqIEByZXR1cm5zIGEgbmV3IG1vZGFsIHdpZGdldCBpbnN0YW5jZVxuICovXG5jb25zdCBleHBvcnRfY3JlYXRlTW9kYWw6IDxEYXRhPihjb25maWc/OiBQcm9wc0NvbmZpZzxNb2RhbFByb3BzPERhdGE+PikgPT4gTW9kYWxXaWRnZXQ8RGF0YT4gPSBjcmVhdGVNb2RhbCBhcyBhbnk7XG5leHBvcnQge2V4cG9ydF9jcmVhdGVNb2RhbCBhcyBjcmVhdGVNb2RhbH07XG5cblxuXG4vKipcbiAqIFZhbHVlIHByZXNlbnQgaW4gdGhlIHtAbGluayBNb2RhbEJlZm9yZUNsb3NlRXZlbnQucmVzdWx0fHJlc3VsdH0gcHJvcGVydHkgb2YgdGhlIHtAbGluayBNb2RhbFByb3BzLm9uQmVmb3JlQ2xvc2V8b25CZWZvcmVDbG9zZX0gZXZlbnRcbiAqIGFuZCByZXR1cm5lZCBieSB0aGUge0BsaW5rIE1vZGFsQXBpLm9wZW58b3Blbn0gbWV0aG9kLCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQgYnkgYSBjbGljayBpbnNpZGUgdGhlIHZpZXdwb3J0IGJ1dCBvdXRzaWRlIHRoZSBtb2RhbC5cbiAqL1xuY29uc3QgZXhwb3J0X21vZGFsT3V0c2lkZUNsaWNrOiB0eXBlb2YgbW9kYWxPdXRzaWRlQ2xpY2sgPSBtb2RhbE91dHNpZGVDbGljayBhcyBhbnk7XG5leHBvcnQge2V4cG9ydF9tb2RhbE91dHNpZGVDbGljayBhcyBtb2RhbE91dHNpZGVDbGlja307XG5cblxuXG4vKipcbiAqIFZhbHVlIHByZXNlbnQgaW4gdGhlIHtAbGluayBNb2RhbEJlZm9yZUNsb3NlRXZlbnQucmVzdWx0fHJlc3VsdH0gcHJvcGVydHkgb2YgdGhlIHtAbGluayBNb2RhbFByb3BzLm9uQmVmb3JlQ2xvc2V8b25CZWZvcmVDbG9zZX0gZXZlbnRcbiAqIGFuZCByZXR1cm5lZCBieSB0aGUge0BsaW5rIE1vZGFsQXBpLm9wZW58b3Blbn0gbWV0aG9kLCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQgYnkgYSBjbGljayBvbiB0aGUgY2xvc2UgYnV0dG9uLlxuICovXG5jb25zdCBleHBvcnRfbW9kYWxDbG9zZUJ1dHRvbkNsaWNrOiB0eXBlb2YgbW9kYWxDbG9zZUJ1dHRvbkNsaWNrID0gbW9kYWxDbG9zZUJ1dHRvbkNsaWNrIGFzIGFueTtcbmV4cG9ydCB7ZXhwb3J0X21vZGFsQ2xvc2VCdXR0b25DbGljayBhcyBtb2RhbENsb3NlQnV0dG9uQ2xpY2t9O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQmVmb3JlQ2xvc2VFdmVudCB7XG5cdFxuXHQvKipcblx0ICogUmVzdWx0IG9mIHRoZSBtb2RhbCwgd2hpY2ggaXMgdGhlIHZhbHVlIHBhc3NlZCB0byB0aGUge0BsaW5rIE1vZGFsQXBpLmNsb3NlfGNsb3NlfSBtZXRob2Rcblx0ICogYW5kIGxhdGVyIHJlc29sdmVkIGJ5IHRoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSB7QGxpbmsgTW9kYWxBcGkub3BlbnxvcGVufSBtZXRob2QuXG5cdCAqIElmIG5lZWRlZCwgaXQgY2FuIGJlIGNoYW5nZWQgZnJvbSB0aGUge0BsaW5rIE1vZGFsUHJvcHMub25CZWZvcmVDbG9zZXxvbkJlZm9yZUNsb3NlfSBldmVudCBoYW5kbGVyLlxuXHQgKi9cblx0cmVzdWx0OiBhbnk7XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRvIGNhbmNlbCB0aGUgY2xvc2Ugb2YgdGhlIG1vZGFsLlxuXHQgKiBJdCBjYW4gYmUgY2hhbmdlZCBmcm9tIHRoZSB7QGxpbmsgTW9kYWxQcm9wcy5vbkJlZm9yZUNsb3NlfG9uQmVmb3JlQ2xvc2V9IGV2ZW50IGhhbmRsZXIuXG5cdCAqL1xuXHRjYW5jZWw6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxBY3Rpb25zIHtcblx0XG5cdC8qKlxuXHQgKiBBY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZSBjbG9zZSBidXR0b24uIEl0IGNsb3NlcyB0aGUgbW9kYWwgd2l0aCB0aGUge0BsaW5rIG1vZGFsQ2xvc2VCdXR0b25DbGlja30gcmVzdWx0LlxuXHQgKiBAcGFyYW0gZXZlbnQgLSBtb3VzZSBldmVudFxuXHQgKi9cblx0Y2xvc2VCdXR0b25DbGljayhldmVudDogUGljazxNb3VzZUV2ZW50LCBuZXZlcj4pOiB2b2lkO1xuXHRcblxuXHQvKipcblx0ICogQWN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgbW9kYWwgRE9NIGVsZW1lbnQgKHdoaWNoIGlzIHN1cHBvc2VkIHRvIGhhdmUgdGhlIHNpemUgb2YgdGhlIGZ1bGwgdmlld3BvcnQpLlxuXHQgKiBJZiB0aGUgY2xpY2sgaXMgbm90IGRvbmUgb24gYSBkZXNjZW5kYW50IG9mIHRoZSBtb2RhbCBET00gZWxlbWVudCwgaXQgaXMgY29uc2lkZXJlZCB0byBiZSBkb25lIG91dHNpZGUgdGhlIG1vZGFsXG5cdCAqIGFuZCwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUge0BsaW5rIE1vZGFsUHJvcHMuY2xvc2VPbk91dHNpZGVDbGlja3xjbG9zZU9uT3V0c2lkZUNsaWNrfSBwcm9wLCB0aGUgbW9kYWwgaXMgb3IgaXNuJ3QgY2xvc2VkXG5cdCAqICh3aXRoIHRoZSB7QGxpbmsgbW9kYWxPdXRzaWRlQ2xpY2t9IHJlc3VsdCkuXG5cdCAqIEBwYXJhbSBldmVudCAtIG1vdXNlIGV2ZW50XG5cdCAqL1xuXHRtb2RhbENsaWNrKGV2ZW50OiBQaWNrPE1vdXNlRXZlbnQsICd0YXJnZXQnIHwgJ2N1cnJlbnRUYXJnZXQnPik6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxEaXJlY3RpdmVzIHtcblx0XG5cdC8qKlxuXHQgKiBEaXJlY3RpdmUgdG8gcHV0IG9uIHRoZSBtb2RhbCBET00gZWxlbWVudC5cblx0ICovXG5cdG1vZGFsRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG5cdFxuXG5cdC8qKlxuXHQgKiBEaXJlY3RpdmUgdG8gcHV0IG9uIHRoZSBiYWNrZHJvcCBET00gZWxlbWVudC5cblx0ICovXG5cdGJhY2tkcm9wRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG5cdFxuXG5cdC8qKlxuXHQgKiBQb3J0YWwgZGlyZWN0aXZlIHRvIHB1dCBvbiB0aGUgbW9kYWwgRE9NIGVsZW1lbnQuXG5cdCAqL1xuXHRtb2RhbFBvcnRhbERpcmVjdGl2ZTogRGlyZWN0aXZlO1xuXHRcblxuXHQvKipcblx0ICogUG9ydGFsIGRpcmVjdGl2ZSB0byBwdXQgb24gdGhlIGJhY2tkcm9wIERPTSBlbGVtZW50LlxuXHQgKi9cblx0YmFja2Ryb3BQb3J0YWxEaXJlY3RpdmU6IERpcmVjdGl2ZTtcblx0XG5cblx0LyoqXG5cdCAqIERpcmVjdGl2ZSB0aGF0IGFkZHMgYWxsIHRoZSBuZWNlc3NhcnkgYXR0cmlidXRlcyB0byB0aGUgY2xvc2UgYnV0dG9uXG5cdCAqL1xuXHRjbG9zZUJ1dHRvbkRpcmVjdGl2ZTogRGlyZWN0aXZlO1xuXHRcblx0LyoqXG5cdCAqIERpcmVjdGl2ZSB0byBhcHBseSB0byB0aGUgZGlhbG9nIGVsZW1lbnQgd2hlbiB1c2luZyB0aGUgbmF0aXZlIFtIVE1MRGlhbG9nRWxlbWVudF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hUTUxEaWFsb2dFbGVtZW50KVxuXHQgKi9cblx0ZGlhbG9nRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG59XG5cbiJdfQ==
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUl2STs7O0dBR0c7QUFDSCxNQUFNLDRCQUE0QixHQUEwQixxQkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQUMsNEJBQTRCLElBQUkscUJBQXFCLEVBQUMsQ0FBQztBQTRXL0Q7Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQXdFLFdBQWtCLENBQUM7QUFDbkgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLFdBQVcsRUFBQyxDQUFDO0FBSTNDOzs7R0FHRztBQUNILE1BQU0sd0JBQXdCLEdBQTZCLGlCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxpQkFBaUIsRUFBQyxDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sNEJBQTRCLEdBQWlDLHFCQUE0QixDQUFDO0FBQ2hHLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxxQkFBcUIsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRNb2RhbERlZmF1bHRDb25maWcsIGNyZWF0ZU1vZGFsLCBtb2RhbE91dHNpZGVDbGljaywgbW9kYWxDbG9zZUJ1dHRvbkNsaWNrfSBmcm9tICdAYWdub3MtdWkvY29yZS1ib290c3RyYXAvY29tcG9uZW50cy9tb2RhbCc7XG5pbXBvcnQgdHlwZSB7V2lkZ2V0U2xvdENvbnRleHQsIFNsb3RDb250ZW50LCBUcmFuc2l0aW9uRm4sIFdpZGdldCwgUHJvcHNDb25maWcsIERpcmVjdGl2ZX0gZnJvbSAnQGFnbm9zLXVpL2FuZ3VsYXItaGVhZGxlc3MnO1xuXG5cbi8qKlxuICogUmV0cmlldmUgYSBzaGFsbG93IGNvcHkgb2YgdGhlIGRlZmF1bHQgbW9kYWwgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgZGVmYXVsdCBtb2RhbCBjb25maWdcbiAqL1xuY29uc3QgZXhwb3J0X2dldE1vZGFsRGVmYXVsdENvbmZpZzogKCkgPT4gTW9kYWxQcm9wczxhbnk+ID0gZ2V0TW9kYWxEZWZhdWx0Q29uZmlnIGFzIGFueTtcbmV4cG9ydCB7ZXhwb3J0X2dldE1vZGFsRGVmYXVsdENvbmZpZyBhcyBnZXRNb2RhbERlZmF1bHRDb25maWd9O1xuXG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IGZvciBhIG1vZGFsIGNvbXBvbmVudC5cbiAqXG4gKiBAdGVtcGxhdGUgRGF0YSAtIFRoZSB0eXBlIG9mIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBtb2RhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbENvbnRleHQ8RGF0YT4gZXh0ZW5kcyBXaWRnZXRTbG90Q29udGV4dDxNb2RhbFdpZGdldDxEYXRhPj4ge31cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzdGF0ZSBvZiBhIG1vZGFsIGNvbXBvbmVudC5cbiAqXG4gKiBAdGVtcGxhdGUgRGF0YSAtIFRoZSB0eXBlIG9mIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxTdGF0ZTxEYXRhPiB7XG5cdFxuXHQvKipcblx0ICogV2hldGhlciB0aGUgYmFja2Ryb3AgaXMgZnVsbHkgaGlkZGVuLiBUaGlzIGNhbiBiZSB0cnVlIGVpdGhlciBiZWNhdXNlIHtAbGluayBNb2RhbFByb3BzLmJhY2tkcm9wfGJhY2tkcm9wfSBpcyBmYWxzZSBvclxuXHQgKiBiZWNhdXNlIHtAbGluayBNb2RhbFByb3BzLnZpc2libGV8dmlzaWJsZX0gaXMgZmFsc2UgYW5kIHRoZXJlIGlzIG5vIGN1cnJlbnQgdHJhbnNpdGlvbi5cblx0ICovXG5cdGJhY2tkcm9wSGlkZGVuOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgaXMgZnVsbHkgaGlkZGVuLlxuXHQgKi9cblx0aGlkZGVuOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0aGVyZSBpcyBhbiBhY3RpdmUgdHJhbnNpdGlvbiB0byBlaXRoZXIgZGlzcGxheSBvciBoaWRlIHRoZSBtb2RhbC5cblx0ICovXG5cdHRyYW5zaXRpb25pbmc6IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBET00gZWxlbWVudCBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcblx0XG5cdC8qKlxuXHQgKiBWYWx1ZSBvZiB0aGUgYXJpYS1sYWJlbCBhdHRyaWJ1dGUgdG8gcHV0IG9uIHRoZSBjbG9zZSBidXR0b24uXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYCdDbG9zZSdgXG5cdCAqL1xuXHRhcmlhQ2xvc2VCdXR0b25MYWJlbDogc3RyaW5nO1xuXHRcblxuXHQvKipcblx0ICogQ2xhc3NlcyB0byBhZGQgb24gdGhlIGJhY2tkcm9wIERPTSBlbGVtZW50LlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnJ2Bcblx0ICovXG5cdGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY2xvc2UgYnV0dG9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0Y2xvc2VCdXR0b246IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGljaCBlbGVtZW50IHNob3VsZCBjb250YWluIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzLlxuXHQgKiBJZiBpdCBpcyBub3QgbnVsbCwgdGhlIG1vZGFsIGFuZCBiYWNrZHJvcCBET00gZWxlbWVudHMgYXJlIG1vdmVkIHRvIHRoZSBzcGVjaWZpZWQgY29udGFpbmVyLlxuXHQgKiBPdGhlcndpc2UsIHRoZXkgc3RheSB3aGVyZSB0aGUgd2lkZ2V0IGlzIGxvY2F0ZWQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWVcblx0ICogYGBgdHNcblx0ICogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudC5ib2R5IDogbnVsbFxuXHQgKiBgYGBcblx0ICovXG5cdGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsO1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgc2hvdWxkIGJlIHZpc2libGUgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuXHQgKi9cblx0dmlzaWJsZTogYm9vbGVhbjtcblx0XG5cdC8qKlxuXHQgKiBDU1MgY2xhc3NlcyB0byBiZSBhcHBsaWVkIG9uIHRoZSB3aWRnZXQgbWFpbiBjb250YWluZXJcblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJydgXG5cdCAqL1xuXHRjbGFzc05hbWU6IHN0cmluZztcblx0XG5cdC8qKlxuXHQgKiBEYXRhIHRvIHVzZSBpbiBjb250ZW50IHNsb3RzXG5cdCAqL1xuXHRjb250ZW50RGF0YTogRGF0YTtcblx0XG5cdC8qKlxuXHQgKiBCb2R5IG9mIHRoZSBtb2RhbC5cblx0ICovXG5cdGNoaWxkcmVuOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRcblxuXHQvKipcblx0ICogRm9vdGVyIG9mIHRoZSBtb2RhbC5cblx0ICovXG5cdGZvb3RlcjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cblx0LyoqXG5cdCAqIEhlYWRlciBvZiB0aGUgbW9kYWwuIFRoZSBkZWZhdWx0IGhlYWRlciBpbmNsdWRlcyB7QGxpbmsgTW9kYWxQcm9wcy50aXRsZXx0aXRsZX0uXG5cdCAqL1xuXHRoZWFkZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBTdHJ1Y3R1cmUgb2YgdGhlIG1vZGFsLlxuXHQgKiBUaGUgZGVmYXVsdCBzdHJ1Y3R1cmUgdXNlcyB7QGxpbmsgTW9kYWxQcm9wcy5oZWFkZXJ8aGVhZGVyfSwge0BsaW5rIE1vZGFsUHJvcHMuY2hpbGRyZW58Y2hpbGRyZW59IGFuZCB7QGxpbmsgTW9kYWxQcm9wcy5mb290ZXJ8Zm9vdGVyfS5cblx0ICovXG5cdHN0cnVjdHVyZTogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cblx0LyoqXG5cdCAqIFRpdGxlIG9mIHRoZSBtb2RhbC5cblx0ICovXG5cdHRpdGxlOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRcblx0LyoqXG5cdCAqIE9wdGlvbiB0byBjcmVhdGUgYSBmdWxsc2NyZWVuIG1vZGFsLCBhY2NvcmRpbmcgdG8gdGhlIGJvb3RzdHJhcCBkb2N1bWVudGF0aW9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcblx0ICovXG5cdGZ1bGxzY3JlZW46IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgcHJvcGVydGllcyBmb3IgYSBtb2RhbCBjb21wb25lbnQuXG4gKlxuICogQHRlbXBsYXRlIERhdGEgLSBUaGUgdHlwZSBvZiBkYXRhIHRoYXQgdGhlIG1vZGFsIHdpbGwgaGFuZGxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUHJvcHM8RGF0YT4ge1xuXHRcblx0LyoqXG5cdCAqIFRoZSB0cmFuc2l0aW9uIHRvIHVzZSBmb3IgdGhlIGJhY2tkcm9wIGJlaGluZCB0aGUgbW9kYWwgKGlmIHByZXNlbnQpLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWRlVHJhbnNpdGlvbmBcblx0ICovXG5cdGJhY2tkcm9wVHJhbnNpdGlvbjogVHJhbnNpdGlvbkZuO1xuXHRcblxuXHQvKipcblx0ICogVGhlIHRyYW5zaXRpb24gdG8gdXNlIGZvciB0aGUgbW9kYWwuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYGZhZGVUcmFuc2l0aW9uYFxuXHQgKi9cblx0bW9kYWxUcmFuc2l0aW9uOiBUcmFuc2l0aW9uRm47XG5cdFxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgYW5kIGl0cyBiYWNrZHJvcCAoaWYgcHJlc2VudCkgc2hvdWxkIGJlIGFuaW1hdGVkIHdoZW4gc2hvd24gb3IgaGlkZGVuLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGB0cnVlYFxuXHQgKi9cblx0YW5pbWF0ZWQ6IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIGEgYmFja2Ryb3Agc2hvdWxkIGJlIGNyZWF0ZWQgYmVoaW5kIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGJhY2tkcm9wOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0aGUgbW9kYWwgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIGNsaWNraW5nIG9uIHRoZSB2aWV3cG9ydCBvdXRzaWRlIHRoZSBtb2RhbC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGNsb3NlT25PdXRzaWRlQ2xpY2s6IGJvb2xlYW47XG5cdFxuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgbW9kYWwgaXMgYWJvdXQgdG8gYmUgY2xvc2VkIChpLmUuIHRoZSB7QGxpbmsgTW9kYWxBcGkuY2xvc2V8Y2xvc2V9IG1ldGhvZCB3YXMgY2FsbGVkKS5cblx0ICpcblx0ICogQHBhcmFtIGV2ZW50IC0gZXZlbnQgZ2l2aW5nIGFjY2VzcyB0byB0aGUgYXJndW1lbnQgZ2l2ZW4gdG8gdGhlIHtAbGluayBNb2RhbEFwaS5jbG9zZXxjbG9zZX0gbWV0aG9kIGFuZCBhbGxvd2luZ1xuXHQgKiB0byBjYW5jZWwgdGhlIGNsb3NlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWVcblx0ICogYGBgdHNcblx0ICogKCkgPT4ge31cblx0ICogYGBgXG5cdCAqL1xuXHRvbkJlZm9yZUNsb3NlOiAoZXZlbnQ6IE1vZGFsQmVmb3JlQ2xvc2VFdmVudCkgPT4gdm9pZDtcblx0XG5cblx0LyoqXG5cdCAqIEV2ZW50IHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB2aXNpYmxlIHByb3BlcnR5IGNoYW5nZXMuXG5cdCAqXG5cdCAqIEBwYXJhbSB2aXNpYmxlIC0gbmV3IHZhbHVlIG9mIHRoZSB2aXNpYmxlIHByb3Blcnlcblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uVmlzaWJsZUNoYW5nZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cdFxuXG5cdC8qKlxuXHQgKiBFdmVudCB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjb21wbGV0ZWQgYW5kIHRoZSBtb2RhbCBpcyBub3QgdmlzaWJsZS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uSGlkZGVuOiAoKSA9PiB2b2lkO1xuXHRcblxuXHQvKipcblx0ICogRXZlbnQgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkIGFuZCB0aGUgbW9kYWwgaXMgdmlzaWJsZS5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZVxuXHQgKiBgYGB0c1xuXHQgKiAoKSA9PiB7fVxuXHQgKiBgYGBcblx0ICovXG5cdG9uU2hvd246ICgpID0+IHZvaWQ7XG5cdFxuXHQvKipcblx0ICogVmFsdWUgb2YgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHB1dCBvbiB0aGUgY2xvc2UgYnV0dG9uLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGAnQ2xvc2UnYFxuXHQgKi9cblx0YXJpYUNsb3NlQnV0dG9uTGFiZWw6IHN0cmluZztcblx0XG5cblx0LyoqXG5cdCAqIENsYXNzZXMgdG8gYWRkIG9uIHRoZSBiYWNrZHJvcCBET00gZWxlbWVudC5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgJydgXG5cdCAqL1xuXHRiYWNrZHJvcENsYXNzOiBzdHJpbmc7XG5cdFxuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGNsb3NlIGJ1dHRvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcblx0ICovXG5cdGNsb3NlQnV0dG9uOiBib29sZWFuO1xuXHRcblxuXHQvKipcblx0ICogV2hpY2ggZWxlbWVudCBzaG91bGQgY29udGFpbiB0aGUgbW9kYWwgYW5kIGJhY2tkcm9wIERPTSBlbGVtZW50cy5cblx0ICogSWYgaXQgaXMgbm90IG51bGwsIHRoZSBtb2RhbCBhbmQgYmFja2Ryb3AgRE9NIGVsZW1lbnRzIGFyZSBtb3ZlZCB0byB0aGUgc3BlY2lmaWVkIGNvbnRhaW5lci5cblx0ICogT3RoZXJ3aXNlLCB0aGV5IHN0YXkgd2hlcmUgdGhlIHdpZGdldCBpcyBsb2NhdGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlXG5cdCAqIGBgYHRzXG5cdCAqIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQuYm9keSA6IG51bGxcblx0ICogYGBgXG5cdCAqL1xuXHRjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbDtcblx0XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgdGhlIG1vZGFsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVkLlxuXHQgKlxuXHQgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcblx0ICovXG5cdHZpc2libGU6IGJvb2xlYW47XG5cdFxuXHQvKipcblx0ICogQ1NTIGNsYXNzZXMgdG8gYmUgYXBwbGllZCBvbiB0aGUgd2lkZ2V0IG1haW4gY29udGFpbmVyXG5cdCAqXG5cdCAqIEBkZWZhdWx0VmFsdWUgYCcnYFxuXHQgKi9cblx0Y2xhc3NOYW1lOiBzdHJpbmc7XG5cdFxuXHQvKipcblx0ICogRGF0YSB0byB1c2UgaW4gY29udGVudCBzbG90c1xuXHQgKi9cblx0Y29udGVudERhdGE6IERhdGE7XG5cdFxuXHQvKipcblx0ICogQm9keSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRjaGlsZHJlbjogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cblx0LyoqXG5cdCAqIEZvb3RlciBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHRmb290ZXI6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBIZWFkZXIgb2YgdGhlIG1vZGFsLiBUaGUgZGVmYXVsdCBoZWFkZXIgaW5jbHVkZXMge0BsaW5rIE1vZGFsUHJvcHMudGl0bGV8dGl0bGV9LlxuXHQgKi9cblx0aGVhZGVyOiBTbG90Q29udGVudDxNb2RhbENvbnRleHQ8RGF0YT4+O1xuXHRcblxuXHQvKipcblx0ICogU3RydWN0dXJlIG9mIHRoZSBtb2RhbC5cblx0ICogVGhlIGRlZmF1bHQgc3RydWN0dXJlIHVzZXMge0BsaW5rIE1vZGFsUHJvcHMuaGVhZGVyfGhlYWRlcn0sIHtAbGluayBNb2RhbFByb3BzLmNoaWxkcmVufGNoaWxkcmVufSBhbmQge0BsaW5rIE1vZGFsUHJvcHMuZm9vdGVyfGZvb3Rlcn0uXG5cdCAqL1xuXHRzdHJ1Y3R1cmU6IFNsb3RDb250ZW50PE1vZGFsQ29udGV4dDxEYXRhPj47XG5cdFxuXG5cdC8qKlxuXHQgKiBUaXRsZSBvZiB0aGUgbW9kYWwuXG5cdCAqL1xuXHR0aXRsZTogU2xvdENvbnRlbnQ8TW9kYWxDb250ZXh0PERhdGE+Pjtcblx0XG5cdC8qKlxuXHQgKiBPcHRpb24gdG8gY3JlYXRlIGEgZnVsbHNjcmVlbiBtb2RhbCwgYWNjb3JkaW5nIHRvIHRoZSBib290c3RyYXAgZG9jdW1lbnRhdGlvbi5cblx0ICpcblx0ICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG5cdCAqL1xuXHRmdWxsc2NyZWVuOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIEFQSSBmb3IgYSBtb2RhbCBjb21wb25lbnQuXG4gKlxuICogQHRlbXBsYXRlIERhdGEgLSBUaGUgdHlwZSBvZiBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxBcGk8RGF0YT4ge1xuXHRcblx0LyoqXG5cdCAqIE1ldGhvZCB0byBjaGFuZ2Ugc29tZSBtb2RhbCBwcm9wZXJ0aWVzLlxuXHQgKi9cblx0cGF0Y2g6IE1vZGFsV2lkZ2V0PERhdGE+WydwYXRjaCddO1xuXHRcblx0LyoqXG5cdCAqIENsb3NlcyB0aGUgbW9kYWwgd2l0aCB0aGUgZ2l2ZW4gcmVzdWx0LlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVzdWx0IC0gcmVzdWx0IG9mIHRoZSBtb2RhbCwgYXMgcGFzc2VkIGluIHRoZSB7QGxpbmsgTW9kYWxCZWZvcmVDbG9zZUV2ZW50LnJlc3VsdHxyZXN1bHR9IHByb3BlcnR5IG9mIHRoZSBldmVudCBwYXNzZWQgdG8gdGhlXG5cdCAqIHtAbGluayBNb2RhbFByb3BzLm9uQmVmb3JlQ2xvc2V8b25CZWZvcmVDbG9zZX0gZXZlbnQgaGFuZGxlciAoYW5kIHBvc3NpYmx5IGNoYW5nZWQgYnkgaXQpIGFuZCByZXNvbHZlZCBieSB0aGUgcHJvbWlzZSByZXR1cm5lZCBieSB0aGUge0BsaW5rIE1vZGFsQXBpLm9wZW58b3Blbn0gbWV0aG9kLlxuXHQgKi9cblx0Y2xvc2UocmVzdWx0PzogYW55KTogdm9pZDtcblx0XG5cblx0LyoqXG5cdCAqIE9wZW5zIHRoZSBtb2RhbCBhbmQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG5cdCAqIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyB0aGUgcmVzdWx0IHBhc3NlZCB0byB0aGUge0BsaW5rIE1vZGFsQXBpLmNsb3NlfGNsb3NlfSBtZXRob2QgYW5kIHBvc3NpYmx5IGNoYW5nZWQgYnkgdGhlXG5cdCAqIHtAbGluayBNb2RhbFByb3BzLm9uQmVmb3JlQ2xvc2V8b25CZWZvcmVDbG9zZX0gZXZlbnQgaGFuZGxlclxuXHQgKi9cblx0b3BlbigpOiBQcm9taXNlPGFueT47XG59XG5cblxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtb2RhbCB3aWRnZXQgd2l0aCBzcGVjaWZpYyBkYXRhIHR5cGUuXG4gKlxuICogQHRlbXBsYXRlIERhdGEgLSBUaGUgdHlwZSBvZiBkYXRhIHRoYXQgdGhlIG1vZGFsIHdpZGdldCB3aWxsIGhhbmRsZS5cbiAqL1xuZXhwb3J0IHR5cGUgTW9kYWxXaWRnZXQ8RGF0YT4gPSBXaWRnZXQ8TW9kYWxQcm9wczxEYXRhPiwgTW9kYWxTdGF0ZTxEYXRhPiwgTW9kYWxBcGk8RGF0YT4sIE1vZGFsRGlyZWN0aXZlcz47XG5cblxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgbW9kYWwgd2lkZ2V0IGluc3RhbmNlLlxuICogQHBhcmFtIGNvbmZpZyAtIGNvbmZpZyBvZiB0aGUgbW9kYWwsIGVpdGhlciBhcyBhIHN0b3JlIG9yIGFzIGFuIG9iamVjdCBjb250YWluaW5nIHZhbHVlcyBvciBzdG9yZXMuXG4gKiBAcmV0dXJucyBhIG5ldyBtb2RhbCB3aWRnZXQgaW5zdGFuY2VcbiAqL1xuY29uc3QgZXhwb3J0X2NyZWF0ZU1vZGFsOiA8RGF0YT4oY29uZmlnPzogUHJvcHNDb25maWc8TW9kYWxQcm9wczxEYXRhPj4pID0+IE1vZGFsV2lkZ2V0PERhdGE+ID0gY3JlYXRlTW9kYWwgYXMgYW55O1xuZXhwb3J0IHtleHBvcnRfY3JlYXRlTW9kYWwgYXMgY3JlYXRlTW9kYWx9O1xuXG5cblxuLyoqXG4gKiBWYWx1ZSBwcmVzZW50IGluIHRoZSB7QGxpbmsgTW9kYWxCZWZvcmVDbG9zZUV2ZW50LnJlc3VsdHxyZXN1bHR9IHByb3BlcnR5IG9mIHRoZSB7QGxpbmsgTW9kYWxQcm9wcy5vbkJlZm9yZUNsb3NlfG9uQmVmb3JlQ2xvc2V9IGV2ZW50XG4gKiBhbmQgcmV0dXJuZWQgYnkgdGhlIHtAbGluayBNb2RhbEFwaS5vcGVufG9wZW59IG1ldGhvZCwgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGEgY2xpY2sgaW5zaWRlIHRoZSB2aWV3cG9ydCBidXQgb3V0c2lkZSB0aGUgbW9kYWwuXG4gKi9cbmNvbnN0IGV4cG9ydF9tb2RhbE91dHNpZGVDbGljazogdHlwZW9mIG1vZGFsT3V0c2lkZUNsaWNrID0gbW9kYWxPdXRzaWRlQ2xpY2sgYXMgYW55O1xuZXhwb3J0IHtleHBvcnRfbW9kYWxPdXRzaWRlQ2xpY2sgYXMgbW9kYWxPdXRzaWRlQ2xpY2t9O1xuXG5cblxuLyoqXG4gKiBWYWx1ZSBwcmVzZW50IGluIHRoZSB7QGxpbmsgTW9kYWxCZWZvcmVDbG9zZUV2ZW50LnJlc3VsdHxyZXN1bHR9IHByb3BlcnR5IG9mIHRoZSB7QGxpbmsgTW9kYWxQcm9wcy5vbkJlZm9yZUNsb3NlfG9uQmVmb3JlQ2xvc2V9IGV2ZW50XG4gKiBhbmQgcmV0dXJuZWQgYnkgdGhlIHtAbGluayBNb2RhbEFwaS5vcGVufG9wZW59IG1ldGhvZCwgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGEgY2xpY2sgb24gdGhlIGNsb3NlIGJ1dHRvbi5cbiAqL1xuY29uc3QgZXhwb3J0X21vZGFsQ2xvc2VCdXR0b25DbGljazogdHlwZW9mIG1vZGFsQ2xvc2VCdXR0b25DbGljayA9IG1vZGFsQ2xvc2VCdXR0b25DbGljayBhcyBhbnk7XG5leHBvcnQge2V4cG9ydF9tb2RhbENsb3NlQnV0dG9uQ2xpY2sgYXMgbW9kYWxDbG9zZUJ1dHRvbkNsaWNrfTtcblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBwYXJhbWV0ZXIgb2Yge0BsaW5rIE1vZGFsUHJvcHMub25CZWZvcmVDbG9zZXxvbkJlZm9yZUNsb3NlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbEJlZm9yZUNsb3NlRXZlbnQge1xuXHRcblx0LyoqXG5cdCAqIFJlc3VsdCBvZiB0aGUgbW9kYWwsIHdoaWNoIGlzIHRoZSB2YWx1ZSBwYXNzZWQgdG8gdGhlIHtAbGluayBNb2RhbEFwaS5jbG9zZXxjbG9zZX0gbWV0aG9kXG5cdCAqIGFuZCBsYXRlciByZXNvbHZlZCBieSB0aGUgcHJvbWlzZSByZXR1cm5lZCBieSB0aGUge0BsaW5rIE1vZGFsQXBpLm9wZW58b3Blbn0gbWV0aG9kLlxuXHQgKiBJZiBuZWVkZWQsIGl0IGNhbiBiZSBjaGFuZ2VkIGZyb20gdGhlIHtAbGluayBNb2RhbFByb3BzLm9uQmVmb3JlQ2xvc2V8b25CZWZvcmVDbG9zZX0gZXZlbnQgaGFuZGxlci5cblx0ICovXG5cdHJlc3VsdDogYW55O1xuXHRcblxuXHQvKipcblx0ICogV2hldGhlciB0byBjYW5jZWwgdGhlIGNsb3NlIG9mIHRoZSBtb2RhbC5cblx0ICogSXQgY2FuIGJlIGNoYW5nZWQgZnJvbSB0aGUge0BsaW5rIE1vZGFsUHJvcHMub25CZWZvcmVDbG9zZXxvbkJlZm9yZUNsb3NlfSBldmVudCBoYW5kbGVyLlxuXHQgKi9cblx0Y2FuY2VsOiBib29sZWFuO1xufVxuXG4vKipcbiAqIERpcmVjdGl2ZXMgb2YgdGhlIG1vZGFsIHdpZGdldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RhbERpcmVjdGl2ZXMge1xuXHRcblx0LyoqXG5cdCAqIERpcmVjdGl2ZSB0byBwdXQgb24gdGhlIG1vZGFsIERPTSBlbGVtZW50LlxuXHQgKi9cblx0bW9kYWxEaXJlY3RpdmU6IERpcmVjdGl2ZTtcblx0XG5cblx0LyoqXG5cdCAqIERpcmVjdGl2ZSB0byBwdXQgb24gdGhlIGJhY2tkcm9wIERPTSBlbGVtZW50LlxuXHQgKi9cblx0YmFja2Ryb3BEaXJlY3RpdmU6IERpcmVjdGl2ZTtcblx0XG5cblx0LyoqXG5cdCAqIFBvcnRhbCBkaXJlY3RpdmUgdG8gcHV0IG9uIHRoZSBtb2RhbCBET00gZWxlbWVudC5cblx0ICovXG5cdG1vZGFsUG9ydGFsRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG5cdFxuXG5cdC8qKlxuXHQgKiBQb3J0YWwgZGlyZWN0aXZlIHRvIHB1dCBvbiB0aGUgYmFja2Ryb3AgRE9NIGVsZW1lbnQuXG5cdCAqL1xuXHRiYWNrZHJvcFBvcnRhbERpcmVjdGl2ZTogRGlyZWN0aXZlO1xuXHRcblxuXHQvKipcblx0ICogRGlyZWN0aXZlIHRoYXQgYWRkcyBhbGwgdGhlIG5lY2Vzc2FyeSBhdHRyaWJ1dGVzIHRvIHRoZSBjbG9zZSBidXR0b25cblx0ICovXG5cdGNsb3NlQnV0dG9uRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG5cdFxuXHQvKipcblx0ICogRGlyZWN0aXZlIHRvIGFwcGx5IHRvIHRoZSBkaWFsb2cgZWxlbWVudCB3aGVuIHVzaW5nIHRoZSBuYXRpdmUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9IVE1MRGlhbG9nRWxlbWVudCB8IEhUTUxEaWFsb2dFbGVtZW50fVxuXHQgKi9cblx0ZGlhbG9nRGlyZWN0aXZlOiBEaXJlY3RpdmU7XG59XG5cbiJdfQ==
|