@datarailsshared/datarailsshared 1.6.187 → 1.6.189
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/datarailsshared-datarailsshared-1.6.189.tgz +0 -0
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +1 -1
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +1 -1
- package/esm2022/lib/dr-error/dr-error.component.mjs +1 -1
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +2 -3
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +2 -2
- package/esm2022/lib/dr-list-overflow/dr-list-overflow.component.mjs +130 -0
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +1 -1
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +1 -1
- package/esm2022/lib/filter-dropdown/filter-dropdown.component.mjs +198 -173
- package/esm2022/lib/models/constants.mjs +1 -1
- package/esm2022/lib/models/dropdown.mjs +1 -1
- package/esm2022/lib/models/popover.mjs +1 -1
- package/esm2022/lib/models/position.mjs +2 -0
- package/esm2022/lib/text-overflow/text-overflow.component.mjs +7 -4
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +456 -323
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-avatar/dr-avatar.component.d.ts +2 -2
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -2
- package/lib/dr-error/dr-error.component.d.ts +2 -1
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +2 -1
- package/lib/dr-list-overflow/dr-list-overflow.component.d.ts +26 -0
- package/lib/dr-popover/dr-popover.directive.d.ts +2 -2
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +3 -2
- package/lib/filter-dropdown/filter-dropdown.component.d.ts +4 -4
- package/lib/models/constants.d.ts +3 -86
- package/lib/models/dropdown.d.ts +2 -2
- package/lib/models/popover.d.ts +2 -2
- package/lib/models/position.d.ts +1 -0
- package/lib/text-overflow/text-overflow.component.d.ts +3 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -2
- package/datarailsshared-datarailsshared-1.6.187.tgz +0 -0
- package/esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs +0 -16
- package/lib/dr-tooltip/enums/tooltip-position.enum.d.ts +0 -14
|
@@ -7,239 +7,253 @@ import { DrPopoverModule } from '../dr-popover/dr-popover.module';
|
|
|
7
7
|
import { DrButtonComponent, LetDirective } from '../../public-api';
|
|
8
8
|
import { AutofocusDirective } from '../directives/autofocus/autofocus.directive';
|
|
9
9
|
import { SearchPipe } from '../pipes/search/search.pipe';
|
|
10
|
+
import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
|
|
11
|
+
import { TextOverflowComponent } from '../text-overflow/text-overflow.component';
|
|
12
|
+
import { DrListOverflowComponent } from '../dr-list-overflow/dr-list-overflow.component';
|
|
10
13
|
import * as i0 from "@angular/core";
|
|
11
14
|
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "../dr-
|
|
13
|
-
import * as i3 from "../dr-
|
|
14
|
-
import * as i4 from "../dr-
|
|
15
|
-
import * as i5 from "../dr-
|
|
16
|
-
import * as i6 from "../dr-
|
|
17
|
-
import * as i7 from "../dr-inputs/
|
|
18
|
-
import * as i8 from "
|
|
15
|
+
import * as i2 from "../dr-tooltip/dr-tooltip.directive";
|
|
16
|
+
import * as i3 from "../dr-tooltip/components/tooltip-default/tooltip-default.component";
|
|
17
|
+
import * as i4 from "../dr-popover/dr-popover.directive";
|
|
18
|
+
import * as i5 from "../dr-dropdown/dr-dropdown.component";
|
|
19
|
+
import * as i6 from "../dr-dropdown/dr-dropdown-item/dr-dropdown-item.component";
|
|
20
|
+
import * as i7 from "../dr-inputs/checkbox/checkbox.component";
|
|
21
|
+
import * as i8 from "../dr-inputs/dr-input/dr-input.component";
|
|
22
|
+
import * as i9 from "../dr-inputs/button/button.component";
|
|
23
|
+
import * as i10 from "@angular/forms";
|
|
19
24
|
const _c0 = ["dropdownItemTemplate"];
|
|
20
25
|
const _c1 = ["labelItemTemplate"];
|
|
21
|
-
function
|
|
26
|
+
function FilterDropdownComponent_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
22
27
|
i0.ɵɵelementContainerStart(0);
|
|
23
|
-
i0.ɵɵ
|
|
24
|
-
i0.ɵɵelementContainerEnd();
|
|
25
|
-
} }
|
|
26
|
-
const _c2 = function (a0) { return { $implicit: a0 }; };
|
|
27
|
-
function FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
i0.ɵɵelementContainerStart(0);
|
|
29
|
-
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_ng_container_1_Template, 2, 0, "ng-container", 9);
|
|
30
|
-
i0.ɵɵelementContainer(2, 10);
|
|
31
|
-
i0.ɵɵelementContainerEnd();
|
|
32
|
-
} if (rf & 2) {
|
|
33
|
-
const item_r14 = ctx.$implicit;
|
|
34
|
-
const i_r15 = ctx.index;
|
|
35
|
-
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
36
|
-
const _r7 = i0.ɵɵreference(11);
|
|
37
|
-
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵproperty("ngIf", i_r15);
|
|
39
|
-
i0.ɵɵadvance(1);
|
|
40
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.labelItemTemplate || _r7)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c2, item_r14));
|
|
41
|
-
} }
|
|
42
|
-
function FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵelementContainerStart(0);
|
|
44
|
-
i0.ɵɵtext(1);
|
|
28
|
+
i0.ɵɵelementContainer(1, 12);
|
|
45
29
|
i0.ɵɵelementContainerEnd();
|
|
46
30
|
} if (rf & 2) {
|
|
47
|
-
|
|
31
|
+
i0.ɵɵnextContext(2);
|
|
32
|
+
const _r10 = i0.ɵɵreference(15);
|
|
48
33
|
i0.ɵɵadvance(1);
|
|
49
|
-
i0.ɵɵ
|
|
34
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r10);
|
|
50
35
|
} }
|
|
51
|
-
function
|
|
36
|
+
function FilterDropdownComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
52
37
|
i0.ɵɵelementContainerStart(0);
|
|
53
|
-
i0.ɵɵtemplate(1,
|
|
54
|
-
i0.ɵɵpipe(2, "slice");
|
|
55
|
-
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_3_Template, 2, 1, "ng-container", 9);
|
|
38
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_5_ng_container_1_Template, 2, 1, "ng-container", 4);
|
|
56
39
|
i0.ɵɵelementContainerEnd();
|
|
57
40
|
} if (rf & 2) {
|
|
58
|
-
const
|
|
41
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
42
|
+
const _r2 = i0.ɵɵreference(7);
|
|
59
43
|
i0.ɵɵadvance(1);
|
|
60
|
-
i0.ɵɵproperty("
|
|
61
|
-
i0.ɵɵadvance(2);
|
|
62
|
-
i0.ɵɵproperty("ngIf", ctx_r11.selectedArr.length > ctx_r11.showInLabelLimit);
|
|
44
|
+
i0.ɵɵproperty("ngIf", ctx_r1.selectedArr.length <= ctx_r1.showManyLimit)("ngIfElse", _r2);
|
|
63
45
|
} }
|
|
64
|
-
function
|
|
65
|
-
i0.ɵɵ
|
|
66
|
-
i0.ɵɵ
|
|
67
|
-
i0.ɵɵ
|
|
68
|
-
} if (rf & 2) {
|
|
69
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
70
|
-
const _r1 = i0.ɵɵreference(5);
|
|
71
|
-
i0.ɵɵadvance(1);
|
|
72
|
-
i0.ɵɵproperty("ngIf", ctx_r0.selectedArr.length <= ctx_r0.showManyLimit)("ngIfElse", _r1);
|
|
73
|
-
} }
|
|
74
|
-
function FilterDropdownComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
-
i0.ɵɵtext(0, "Many");
|
|
46
|
+
function FilterDropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
+
i0.ɵɵelementStart(0, "span");
|
|
48
|
+
i0.ɵɵtext(1, "Many");
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
76
50
|
} }
|
|
77
|
-
function
|
|
51
|
+
function FilterDropdownComponent_ng_template_8_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
78
52
|
i0.ɵɵelementContainerStart(0);
|
|
79
|
-
i0.ɵɵelementStart(1, "span",
|
|
53
|
+
i0.ɵɵelementStart(1, "span", 13);
|
|
80
54
|
i0.ɵɵtext(2, "None");
|
|
81
55
|
i0.ɵɵelementEnd();
|
|
82
56
|
i0.ɵɵelementContainerEnd();
|
|
83
57
|
} }
|
|
84
|
-
function
|
|
85
|
-
i0.ɵɵtemplate(0,
|
|
58
|
+
function FilterDropdownComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_8_ng_container_0_Template, 3, 0, "ng-container", 4);
|
|
86
60
|
} if (rf & 2) {
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
i0.ɵɵproperty("ngIf",
|
|
61
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
62
|
+
const _r6 = i0.ɵɵreference(11);
|
|
63
|
+
i0.ɵɵproperty("ngIf", ctx_r5.useNoneTemplate && !ctx_r5.isSelectedAll)("ngIfElse", _r6);
|
|
90
64
|
} }
|
|
91
|
-
function
|
|
92
|
-
i0.ɵɵelementStart(0, "span",
|
|
65
|
+
function FilterDropdownComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
93
67
|
i0.ɵɵtext(1, "All");
|
|
94
68
|
i0.ɵɵelementEnd();
|
|
95
69
|
} }
|
|
96
|
-
function
|
|
70
|
+
function FilterDropdownComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
97
71
|
i0.ɵɵtext(0);
|
|
98
72
|
} if (rf & 2) {
|
|
99
73
|
const item_r18 = ctx.$implicit;
|
|
100
|
-
const
|
|
101
|
-
i0.ɵɵ
|
|
74
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
75
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r9._item(item_r18), "");
|
|
76
|
+
} }
|
|
77
|
+
function FilterDropdownComponent_ng_template_14_span_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵelementContainerStart(0);
|
|
79
|
+
i0.ɵɵtext(1, ",");
|
|
80
|
+
i0.ɵɵelementContainerEnd();
|
|
81
|
+
} }
|
|
82
|
+
const _c2 = function (a0) { return { $implicit: a0 }; };
|
|
83
|
+
function FilterDropdownComponent_ng_template_14_span_0_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵelementStart(0, "span");
|
|
85
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_14_span_0_ng_container_1_Template, 2, 0, "ng-container", 15);
|
|
86
|
+
i0.ɵɵelementContainer(2, 16);
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const item_r20 = ctx.$implicit;
|
|
90
|
+
const i_r21 = ctx.index;
|
|
91
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
92
|
+
const _r8 = i0.ɵɵreference(13);
|
|
93
|
+
i0.ɵɵadvance(1);
|
|
94
|
+
i0.ɵɵproperty("ngIf", i_r21);
|
|
95
|
+
i0.ɵɵadvance(1);
|
|
96
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r19.labelItemTemplate || _r8)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c2, item_r20));
|
|
97
|
+
} }
|
|
98
|
+
function FilterDropdownComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_14_span_0_Template, 3, 5, "span", 14);
|
|
100
|
+
} if (rf & 2) {
|
|
101
|
+
const ctx_r11 = i0.ɵɵnextContext();
|
|
102
|
+
i0.ɵɵproperty("ngForOf", ctx_r11.selectedArr);
|
|
102
103
|
} }
|
|
103
|
-
function
|
|
104
|
-
|
|
105
|
-
i0.ɵɵ
|
|
106
|
-
i0.ɵɵ
|
|
104
|
+
function FilterDropdownComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
i0.ɵɵelementStart(0, "dr-tooltip-default");
|
|
106
|
+
i0.ɵɵtext(1);
|
|
107
|
+
i0.ɵɵelementContainer(2, 12);
|
|
108
|
+
i0.ɵɵelementEnd();
|
|
109
|
+
} if (rf & 2) {
|
|
110
|
+
const ctx_r13 = i0.ɵɵnextContext();
|
|
111
|
+
const _r10 = i0.ɵɵreference(15);
|
|
112
|
+
i0.ɵɵadvance(1);
|
|
113
|
+
i0.ɵɵtextInterpolate1("", ctx_r13.label, ": ");
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r10);
|
|
116
|
+
} }
|
|
117
|
+
function FilterDropdownComponent_ng_template_18_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
118
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
119
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "dr-input", 27, 28);
|
|
120
|
+
i0.ɵɵlistener("ngModelChange", function FilterDropdownComponent_ng_template_18_div_0_div_1_Template_dr_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r33.search = $event); });
|
|
107
121
|
i0.ɵɵelementEnd()();
|
|
108
122
|
} if (rf & 2) {
|
|
109
|
-
const
|
|
123
|
+
const ctx_r26 = i0.ɵɵnextContext(3);
|
|
110
124
|
i0.ɵɵadvance(1);
|
|
111
|
-
i0.ɵɵclassProp("with-value",
|
|
112
|
-
i0.ɵɵproperty("clearable", true)("ngModel",
|
|
125
|
+
i0.ɵɵclassProp("with-value", ctx_r26.search);
|
|
126
|
+
i0.ɵɵproperty("clearable", true)("ngModel", ctx_r26.search);
|
|
113
127
|
} }
|
|
114
|
-
function
|
|
115
|
-
const
|
|
116
|
-
i0.ɵɵelementStart(0, "a",
|
|
117
|
-
i0.ɵɵlistener("click", function
|
|
128
|
+
function FilterDropdownComponent_ng_template_18_div_0_a_5_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
130
|
+
i0.ɵɵelementStart(0, "a", 29);
|
|
131
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_18_div_0_a_5_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r35.onSelectAll()); });
|
|
118
132
|
i0.ɵɵtext(1);
|
|
119
133
|
i0.ɵɵelementEnd();
|
|
120
134
|
} if (rf & 2) {
|
|
121
|
-
const
|
|
135
|
+
const ctx_r27 = i0.ɵɵnextContext(3);
|
|
122
136
|
i0.ɵɵadvance(1);
|
|
123
|
-
i0.ɵɵtextInterpolate(
|
|
137
|
+
i0.ɵɵtextInterpolate(ctx_r27.isSelectedAll ? "Select none" : "Select all");
|
|
124
138
|
} }
|
|
125
|
-
function
|
|
126
|
-
i0.ɵɵelement(0, "dr-checkbox",
|
|
139
|
+
function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_dr_checkbox_3_Template(rf, ctx) { if (rf & 1) {
|
|
140
|
+
i0.ɵɵelement(0, "dr-checkbox", 37);
|
|
127
141
|
} if (rf & 2) {
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
i0.ɵɵproperty("checkedStatus",
|
|
142
|
+
const item_r38 = i0.ɵɵnextContext().$implicit;
|
|
143
|
+
const _r39 = i0.ɵɵreference(1);
|
|
144
|
+
i0.ɵɵproperty("checkedStatus", _r39.selected)("disabled", item_r38.disabled);
|
|
131
145
|
} }
|
|
132
|
-
function
|
|
133
|
-
i0.ɵɵelementStart(0, "
|
|
146
|
+
function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
+
i0.ɵɵelementStart(0, "dr-text-overflow");
|
|
134
148
|
i0.ɵɵtext(1);
|
|
135
149
|
i0.ɵɵelementEnd();
|
|
136
150
|
} if (rf & 2) {
|
|
137
|
-
const
|
|
138
|
-
const
|
|
151
|
+
const item_r38 = i0.ɵɵnextContext().$implicit;
|
|
152
|
+
const ctx_r42 = i0.ɵɵnextContext(4);
|
|
139
153
|
i0.ɵɵadvance(1);
|
|
140
|
-
i0.ɵɵtextInterpolate1("
|
|
154
|
+
i0.ɵɵtextInterpolate1("", ctx_r42._item(item_r38), " ");
|
|
141
155
|
} }
|
|
142
|
-
function
|
|
143
|
-
const
|
|
144
|
-
i0.ɵɵelementStart(0, "dr-dropdown-item",
|
|
145
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
146
|
-
i0.ɵɵelementContainerStart(2,
|
|
147
|
-
i0.ɵɵtemplate(3,
|
|
148
|
-
i0.ɵɵelementContainerStart(4,
|
|
149
|
-
i0.ɵɵelementContainer(5,
|
|
156
|
+
function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
157
|
+
const _r46 = i0.ɵɵgetCurrentView();
|
|
158
|
+
i0.ɵɵelementStart(0, "dr-dropdown-item", 32, 33);
|
|
159
|
+
i0.ɵɵlistener("keyup.enter", function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_Template_dr_dropdown_item_keyup_enter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r46); const item_r38 = restoredCtx.$implicit; const _r39 = i0.ɵɵreference(1); const ctx_r45 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(!_r39.selected && ctx_r45.selectedChange.emit(item_r38)); })("click", function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_Template_dr_dropdown_item_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r46); const item_r38 = restoredCtx.$implicit; const _r39 = i0.ɵɵreference(1); const close_r23 = i0.ɵɵnextContext(3).closePopover; const ctx_r47 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!_r39.disabled && ctx_r47.onSelectedItemChanged(item_r38, _r39.selected, close_r23)); });
|
|
160
|
+
i0.ɵɵelementContainerStart(2, 34);
|
|
161
|
+
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_dr_checkbox_3_Template, 1, 2, "dr-checkbox", 35);
|
|
162
|
+
i0.ɵɵelementContainerStart(4, 34);
|
|
163
|
+
i0.ɵɵelementContainer(5, 16);
|
|
150
164
|
i0.ɵɵelementContainerEnd();
|
|
151
|
-
i0.ɵɵtemplate(6,
|
|
165
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_ng_template_6_Template, 2, 1, "ng-template", null, 36, i0.ɵɵtemplateRefExtractor);
|
|
152
166
|
i0.ɵɵelementContainerEnd();
|
|
153
167
|
i0.ɵɵelementEnd();
|
|
154
168
|
} if (rf & 2) {
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
const
|
|
158
|
-
i0.ɵɵproperty("selected",
|
|
169
|
+
const item_r38 = ctx.$implicit;
|
|
170
|
+
const _r41 = i0.ɵɵreference(7);
|
|
171
|
+
const ctx_r37 = i0.ɵɵnextContext(4);
|
|
172
|
+
i0.ɵɵproperty("selected", ctx_r37.isSelected(item_r38))("disabled", item_r38.disabled);
|
|
159
173
|
i0.ɵɵadvance(3);
|
|
160
|
-
i0.ɵɵproperty("ngIf",
|
|
174
|
+
i0.ɵɵproperty("ngIf", ctx_r37.multiple);
|
|
161
175
|
i0.ɵɵadvance(2);
|
|
162
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
176
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r37.dropdownItemTemplate || _r41)("ngTemplateOutletContext", i0.ɵɵpureFunction1(5, _c2, item_r38));
|
|
163
177
|
} }
|
|
164
|
-
function
|
|
165
|
-
i0.ɵɵelementStart(0, "dr-dropdown",
|
|
166
|
-
i0.ɵɵtemplate(1,
|
|
178
|
+
function FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_Template(rf, ctx) { if (rf & 1) {
|
|
179
|
+
i0.ɵɵelementStart(0, "dr-dropdown", 30);
|
|
180
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_dr_dropdown_item_1_Template, 8, 7, "dr-dropdown-item", 31);
|
|
167
181
|
i0.ɵɵelementEnd();
|
|
168
182
|
} if (rf & 2) {
|
|
169
|
-
const
|
|
170
|
-
const
|
|
183
|
+
const filteredItems_r25 = i0.ɵɵnextContext().ngLet;
|
|
184
|
+
const ctx_r28 = i0.ɵɵnextContext(2);
|
|
171
185
|
i0.ɵɵadvance(1);
|
|
172
|
-
i0.ɵɵproperty("ngForOf",
|
|
186
|
+
i0.ɵɵproperty("ngForOf", filteredItems_r25)("ngForTrackBy", ctx_r28.trackByFn);
|
|
173
187
|
} }
|
|
174
|
-
function
|
|
175
|
-
i0.ɵɵelementStart(0, "div",
|
|
188
|
+
function FilterDropdownComponent_ng_template_18_div_0_ng_template_7_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
+
i0.ɵɵelementStart(0, "div", 39);
|
|
176
190
|
i0.ɵɵtext(1);
|
|
177
191
|
i0.ɵɵelementEnd();
|
|
178
192
|
} if (rf & 2) {
|
|
179
|
-
const
|
|
193
|
+
const ctx_r50 = i0.ɵɵnextContext(4);
|
|
180
194
|
i0.ɵɵadvance(1);
|
|
181
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
195
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r50.noItemsPlaceholder, " ");
|
|
182
196
|
} }
|
|
183
|
-
function
|
|
184
|
-
i0.ɵɵtemplate(0,
|
|
197
|
+
function FilterDropdownComponent_ng_template_18_div_0_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
198
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_18_div_0_ng_template_7_div_0_Template, 2, 1, "div", 38);
|
|
185
199
|
} if (rf & 2) {
|
|
186
|
-
const
|
|
187
|
-
i0.ɵɵproperty("ngIf",
|
|
200
|
+
const ctx_r30 = i0.ɵɵnextContext(3);
|
|
201
|
+
i0.ɵɵproperty("ngIf", ctx_r30.noItemsPlaceholder);
|
|
188
202
|
} }
|
|
189
|
-
function
|
|
190
|
-
const
|
|
191
|
-
i0.ɵɵelementStart(0, "dr-button",
|
|
192
|
-
i0.ɵɵlistener("click", function
|
|
203
|
+
function FilterDropdownComponent_ng_template_18_div_0_div_9_dr_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
204
|
+
const _r54 = i0.ɵɵgetCurrentView();
|
|
205
|
+
i0.ɵɵelementStart(0, "dr-button", 43);
|
|
206
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_18_div_0_div_9_dr_button_1_Template_dr_button_click_0_listener() { i0.ɵɵrestoreView(_r54); const close_r23 = i0.ɵɵnextContext(3).closePopover; const ctx_r52 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r52.onClear(close_r23)); });
|
|
193
207
|
i0.ɵɵtext(1, " Clear ");
|
|
194
208
|
i0.ɵɵelementEnd();
|
|
195
209
|
} }
|
|
196
|
-
function
|
|
197
|
-
const
|
|
198
|
-
i0.ɵɵelementStart(0, "div",
|
|
199
|
-
i0.ɵɵtemplate(1,
|
|
200
|
-
i0.ɵɵelementStart(2, "dr-button",
|
|
201
|
-
i0.ɵɵlistener("click", function
|
|
210
|
+
function FilterDropdownComponent_ng_template_18_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
211
|
+
const _r57 = i0.ɵɵgetCurrentView();
|
|
212
|
+
i0.ɵɵelementStart(0, "div", 40);
|
|
213
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_18_div_0_div_9_dr_button_1_Template, 2, 0, "dr-button", 41);
|
|
214
|
+
i0.ɵɵelementStart(2, "dr-button", 42);
|
|
215
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_18_div_0_div_9_Template_dr_button_click_2_listener() { i0.ɵɵrestoreView(_r57); const close_r23 = i0.ɵɵnextContext(2).closePopover; const ctx_r55 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r55.onApply(close_r23)); });
|
|
202
216
|
i0.ɵɵtext(3, "Apply");
|
|
203
217
|
i0.ɵɵelementEnd()();
|
|
204
218
|
} if (rf & 2) {
|
|
205
|
-
const
|
|
219
|
+
const ctx_r31 = i0.ɵɵnextContext(3);
|
|
206
220
|
i0.ɵɵadvance(1);
|
|
207
|
-
i0.ɵɵproperty("ngIf",
|
|
221
|
+
i0.ɵɵproperty("ngIf", ctx_r31.clearable && ctx_r31.hasSelection);
|
|
208
222
|
} }
|
|
209
|
-
function
|
|
210
|
-
i0.ɵɵelementStart(0, "div",
|
|
211
|
-
i0.ɵɵtemplate(1,
|
|
212
|
-
i0.ɵɵelementStart(2, "div",
|
|
223
|
+
function FilterDropdownComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
225
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_18_div_0_div_1_Template, 3, 4, "div", 19);
|
|
226
|
+
i0.ɵɵelementStart(2, "div", 20)(3, "div", 21);
|
|
213
227
|
i0.ɵɵtext(4);
|
|
214
228
|
i0.ɵɵelementEnd();
|
|
215
|
-
i0.ɵɵtemplate(5,
|
|
229
|
+
i0.ɵɵtemplate(5, FilterDropdownComponent_ng_template_18_div_0_a_5_Template, 2, 1, "a", 22);
|
|
216
230
|
i0.ɵɵelementEnd();
|
|
217
|
-
i0.ɵɵtemplate(6,
|
|
218
|
-
i0.ɵɵtemplate(7,
|
|
219
|
-
i0.ɵɵtemplate(9,
|
|
231
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_18_div_0_dr_dropdown_6_Template, 2, 2, "dr-dropdown", 23);
|
|
232
|
+
i0.ɵɵtemplate(7, FilterDropdownComponent_ng_template_18_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 24, i0.ɵɵtemplateRefExtractor);
|
|
233
|
+
i0.ɵɵtemplate(9, FilterDropdownComponent_ng_template_18_div_0_div_9_Template, 4, 1, "div", 25);
|
|
220
234
|
i0.ɵɵelementEnd();
|
|
221
235
|
} if (rf & 2) {
|
|
222
|
-
const
|
|
223
|
-
const
|
|
224
|
-
const
|
|
225
|
-
i0.ɵɵproperty("ngClass",
|
|
236
|
+
const filteredItems_r25 = ctx.ngLet;
|
|
237
|
+
const _r29 = i0.ɵɵreference(8);
|
|
238
|
+
const ctx_r24 = i0.ɵɵnextContext(2);
|
|
239
|
+
i0.ɵɵproperty("ngClass", ctx_r24.dropdownClass);
|
|
226
240
|
i0.ɵɵadvance(1);
|
|
227
|
-
i0.ɵɵproperty("ngIf",
|
|
241
|
+
i0.ɵɵproperty("ngIf", ctx_r24.showSearch);
|
|
228
242
|
i0.ɵɵadvance(3);
|
|
229
|
-
i0.ɵɵtextInterpolate1("Filter by ",
|
|
243
|
+
i0.ɵɵtextInterpolate1("Filter by ", ctx_r24.label, "");
|
|
230
244
|
i0.ɵɵadvance(1);
|
|
231
|
-
i0.ɵɵproperty("ngIf",
|
|
245
|
+
i0.ɵɵproperty("ngIf", ctx_r24.showSelectAll);
|
|
232
246
|
i0.ɵɵadvance(1);
|
|
233
|
-
i0.ɵɵproperty("ngIf",
|
|
247
|
+
i0.ɵɵproperty("ngIf", filteredItems_r25.length)("ngIfElse", _r29);
|
|
234
248
|
i0.ɵɵadvance(3);
|
|
235
|
-
i0.ɵɵproperty("ngIf",
|
|
249
|
+
i0.ɵɵproperty("ngIf", ctx_r24.multiple);
|
|
236
250
|
} }
|
|
237
|
-
function
|
|
238
|
-
i0.ɵɵtemplate(0,
|
|
251
|
+
function FilterDropdownComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
|
|
252
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_18_div_0_Template, 10, 7, "div", 17);
|
|
239
253
|
i0.ɵɵpipe(1, "search");
|
|
240
254
|
} if (rf & 2) {
|
|
241
|
-
const
|
|
242
|
-
i0.ɵɵproperty("ngLet", i0.ɵɵpipeBind3(1, 1,
|
|
255
|
+
const ctx_r15 = i0.ɵɵnextContext();
|
|
256
|
+
i0.ɵɵproperty("ngLet", i0.ɵɵpipeBind3(1, 1, ctx_r15.items, ctx_r15.search, ctx_r15.searchBy));
|
|
243
257
|
} }
|
|
244
258
|
export class FilterDropdownComponent {
|
|
245
259
|
constructor() {
|
|
@@ -251,13 +265,13 @@ export class FilterDropdownComponent {
|
|
|
251
265
|
this.noItemsPlaceholder = 'No items found';
|
|
252
266
|
this.dropdownClass = '';
|
|
253
267
|
this.dropdownPosition = 'bottom-right';
|
|
268
|
+
this.overflowTooltipPosition = 'bottom';
|
|
254
269
|
this.searchBy = [];
|
|
255
270
|
this.multiple = false;
|
|
256
271
|
this.clearable = false;
|
|
257
272
|
this.trackBy = null;
|
|
258
273
|
this.showSearchLimit = 10;
|
|
259
|
-
this.showManyLimit =
|
|
260
|
-
this.showInLabelLimit = 3;
|
|
274
|
+
this.showManyLimit = 9; // from 10 show counter
|
|
261
275
|
this.useNoneTemplate = false;
|
|
262
276
|
this._selected = null;
|
|
263
277
|
this._selectedOriginal = null;
|
|
@@ -345,35 +359,44 @@ export class FilterDropdownComponent {
|
|
|
345
359
|
let _t;
|
|
346
360
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownItemTemplate = _t.first);
|
|
347
361
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.labelItemTemplate = _t.first);
|
|
348
|
-
} }, inputs: { disabled: ["disabled", "disabled", booleanAttribute], items: "items", label: "label", selectedUser: "selectedUser", users: "users", noItemsPlaceholder: "noItemsPlaceholder", dropdownClass: "dropdownClass", dropdownPosition: "dropdownPosition", bindValue: "bindValue", displayValue: "displayValue", searchBy: "searchBy", multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], trackBy: "trackBy", showSearchLimit: "showSearchLimit", showManyLimit: "showManyLimit",
|
|
362
|
+
} }, inputs: { disabled: ["disabled", "disabled", booleanAttribute], items: "items", label: "label", selectedUser: "selectedUser", users: "users", noItemsPlaceholder: "noItemsPlaceholder", dropdownClass: "dropdownClass", dropdownPosition: "dropdownPosition", overflowTooltipPosition: "overflowTooltipPosition", bindValue: "bindValue", displayValue: "displayValue", searchBy: "searchBy", multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], trackBy: "trackBy", showSearchLimit: "showSearchLimit", showManyLimit: "showManyLimit", selected: "selected", useNoneTemplate: "useNoneTemplate" }, outputs: { selectedChange: "selectedChange" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature], decls: 20, vars: 9, consts: [["theme", "dropdown", "iconAfter", "dr-icon-arrow-down", "iconAfterSize", "18", 3, "drTooltip", "drTooltipPosition", "drPopover", "isActive", "disabled", "drPopoverPosition", "drPopoverClose", "click"], [1, "filter-label"], ["drListOverflow", "", 1, "filter-value"], ["listOverflowRef", "listOverflow"], [4, "ngIf", "ngIfElse"], ["manyTemplate", ""], ["noSelection", ""], ["allTemplate", ""], ["defaultLabelTemplate", ""], ["valueTemplate", ""], ["tooltipTemplate", ""], ["popover", ""], [3, "ngTemplateOutlet"], [1, "filter-value-all"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "dropdown__wrapper", "tabindex", "0", 3, "ngClass", 4, "ngLet"], ["tabindex", "0", 1, "dropdown__wrapper", 3, "ngClass"], ["class", "dropdown__search", 4, "ngIf"], [1, "dropdown__header"], [1, "dropdown__header-title"], ["href", "javascript: void(0)", "class", "dropdown__header-select-all", 3, "click", 4, "ngIf"], ["class", "dr-filter-list", "tabindex", "0", 4, "ngIf", "ngIfElse"], ["noDataPlaceholder", ""], ["class", "dropdown__actions", 4, "ngIf"], [1, "dropdown__search"], ["data-analytics", "filter-dropdown_input-0", "drAutofocus", "", "type", "search", "tabindex", "0", "placeholder", "Search", 3, "clearable", "ngModel", "ngModelChange"], ["searchRef", ""], ["href", "javascript: void(0)", 1, "dropdown__header-select-all", 3, "click"], ["tabindex", "0", 1, "dr-filter-list"], ["class", "dr-filter-list__item", "tabindex", "0", 3, "selected", "disabled", "keyup.enter", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["tabindex", "0", 1, "dr-filter-list__item", 3, "selected", "disabled", "keyup.enter", "click"], ["itemRef", ""], ["dropdownItemContent", ""], ["data-analytics", "filter-dropdown_checkbox-0", "class", "dr-filter-list__item-checkbox", 3, "checkedStatus", "disabled", 4, "ngIf"], ["defaultDropdownItemTemplate", ""], ["data-analytics", "filter-dropdown_checkbox-0", 1, "dr-filter-list__item-checkbox", 3, "checkedStatus", "disabled"], ["class", "dropdown__no-result", 4, "ngIf"], [1, "dropdown__no-result"], [1, "dropdown__actions"], ["theme", "secondary", "data-analytics", "filter-dropdown_button-1", "class", "dropdown__clear", 3, "click", 4, "ngIf"], ["data-analytics", "filter-dropdown_button-0", 3, "click"], ["theme", "secondary", "data-analytics", "filter-dropdown_button-1", 1, "dropdown__clear", 3, "click"]], template: function FilterDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
349
363
|
i0.ɵɵelementStart(0, "dr-button", 0);
|
|
350
364
|
i0.ɵɵlistener("drPopoverClose", function FilterDropdownComponent_Template_dr_button_drPopoverClose_0_listener() { return ctx.onPopoverClose(); })("click", function FilterDropdownComponent_Template_dr_button_click_0_listener($event) { return $event.stopPropagation(); });
|
|
351
|
-
i0.ɵɵ
|
|
352
|
-
i0.ɵɵ
|
|
353
|
-
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_container_3_Template, 2, 2, "ng-container", 2);
|
|
365
|
+
i0.ɵɵelementStart(1, "span", 1);
|
|
366
|
+
i0.ɵɵtext(2);
|
|
354
367
|
i0.ɵɵelementEnd();
|
|
355
|
-
i0.ɵɵ
|
|
356
|
-
i0.ɵɵtemplate(
|
|
357
|
-
i0.ɵɵtemplate(8, FilterDropdownComponent_ng_template_8_Template, 2, 0, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
358
|
-
i0.ɵɵtemplate(10, FilterDropdownComponent_ng_template_10_Template, 1, 1, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
368
|
+
i0.ɵɵelementStart(3, "span", 2, 3);
|
|
369
|
+
i0.ɵɵtemplate(5, FilterDropdownComponent_ng_container_5_Template, 2, 2, "ng-container", 4);
|
|
359
370
|
i0.ɵɵelementEnd();
|
|
360
|
-
i0.ɵɵtemplate(
|
|
371
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_6_Template, 2, 0, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
372
|
+
i0.ɵɵtemplate(8, FilterDropdownComponent_ng_template_8_Template, 1, 2, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
373
|
+
i0.ɵɵtemplate(10, FilterDropdownComponent_ng_template_10_Template, 2, 0, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
374
|
+
i0.ɵɵtemplate(12, FilterDropdownComponent_ng_template_12_Template, 1, 1, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
375
|
+
i0.ɵɵelementEnd();
|
|
376
|
+
i0.ɵɵtemplate(14, FilterDropdownComponent_ng_template_14_Template, 1, 1, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
377
|
+
i0.ɵɵtemplate(16, FilterDropdownComponent_ng_template_16_Template, 3, 2, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
|
|
378
|
+
i0.ɵɵtemplate(18, FilterDropdownComponent_ng_template_18_Template, 2, 5, "ng-template", null, 11, i0.ɵɵtemplateRefExtractor);
|
|
361
379
|
} if (rf & 2) {
|
|
362
|
-
const
|
|
363
|
-
const
|
|
364
|
-
|
|
365
|
-
i0.ɵɵ
|
|
366
|
-
i0.ɵɵ
|
|
380
|
+
const _r0 = i0.ɵɵreference(4);
|
|
381
|
+
const _r4 = i0.ɵɵreference(9);
|
|
382
|
+
const _r12 = i0.ɵɵreference(17);
|
|
383
|
+
const _r14 = i0.ɵɵreference(19);
|
|
384
|
+
i0.ɵɵproperty("drTooltip", ctx.hasSelection && (_r0.hasOverflowed || ctx.selectedArr.length > ctx.showManyLimit) && _r12)("drTooltipPosition", ctx.overflowTooltipPosition)("drPopover", _r14)("isActive", ctx.hasSelection)("disabled", ctx.disabled)("drPopoverPosition", ctx.dropdownPosition);
|
|
367
385
|
i0.ɵɵadvance(2);
|
|
368
|
-
i0.ɵɵ
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
386
|
+
i0.ɵɵtextInterpolate1("", ctx.label, ":");
|
|
387
|
+
i0.ɵɵadvance(3);
|
|
388
|
+
i0.ɵɵproperty("ngIf", ctx.hasSelection)("ngIfElse", _r4);
|
|
389
|
+
} }, dependencies: [CommonModule, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, DrTooltipModule, i2.DrTooltipDirective, i3.TooltipDefaultComponent, DrPopoverModule, i4.DrPopoverDirective, DrDropdownModule, i5.DrDropdownComponent, i6.DrDropdownItemComponent, DrInputsModule, i7.CheckboxComponent, i8.DrInputComponent, i9.DrButtonComponent, SearchPipe,
|
|
390
|
+
FormsModule, i10.NgControlStatus, i10.NgModel, LetDirective,
|
|
391
|
+
AutofocusDirective,
|
|
392
|
+
TextOverflowComponent,
|
|
393
|
+
DrListOverflowComponent], styles: ["[_nghost-%COMP%] dr-button, [_nghost-%COMP%] dr-button>button{max-width:100%}.filter-label[_ngcontent-%COMP%]{padding-right:.3em}.filter-value[_ngcontent-%COMP%]{font-weight:600}.filter-value-all[_ngcontent-%COMP%]{font-weight:400}.dropdown__wrapper[_ngcontent-%COMP%]{min-width:250px;padding:8px 0 0}.dropdown__wrapper[_ngcontent-%COMP%] .dr-dropdown__container{padding:0;max-height:none;overflow:visible}.dropdown__wrapper[_ngcontent-%COMP%] .dr-dropdown-item.item-disabled{cursor:not-allowed}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list[_ngcontent-%COMP%]{overflow:auto;display:block;max-height:180px}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item[_ngcontent-%COMP%]{margin-bottom:4px}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item[_ngcontent-%COMP%] .dr-dropdown-item{padding:0 16px;height:32px}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item[_ngcontent-%COMP%] .dr-dropdown-item .text-ellipsis{text-overflow:ellipsis;overflow:hidden}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item-checkbox[_ngcontent-%COMP%]{margin-right:4px;pointer-events:none}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item-checkbox[_ngcontent-%COMP%] label input+span{margin:0}.dropdown__wrapper[_ngcontent-%COMP%] .dr-filter-list__item-checkbox[_ngcontent-%COMP%] label input+span:before{margin:3px}.dropdown__search[_ngcontent-%COMP%]{padding:4px 8px}.dropdown__header[_ngcontent-%COMP%]{font-size:12px;line-height:16px;font-weight:400;display:flex;align-items:center;margin:2px 0;padding:4px 16px;white-space:nowrap}.dropdown__header-title[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;color:#6d6e6f;text-transform:uppercase}.dropdown__header-select-all[_ngcontent-%COMP%]{color:#4646ce;margin-left:8px;text-decoration:none}.dropdown__header-select-all[_ngcontent-%COMP%]:hover{text-decoration:underline}.dropdown__actions[_ngcontent-%COMP%]{gap:8px;padding:8px 16px;display:flex;justify-content:flex-end;border-top:1px solid #dbdee3}.dropdown__no-result[_ngcontent-%COMP%]{padding:4px 16px 16px}"], changeDetection: 0 }); }
|
|
372
394
|
}
|
|
373
395
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilterDropdownComponent, [{
|
|
374
396
|
type: Component,
|
|
375
397
|
args: [{ selector: 'dr-filter-dropdown', standalone: true, imports: [
|
|
376
398
|
CommonModule,
|
|
399
|
+
DrTooltipModule,
|
|
377
400
|
DrPopoverModule,
|
|
378
401
|
DrDropdownModule,
|
|
379
402
|
DrInputsModule,
|
|
@@ -382,7 +405,9 @@ export class FilterDropdownComponent {
|
|
|
382
405
|
LetDirective,
|
|
383
406
|
AutofocusDirective,
|
|
384
407
|
DrButtonComponent,
|
|
385
|
-
|
|
408
|
+
TextOverflowComponent,
|
|
409
|
+
DrListOverflowComponent,
|
|
410
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dr-button\n theme=\"dropdown\"\n iconAfter=\"dr-icon-arrow-down\"\n iconAfterSize=\"18\"\n [drTooltip]=\"hasSelection && (listOverflowRef.hasOverflowed || selectedArr.length > showManyLimit) && tooltipTemplate\"\n [drTooltipPosition]=\"overflowTooltipPosition\"\n [drPopover]=\"popover\"\n (drPopoverClose)=\"onPopoverClose()\"\n (click)=\"$event.stopPropagation()\"\n [isActive]=\"hasSelection\"\n [disabled]=\"disabled\"\n [drPopoverPosition]=\"dropdownPosition\">\n <span class=\"filter-label\">{{ label }}:</span>\n\n <span drListOverflow #listOverflowRef=\"listOverflow\" class=\"filter-value\">\n <ng-container *ngIf=\"hasSelection; else noSelection\">\n <ng-container *ngIf=\"selectedArr.length <= showManyLimit; else manyTemplate\">\n <ng-container [ngTemplateOutlet]=\"valueTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n </span>\n <ng-template #manyTemplate><span>Many</span></ng-template>\n <ng-template #noSelection>\n <ng-container *ngIf=\"useNoneTemplate && !isSelectedAll; else allTemplate\">\n <span class=\"filter-value-all\">None</span>\n </ng-container>\n </ng-template>\n <ng-template #allTemplate><span class=\"filter-value-all\">All</span></ng-template>\n <ng-template #defaultLabelTemplate let-item> {{ _item(item) }}</ng-template>\n</dr-button>\n\n<ng-template #valueTemplate>\n <span *ngFor=\"let item of selectedArr; let i = index\">\n <ng-container *ngIf=\"i\">,</ng-container>\n <ng-container\n [ngTemplateOutlet]=\"labelItemTemplate || defaultLabelTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\">\n </ng-container>\n </span>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n <dr-tooltip-default>{{ label }}: <ng-container [ngTemplateOutlet]=\"valueTemplate\"></ng-container></dr-tooltip-default>\n</ng-template>\n\n<ng-template #popover let-close=\"closePopover\">\n <div\n class=\"dropdown__wrapper\"\n [ngClass]=\"dropdownClass\"\n tabindex=\"0\"\n *ngLet=\"items | search: search : searchBy as filteredItems\">\n <div class=\"dropdown__search\" *ngIf=\"showSearch\">\n <dr-input\n data-analytics=\"filter-dropdown_input-0\"\n drAutofocus\n #searchRef\n [class.with-value]=\"search\"\n type=\"search\"\n tabindex=\"0\"\n placeholder=\"Search\"\n [clearable]=\"true\"\n [(ngModel)]=\"search\" />\n </div>\n\n <div class=\"dropdown__header\">\n <div class=\"dropdown__header-title\">Filter by {{ label }}</div>\n <a *ngIf=\"showSelectAll\" href=\"javascript: void(0)\" (click)=\"onSelectAll()\" class=\"dropdown__header-select-all\">{{\n isSelectedAll ? 'Select none' : 'Select all'\n }}</a>\n </div>\n\n <dr-dropdown class=\"dr-filter-list\" *ngIf=\"filteredItems.length; else noDataPlaceholder\" tabindex=\"0\">\n <dr-dropdown-item\n *ngFor=\"let item of filteredItems; trackBy: trackByFn\"\n class=\"dr-filter-list__item\"\n [selected]=\"isSelected(item)\"\n [disabled]=\"item.disabled\"\n tabindex=\"0\"\n #itemRef\n (keyup.enter)=\"!itemRef.selected && selectedChange.emit(item)\"\n (click)=\"!itemRef.disabled && onSelectedItemChanged(item, itemRef.selected, close)\">\n <ng-container dropdownItemContent>\n <dr-checkbox\n data-analytics=\"filter-dropdown_checkbox-0\"\n *ngIf=\"multiple\"\n class=\"dr-filter-list__item-checkbox\"\n [checkedStatus]=\"itemRef.selected\"\n [disabled]=\"item.disabled\" />\n <ng-container dropdownItemContent>\n <ng-container\n [ngTemplateOutlet]=\"dropdownItemTemplate || defaultDropdownItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultDropdownItemTemplate>\n <dr-text-overflow>{{ _item(item) }} </dr-text-overflow>\n </ng-template>\n </ng-container>\n </dr-dropdown-item>\n </dr-dropdown>\n\n <ng-template #noDataPlaceholder>\n <div class=\"dropdown__no-result\" *ngIf=\"noItemsPlaceholder\">\n {{ noItemsPlaceholder }}\n </div>\n </ng-template>\n\n <div *ngIf=\"multiple\" class=\"dropdown__actions\">\n <dr-button\n *ngIf=\"clearable && hasSelection\"\n theme=\"secondary\"\n data-analytics=\"filter-dropdown_button-1\"\n class=\"dropdown__clear\"\n (click)=\"onClear(close)\">\n Clear\n </dr-button>\n <dr-button data-analytics=\"filter-dropdown_button-0\" (click)=\"onApply(close)\">Apply</dr-button>\n </div>\n </div>\n</ng-template>\n", styles: [":host::ng-deep dr-button,:host::ng-deep dr-button>button{max-width:100%}.filter-label{padding-right:.3em}.filter-value{font-weight:600}.filter-value-all{font-weight:400}.dropdown__wrapper{min-width:250px;padding:8px 0 0}.dropdown__wrapper::ng-deep .dr-dropdown__container{padding:0;max-height:none;overflow:visible}.dropdown__wrapper::ng-deep .dr-dropdown-item.item-disabled{cursor:not-allowed}.dropdown__wrapper .dr-filter-list{overflow:auto;display:block;max-height:180px}.dropdown__wrapper .dr-filter-list__item{margin-bottom:4px}.dropdown__wrapper .dr-filter-list__item::ng-deep .dr-dropdown-item{padding:0 16px;height:32px}.dropdown__wrapper .dr-filter-list__item::ng-deep .dr-dropdown-item .text-ellipsis{text-overflow:ellipsis;overflow:hidden}.dropdown__wrapper .dr-filter-list__item-checkbox{margin-right:4px;pointer-events:none}.dropdown__wrapper .dr-filter-list__item-checkbox::ng-deep label input+span{margin:0}.dropdown__wrapper .dr-filter-list__item-checkbox::ng-deep label input+span:before{margin:3px}.dropdown__search{padding:4px 8px}.dropdown__header{font-size:12px;line-height:16px;font-weight:400;display:flex;align-items:center;margin:2px 0;padding:4px 16px;white-space:nowrap}.dropdown__header-title{flex-grow:1;overflow:hidden;text-overflow:ellipsis;color:#6d6e6f;text-transform:uppercase}.dropdown__header-select-all{color:#4646ce;margin-left:8px;text-decoration:none}.dropdown__header-select-all:hover{text-decoration:underline}.dropdown__actions{gap:8px;padding:8px 16px;display:flex;justify-content:flex-end;border-top:1px solid #dbdee3}.dropdown__no-result{padding:4px 16px 16px}\n"] }]
|
|
386
411
|
}], null, { dropdownItemTemplate: [{
|
|
387
412
|
type: ContentChild,
|
|
388
413
|
args: ['dropdownItemTemplate', { read: TemplateRef }]
|
|
@@ -410,6 +435,8 @@ export class FilterDropdownComponent {
|
|
|
410
435
|
type: Input
|
|
411
436
|
}], dropdownPosition: [{
|
|
412
437
|
type: Input
|
|
438
|
+
}], overflowTooltipPosition: [{
|
|
439
|
+
type: Input
|
|
413
440
|
}], bindValue: [{
|
|
414
441
|
type: Input
|
|
415
442
|
}], displayValue: [{
|
|
@@ -428,12 +455,10 @@ export class FilterDropdownComponent {
|
|
|
428
455
|
type: Input
|
|
429
456
|
}], showManyLimit: [{
|
|
430
457
|
type: Input
|
|
431
|
-
}], showInLabelLimit: [{
|
|
432
|
-
type: Input
|
|
433
458
|
}], selected: [{
|
|
434
459
|
type: Input,
|
|
435
460
|
args: [{ required: true }]
|
|
436
461
|
}], useNoneTemplate: [{
|
|
437
462
|
type: Input
|
|
438
463
|
}] }); })();
|
|
439
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ZpbHRlci1kcm9wZG93bi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFjLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0RyQyw2QkFBd0I7SUFBQSxpQkFBQztJQUFBLDBCQUFlOzs7O0lBRDVDLDZCQUE0RjtJQUN4Rix1SUFBd0M7SUFDeEMsNEJBR2U7SUFDbkIsMEJBQWU7Ozs7OztJQUxJLGVBQU87SUFBUCw0QkFBTztJQUVs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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQsIEVsUG9zaXRpb24sIExldERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXV0b2ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9hdXRvZm9jdXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWFyY2hQaXBlIH0gZnJvbSAnLi4vcGlwZXMvc2VhcmNoL3NlYXJjaC5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1maWx0ZXItZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIERyUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgRHJEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgRHJJbnB1dHNNb2R1bGUsXG4gICAgICAgIFNlYXJjaFBpcGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBMZXREaXJlY3RpdmUsXG4gICAgICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgRHJCdXR0b25Db21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRHJvcGRvd25Db21wb25lbnQ8VCA9IGFueT4ge1xuICAgIEBDb250ZW50Q2hpbGQoJ2Ryb3Bkb3duSXRlbVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGRyb3Bkb3duSXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFRbXSB9PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsSXRlbVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGxhYmVsSXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFQgfT47XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VCB8IFRbXSB8IG51bGw+KCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBpdGVtczogVFtdID0gW107XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIGxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2VsZWN0ZWRVc2VyOiBUW10gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSB1c2VyczogVFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIG5vSXRlbXNQbGFjZWhvbGRlciA9ICdObyBpdGVtcyBmb3VuZCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRyb3Bkb3duQ2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgZHJvcGRvd25Qb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBiaW5kVmFsdWUhOiBrZXlvZiBUO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5VmFsdWUhOiBrZXlvZiBUO1xuXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hCeTogKGtleW9mIFQpW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBjbGVhcmFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgdHJhY2tCeToga2V5b2YgVCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgc2hvd1NlYXJjaExpbWl0ID0gMTA7XG5cbiAgICBASW5wdXQoKSBzaG93TWFueUxpbWl0ID0gMTI7XG5cbiAgICBASW5wdXQoKSBzaG93SW5MYWJlbExpbWl0ID0gMztcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBUIHwgVFtdIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE9yaWdpbmFsID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgdXNlTm9uZVRlbXBsYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogVCB8IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IFQgfCBUW10gfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkT3JpZ2luYWw6IFQgfCBUW10gfCBudWxsID0gbnVsbDtcblxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgZ2V0IHNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IHRoaXMuc2hvd1NlYXJjaExpbWl0O1xuICAgIH1cblxuICAgIGdldCBzaG93U2VsZWN0QWxsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IHRoaXMuc2hvd1NlYXJjaExpbWl0O1xuICAgIH1cblxuICAgIGdldCBpc1NlbGVjdGVkQWxsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkICYmICh0aGlzLnNlbGVjdGVkIGFzIFRbXSkubGVuZ3RoID09PSB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWRBcnIoKTogVFtdIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWQpID8gdGhpcy5zZWxlY3RlZCA6IFt0aGlzLnNlbGVjdGVkXTtcbiAgICB9XG5cbiAgICBnZXQgaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEFyci5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRBcnIubGVuZ3RoIDwgdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgc2xpY2VBcnJheShzZWxlY3RlZDogVFtdKSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZC5zbGljZSgwLCAzKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogVCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFja0J5ID8gaXRlbVt0aGlzLnRyYWNrQnldIDogaW5kZXg7XG4gICAgfVxuXG4gICAgX2l0ZW0oaXRlbTogVCB8IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/Llt0aGlzLmJpbmRWYWx1ZV0gfHwgaXRlbTtcbiAgICB9XG5cbiAgICBvblNlbGVjdGVkSXRlbUNoYW5nZWQoaXRlbTogVCwgaXNTZWxlY3RlZDogYm9vbGVhbiwgY2xvc2VQb3BvdmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGlzU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA/IFsuLi4odGhpcy5zZWxlY3RlZCBhcyBUW10pLmZpbHRlcigoZWwpID0+IHRoaXMuX2l0ZW0oZWwpICE9PSB0aGlzLl9pdGVtKGl0ZW0pKV1cbiAgICAgICAgICAgICAgICA6IFsuLi4odGhpcy5zZWxlY3RlZCBhcyBUW10pLCBpdGVtXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGl0ZW07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChpdGVtKTtcbiAgICAgICAgY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RBbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFsuLi50aGlzLml0ZW1zXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQoaXRlbTogVCB8IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGVcbiAgICAgICAgICAgID8gKHRoaXMuc2VsZWN0ZWQgYXMgVFtdKT8uc29tZSgoZWwpID0+IGVsID09PSBpdGVtIHx8IHRoaXMuX2l0ZW0oZWwpID09PSB0aGlzLl9pdGVtKGl0ZW0pKVxuICAgICAgICAgICAgOiB0aGlzLnNlbGVjdGVkID09PSBpdGVtIHx8IHRoaXMuX2l0ZW0odGhpcy5zZWxlY3RlZCBhcyBUKSA9PT0gdGhpcy5faXRlbShpdGVtKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KGNsb3NlUG9wb3ZlcjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWQpO1xuICAgICAgICBjbG9zZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKGNsb3NlOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgICAgIGNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Qb3BvdmVyQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbDtcbiAgICB9XG59XG4iLCI8ZHItYnV0dG9uXG4gICAgdGhlbWU9XCJkcm9wZG93blwiXG4gICAgaWNvbkFmdGVyPVwiZHItaWNvbi1hcnJvdy1kb3duXCJcbiAgICBpY29uQWZ0ZXJTaXplPVwiMThcIlxuICAgIFtkclBvcG92ZXJdPVwicG9wb3ZlclwiXG4gICAgKGRyUG9wb3ZlckNsb3NlKT1cIm9uUG9wb3ZlckNsb3NlKClcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIFtpc0FjdGl2ZV09XCJoYXNTZWxlY3Rpb25cIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2RyUG9wb3ZlclBvc2l0aW9uXT1cImRyb3Bkb3duUG9zaXRpb25cIj5cbiAgICB7eyBsYWJlbCB9fTpcblxuICAgIDxzcGFuIGNsYXNzPVwiZmlsdGVyLXZhbHVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWxlY3Rpb247IGVsc2Ugbm9TZWxlY3Rpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEFyci5sZW5ndGggPD0gc2hvd01hbnlMaW1pdDsgZWxzZSBtYW55VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkQXJyIHwgc2xpY2U6IDAgOiBzaG93SW5MYWJlbExpbWl0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpXCI+LDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbEl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0TGFiZWxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRBcnIubGVuZ3RoID4gc2hvd0luTGFiZWxMaW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICArIHt7IHNlbGVjdGVkQXJyLmxlbmd0aCAtIHNob3dJbkxhYmVsTGltaXQgfX08L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNtYW55VGVtcGxhdGU+TWFueTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNub1NlbGVjdGlvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZU5vbmVUZW1wbGF0ZSAmJiAhaXNTZWxlY3RlZEFsbDsgZWxzZSBhbGxUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItdmFsdWUtYWxsXCI+Tm9uZTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FsbFRlbXBsYXRlPjxzcGFuIGNsYXNzPVwiZmlsdGVyLXZhbHVlLWFsbFwiPkFsbDwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhYmVsVGVtcGxhdGUgbGV0LWl0ZW0+e3sgX2l0ZW0oaXRlbSkgfX08L25nLXRlbXBsYXRlPlxuPC9kci1idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3ZlciBsZXQtY2xvc2U9XCJjbG9zZVBvcG92ZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX3dyYXBwZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJkcm9wZG93bkNsYXNzXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKm5nTGV0PVwiaXRlbXMgfCBzZWFyY2g6IHNlYXJjaCA6IHNlYXJjaEJ5IGFzIGZpbHRlcmVkSXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX19zZWFyY2hcIiAqbmdJZj1cInNob3dTZWFyY2hcIj5cbiAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2lucHV0LTBcIlxuICAgICAgICAgICAgICAgIGRyQXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgI3NlYXJjaFJlZlxuICAgICAgICAgICAgICAgIFtjbGFzcy53aXRoLXZhbHVlXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci10aXRsZVwiPkZpbHRlciBieSB7eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJzaG93U2VsZWN0QWxsXCIgaHJlZj1cImphdmFzY3JpcHQ6IHZvaWQoMClcIiAoY2xpY2spPVwib25TZWxlY3RBbGwoKVwiIGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci1zZWxlY3QtYWxsXCI+e3tcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkQWxsID8gJ1NlbGVjdCBub25lJyA6ICdTZWxlY3QgYWxsJ1xuICAgICAgICAgICAgfX08L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkci1kcm9wZG93biBjbGFzcz1cImRyLWZpbHRlci1saXN0XCIgKm5nSWY9XCJmaWx0ZXJlZEl0ZW1zLmxlbmd0aDsgZWxzZSBub0RhdGFQbGFjZWhvbGRlclwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGRyLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZmlsdGVyLWxpc3RfX2l0ZW1cIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAjaXRlbVJlZlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCIhaXRlbVJlZi5zZWxlY3RlZCAmJiBzZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWl0ZW1SZWYuZGlzYWJsZWQgJiYgb25TZWxlY3RlZEl0ZW1DaGFuZ2VkKGl0ZW0sIGl0ZW1SZWYuc2VsZWN0ZWQsIGNsb3NlKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZHJvcGRvd25JdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRyLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWFuYWx5dGljcz1cImZpbHRlci1kcm9wZG93bl9jaGVja2JveC0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkci1maWx0ZXItbGlzdF9faXRlbS1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZFN0YXR1c109XCJpdGVtUmVmLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHREcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RHJvcGRvd25JdGVtVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBfaXRlbShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgICAgICA8L2RyLWRyb3Bkb3duPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX25vLXJlc3VsdFwiICpuZ0lmPVwibm9JdGVtc1BsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAge3sgbm9JdGVtc1BsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIiBjbGFzcz1cImRyb3Bkb3duX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgaGFzU2VsZWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hbmFseXRpY3M9XCJmaWx0ZXItZHJvcGRvd25fYnV0dG9uLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcihjbG9zZSlcIj5cbiAgICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9kci1idXR0b24+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2J1dHRvbi0wXCIgKGNsaWNrKT1cIm9uQXBwbHkoY2xvc2UpXCI+QXBwbHk8L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ZpbHRlci1kcm9wZG93bi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFZLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENB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WTtrQkFEWCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBSXRDLFNBQVM7a0JBRFIsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQUl0QyxPQUFPO2tCQUROLEtBQUs7WUFHRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUdGLFFBQVE7a0JBRFgsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFNaEIsZUFBZTtrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQsIFBvc2l0aW9uLCBMZXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NlYXJjaC9zZWFyY2gucGlwZSc7XG5pbXBvcnQgeyBEclRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFRleHRPdmVyZmxvd0NvbXBvbmVudCB9IGZyb20gJy4uL3RleHQtb3ZlcmZsb3cvdGV4dC1vdmVyZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJMaXN0T3ZlcmZsb3dDb21wb25lbnQgfSBmcm9tICcuLi9kci1saXN0LW92ZXJmbG93L2RyLWxpc3Qtb3ZlcmZsb3cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1maWx0ZXItZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIERyVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgRHJQb3BvdmVyTW9kdWxlLFxuICAgICAgICBEckRyb3Bkb3duTW9kdWxlLFxuICAgICAgICBEcklucHV0c01vZHVsZSxcbiAgICAgICAgU2VhcmNoUGlwZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIExldERpcmVjdGl2ZSxcbiAgICAgICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgICAgICBEckJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgVGV4dE92ZXJmbG93Q29tcG9uZW50LFxuICAgICAgICBEckxpc3RPdmVyZmxvd0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJEcm9wZG93bkNvbXBvbmVudDxUID0gYW55PiB7XG4gICAgQENvbnRlbnRDaGlsZCgnZHJvcGRvd25JdGVtVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgZHJvcGRvd25JdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogVFtdIH0+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxJdGVtVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgbGFiZWxJdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogVCB9PjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUIHwgVFtdIHwgbnVsbD4oKTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIGl0ZW1zOiBUW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbGFiZWwhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzZWxlY3RlZFVzZXI6IFRbXSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHVzZXJzOiBUW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbm9JdGVtc1BsYWNlaG9sZGVyID0gJ05vIGl0ZW1zIGZvdW5kJztcblxuICAgIEBJbnB1dCgpXG4gICAgZHJvcGRvd25DbGFzcyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBkcm9wZG93blBvc2l0aW9uOiBQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBvdmVyZmxvd1Rvb2x0aXBQb3NpdGlvbjogUG9zaXRpb24gPSAnYm90dG9tJztcblxuICAgIEBJbnB1dCgpXG4gICAgYmluZFZhbHVlIToga2V5b2YgVDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheVZhbHVlIToga2V5b2YgVDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoQnk6IChrZXlvZiBUKVtdID0gW107XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgY2xlYXJhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRyYWNrQnk6IGtleW9mIFQgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hMaW1pdCA9IDEwO1xuXG4gICAgQElucHV0KCkgc2hvd01hbnlMaW1pdCA9IDk7IC8vIGZyb20gMTAgc2hvdyBjb3VudGVyXG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogVCB8IFRbXSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHVzZU5vbmVUZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IFQgfCBUW10gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBUIHwgVFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZE9yaWdpbmFsOiBUIHwgVFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBzZWFyY2ggPSAnJztcblxuICAgIGdldCBzaG93U2VhcmNoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGggPiB0aGlzLnNob3dTZWFyY2hMaW1pdDtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1NlbGVjdEFsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiB0aGlzLnNob3dTZWFyY2hMaW1pdDtcbiAgICB9XG5cbiAgICBnZXQgaXNTZWxlY3RlZEFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZCAmJiAodGhpcy5zZWxlY3RlZCBhcyBUW10pLmxlbmd0aCA9PT0gdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkQXJyKCk6IFRbXSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZCkgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkKSA/IHRoaXMuc2VsZWN0ZWQgOiBbdGhpcy5zZWxlY3RlZF07XG4gICAgfVxuXG4gICAgZ2V0IGhhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRBcnIubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkQXJyLmxlbmd0aCA8IHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHNsaWNlQXJyYXkoc2VsZWN0ZWQ6IFRbXSkge1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQuc2xpY2UoMCwgMyk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IFQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhY2tCeSA/IGl0ZW1bdGhpcy50cmFja0J5XSA6IGluZGV4O1xuICAgIH1cblxuICAgIF9pdGVtKGl0ZW06IFQgfCBudWxsKSB7XG4gICAgICAgIHJldHVybiBpdGVtPy5bdGhpcy5iaW5kVmFsdWVdIHx8IGl0ZW07XG4gICAgfVxuXG4gICAgb25TZWxlY3RlZEl0ZW1DaGFuZ2VkKGl0ZW06IFQsIGlzU2VsZWN0ZWQ6IGJvb2xlYW4sIGNsb3NlUG9wb3ZlcjogKCkgPT4gdm9pZCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBpc1NlbGVjdGVkXG4gICAgICAgICAgICAgICAgPyBbLi4uKHRoaXMuc2VsZWN0ZWQgYXMgVFtdKS5maWx0ZXIoKGVsKSA9PiB0aGlzLl9pdGVtKGVsKSAhPT0gdGhpcy5faXRlbShpdGVtKSldXG4gICAgICAgICAgICAgICAgOiBbLi4uKHRoaXMuc2VsZWN0ZWQgYXMgVFtdKSwgaXRlbV07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBpdGVtO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoaXRlbSk7XG4gICAgICAgIGNsb3NlUG9wb3ZlcigpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0QWxsKCkge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGVkQWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBbLi4udGhpcy5pdGVtc107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkKGl0ZW06IFQgfCBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlXG4gICAgICAgICAgICA/ICh0aGlzLnNlbGVjdGVkIGFzIFRbXSk/LnNvbWUoKGVsKSA9PiBlbCA9PT0gaXRlbSB8fCB0aGlzLl9pdGVtKGVsKSA9PT0gdGhpcy5faXRlbShpdGVtKSlcbiAgICAgICAgICAgIDogdGhpcy5zZWxlY3RlZCA9PT0gaXRlbSB8fCB0aGlzLl9pdGVtKHRoaXMuc2VsZWN0ZWQgYXMgVCkgPT09IHRoaXMuX2l0ZW0oaXRlbSk7XG4gICAgfVxuXG4gICAgb25BcHBseShjbG9zZVBvcG92ZXI6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkKTtcbiAgICAgICAgY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgb25DbGVhcihjbG9zZTogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkT3JpZ2luYWwgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkT3JpZ2luYWwgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWQpO1xuICAgICAgICBjbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUG9wb3ZlckNsb3NlKCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkT3JpZ2luYWw7XG4gICAgfVxufVxuIiwiPGRyLWJ1dHRvblxuICAgIHRoZW1lPVwiZHJvcGRvd25cIlxuICAgIGljb25BZnRlcj1cImRyLWljb24tYXJyb3ctZG93blwiXG4gICAgaWNvbkFmdGVyU2l6ZT1cIjE4XCJcbiAgICBbZHJUb29sdGlwXT1cImhhc1NlbGVjdGlvbiAmJiAobGlzdE92ZXJmbG93UmVmLmhhc092ZXJmbG93ZWQgfHwgc2VsZWN0ZWRBcnIubGVuZ3RoID4gc2hvd01hbnlMaW1pdCkgJiYgdG9vbHRpcFRlbXBsYXRlXCJcbiAgICBbZHJUb29sdGlwUG9zaXRpb25dPVwib3ZlcmZsb3dUb29sdGlwUG9zaXRpb25cIlxuICAgIFtkclBvcG92ZXJdPVwicG9wb3ZlclwiXG4gICAgKGRyUG9wb3ZlckNsb3NlKT1cIm9uUG9wb3ZlckNsb3NlKClcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIFtpc0FjdGl2ZV09XCJoYXNTZWxlY3Rpb25cIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2RyUG9wb3ZlclBvc2l0aW9uXT1cImRyb3Bkb3duUG9zaXRpb25cIj5cbiAgICA8c3BhbiBjbGFzcz1cImZpbHRlci1sYWJlbFwiPnt7IGxhYmVsIH19Ojwvc3Bhbj5cblxuICAgIDxzcGFuIGRyTGlzdE92ZXJmbG93ICNsaXN0T3ZlcmZsb3dSZWY9XCJsaXN0T3ZlcmZsb3dcIiBjbGFzcz1cImZpbHRlci12YWx1ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU2VsZWN0aW9uOyBlbHNlIG5vU2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRBcnIubGVuZ3RoIDw9IHNob3dNYW55TGltaXQ7IGVsc2UgbWFueVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ2YWx1ZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxuZy10ZW1wbGF0ZSAjbWFueVRlbXBsYXRlPjxzcGFuPk1hbnk8L3NwYW4+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25vU2VsZWN0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlTm9uZVRlbXBsYXRlICYmICFpc1NlbGVjdGVkQWxsOyBlbHNlIGFsbFRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbHRlci12YWx1ZS1hbGxcIj5Ob25lPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjYWxsVGVtcGxhdGU+PHNwYW4gY2xhc3M9XCJmaWx0ZXItdmFsdWUtYWxsXCI+QWxsPC9zcGFuPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TGFiZWxUZW1wbGF0ZSBsZXQtaXRlbT4ge3sgX2l0ZW0oaXRlbSkgfX08L25nLXRlbXBsYXRlPlxuPC9kci1idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjdmFsdWVUZW1wbGF0ZT5cbiAgICA8c3BhbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEFycjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaVwiPiw8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxJdGVtVGVtcGxhdGUgfHwgZGVmYXVsdExhYmVsVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0b29sdGlwVGVtcGxhdGU+XG4gICAgPGRyLXRvb2x0aXAtZGVmYXVsdD57eyBsYWJlbCB9fTogPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ2YWx1ZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9kci10b29sdGlwLWRlZmF1bHQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXIgbGV0LWNsb3NlPVwiY2xvc2VQb3BvdmVyXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duX193cmFwcGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZHJvcGRvd25DbGFzc1wiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICpuZ0xldD1cIml0ZW1zIHwgc2VhcmNoOiBzZWFyY2ggOiBzZWFyY2hCeSBhcyBmaWx0ZXJlZEl0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9fc2VhcmNoXCIgKm5nSWY9XCJzaG93U2VhcmNoXCI+XG4gICAgICAgICAgICA8ZHItaW5wdXRcbiAgICAgICAgICAgICAgICBkYXRhLWFuYWx5dGljcz1cImZpbHRlci1kcm9wZG93bl9pbnB1dC0wXCJcbiAgICAgICAgICAgICAgICBkckF1dG9mb2N1c1xuICAgICAgICAgICAgICAgICNzZWFyY2hSZWZcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC12YWx1ZV09XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxuICAgICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX19oZWFkZXItdGl0bGVcIj5GaWx0ZXIgYnkge3sgbGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwic2hvd1NlbGVjdEFsbFwiIGhyZWY9XCJqYXZhc2NyaXB0OiB2b2lkKDApXCIgKGNsaWNrKT1cIm9uU2VsZWN0QWxsKClcIiBjbGFzcz1cImRyb3Bkb3duX19oZWFkZXItc2VsZWN0LWFsbFwiPnt7XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RlZEFsbCA/ICdTZWxlY3Qgbm9uZScgOiAnU2VsZWN0IGFsbCdcbiAgICAgICAgICAgIH19PC9hPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZHItZHJvcGRvd24gY2xhc3M9XCJkci1maWx0ZXItbGlzdFwiICpuZ0lmPVwiZmlsdGVyZWRJdGVtcy5sZW5ndGg7IGVsc2Ugbm9EYXRhUGxhY2Vob2xkZXJcIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIDxkci1kcm9wZG93bi1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRJdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyLWZpbHRlci1saXN0X19pdGVtXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgI2l0ZW1SZWZcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiIWl0ZW1SZWYuc2VsZWN0ZWQgJiYgc2VsZWN0ZWRDaGFuZ2UuZW1pdChpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFpdGVtUmVmLmRpc2FibGVkICYmIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZChpdGVtLCBpdGVtUmVmLnNlbGVjdGVkLCBjbG9zZSlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGRyb3Bkb3duSXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkci1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hbmFseXRpY3M9XCJmaWx0ZXItZHJvcGRvd25fY2hlY2tib3gtMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZmlsdGVyLWxpc3RfX2l0ZW0tY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRTdGF0dXNdPVwiaXRlbVJlZi5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZHJvcGRvd25JdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bkl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0RHJvcGRvd25JdGVtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERyb3Bkb3duSXRlbVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRyLXRleHQtb3ZlcmZsb3c+e3sgX2l0ZW0oaXRlbSkgfX0gPC9kci10ZXh0LW92ZXJmbG93PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgICAgICA8L2RyLWRyb3Bkb3duPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX25vLXJlc3VsdFwiICpuZ0lmPVwibm9JdGVtc1BsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAge3sgbm9JdGVtc1BsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIiBjbGFzcz1cImRyb3Bkb3duX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgaGFzU2VsZWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hbmFseXRpY3M9XCJmaWx0ZXItZHJvcGRvd25fYnV0dG9uLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcihjbG9zZSlcIj5cbiAgICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9kci1idXR0b24+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2J1dHRvbi0wXCIgKGNsaWNrKT1cIm9uQXBwbHkoY2xvc2UpXCI+QXBwbHk8L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|