@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779195190 → 5.0.0-next.3-dev.1779200097
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/autocomplete/autocomplete-base-element.js +2 -2
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-DRGjFF9_.js → autocomplete-base-element-6leI6UF4.js} +24 -14
- package/autocomplete.js +4 -4
- package/autocomplete.pure.js +3 -3
- package/calendar/calendar/calendar.component.js +2 -2
- package/{calendar.component-oS_T4s4k.js → calendar.component-BK4w5GWV.js} +35 -29
- package/calendar.js +4 -4
- package/calendar.pure.js +3 -3
- package/carousel/carousel/carousel.component.js +1 -1
- package/carousel/carousel-item/carousel-item.component.js +2 -2
- package/carousel/carousel-list/carousel-list.component.js +1 -1
- package/{carousel-item.component-DyZAdXL_.js → carousel-item.component-B6WmZPkW.js} +12 -2
- package/{carousel-list.component-Ai0uJWB7.js → carousel-list.component-CnZehdy6.js} +6 -13
- package/{carousel.component-9oMMOyWo.js → carousel.component-ZrkGeJgZ.js} +1 -1
- package/carousel.js +5 -5
- package/carousel.pure.js +4 -4
- package/chip/chip-group/chip-group.component.js +1 -1
- package/{chip-group.component-DJORKUef.js → chip-group.component-BIP7c2G0.js} +2 -7
- package/chip.js +1 -1
- package/chip.pure.js +1 -1
- package/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
- package/custom-elements.json +3886 -3393
- package/datepicker/datepicker/datepicker.component.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +6 -3
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +2 -2
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/autocomplete-base-element-qnPoRLvM.js +695 -0
- package/development/autocomplete.js +2 -2
- package/development/autocomplete.pure.js +2 -2
- package/development/calendar/calendar/calendar.component.d.ts +8 -0
- package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar/calendar.component.js +2 -2
- package/development/calendar.component-BKWvdgzO.js +1461 -0
- package/development/calendar.js +2 -2
- package/development/calendar.pure.js +2 -2
- package/development/carousel/carousel/carousel.component.js +1 -1
- package/development/carousel/carousel-item/carousel-item.component.d.ts +8 -6
- package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
- package/development/carousel/carousel-item/carousel-item.component.js +2 -2
- package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
- package/development/carousel/carousel-list/carousel-list.component.js +1 -1
- package/development/{carousel-item.component-B_0wdIAu.js → carousel-item.component-nuo7jAt3.js} +16 -4
- package/development/carousel-list.component-B8PUREwS.js +126 -0
- package/development/carousel.component-D_KIJ9Bb.js +139 -0
- package/development/carousel.js +4 -4
- package/development/carousel.pure.js +4 -4
- package/development/chip/chip-group/chip-group.component.d.ts +1 -23
- package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
- package/development/chip/chip-group/chip-group.component.js +1 -1
- package/development/chip-group.component-CVizDsAz.js +395 -0
- package/development/chip.js +1 -1
- package/development/chip.pure.js +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -1
- package/development/core/overlay/overlay-outside-pointer-event-listener.js +2 -2
- package/development/core.d.ts +0 -1
- package/development/core.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts +1 -1
- package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
- package/development/datepicker/datepicker/datepicker.component.js +3 -3
- package/development/dialog/dialog/dialog.component.d.ts +2 -3
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/{dialog.component-AItB8ixG.js → dialog.component-D8B2dVck.js} +4 -7
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/file-selector/common/file-selector-common.d.ts +5 -0
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +2 -2
- package/development/{file-selector-common-CGL95Rnw.js → file-selector-common-mZ5UYxOF.js} +17 -8
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/development/form-field/form-field/form-field.component.d.ts +1 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field.component-CPWBCHer.js +1 -1
- package/development/overlay/overlay-base-element.d.ts +4 -4
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +3 -9
- package/development/overlay/overlay.component.d.ts +3 -3
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-rFmitc_r.js → overlay.component-YSCuGeme.js} +4 -7
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/paginator/common/paginator-common.d.ts +11 -6
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +2 -2
- package/development/paginator-common-B7iba0wQ.js +432 -0
- package/development/paginator.js +2 -2
- package/development/paginator.pure.js +2 -2
- package/development/popover/popover.component.d.ts +7 -0
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +2 -2
- package/development/popover.component-CKUZbWbV.js +578 -0
- package/development/popover.js +2 -2
- package/development/popover.pure.js +2 -2
- package/development/{step.component-CcjtUFyR.js → step.component-B_YHm1tz.js} +32 -10
- package/development/stepper/step/step.component.d.ts +14 -1
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +2 -2
- package/development/stepper/stepper/stepper.component.d.ts +9 -5
- package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/stepper.component-BeqeUIRN.js +443 -0
- package/development/stepper.js +3 -3
- package/development/stepper.pure.js +3 -3
- package/development/tab-group.component-CGMBihsQ.js +297 -0
- package/development/{tab-label.component-CNX8bsJL.js → tab-label.component-CQOLO2t7.js} +11 -13
- package/development/tabs/tab-group/tab-group.component.d.ts +15 -8
- package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
- package/development/tabs/tab-group/tab-group.component.js +2 -2
- package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
- package/development/tabs/tab-label/tab-label.component.js +1 -1
- package/development/tabs.js +3 -3
- package/development/tabs.pure.js +3 -3
- package/dialog/dialog/dialog.component.js +1 -1
- package/{dialog.component-4O3__zyd.js → dialog.component-CsBryhM-.js} +3 -6
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/file-selector/common/file-selector-common.js +2 -2
- package/{file-selector-common-BE780nIa.js → file-selector-common-VNwWFEmM.js} +26 -19
- package/file-selector.js +5 -5
- package/file-selector.pure.js +4 -4
- package/overlay/overlay-base-element.js +2 -8
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-C80XN61v.js → overlay.component-myJflfLY.js} +3 -6
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/paginator/common/paginator-common.js +2 -2
- package/{paginator-common-uoCIcl4X.js → paginator-common-BWewgXga.js} +42 -24
- package/paginator.js +5 -5
- package/paginator.pure.js +4 -4
- package/popover/popover.component.js +2 -2
- package/{popover.component-DJruKzY-.js → popover.component-Dm_86bPY.js} +19 -7
- package/popover.js +3 -3
- package/popover.pure.js +2 -2
- package/{step.component-BY6_2Wh2.js → step.component-tJh-Pb_E.js} +23 -8
- package/stepper/step/step.component.js +2 -2
- package/stepper/stepper/stepper.component.js +1 -1
- package/{stepper.component-lh0YSbT1.js → stepper.component-BCl77LVa.js} +20 -3
- package/stepper.js +4 -4
- package/stepper.pure.js +3 -3
- package/{tab-group.component-t4eeCNf-.js → tab-group.component-CDhggNpe.js} +27 -2
- package/{tab-label.component-DvvSohaG.js → tab-label.component-BuF2qt1T.js} +23 -22
- package/tabs/tab-group/tab-group.component.js +2 -2
- package/tabs/tab-label/tab-label.component.js +1 -1
- package/tabs.js +7 -7
- package/tabs.pure.js +6 -6
- package/development/autocomplete-base-element-DQiZ6hhk.js +0 -683
- package/development/calendar.component-CjlcDyS5.js +0 -1450
- package/development/carousel-list.component-DpDh5tqB.js +0 -133
- package/development/carousel.component-ClWvnZ8s.js +0 -139
- package/development/chip-group.component-Sgmi-kSy.js +0 -403
- package/development/core/interfaces/overlay-close-details.d.ts +0 -6
- package/development/core/interfaces/overlay-close-details.d.ts.map +0 -1
- package/development/paginator-common-BCeNUko_.js +0 -410
- package/development/popover.component-BmTfHMFw.js +0 -564
- package/development/stepper.component-80S-oXrH.js +0 -422
- package/development/tab-group.component-D4fvd6Uu.js +0 -265
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, nothing, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbDisabledMixin, SbbLanguageController, SbbNegativeMixin, forceType, i18nNextPage, i18nPage, i18nPaginatorSelected, i18nPreviousPage, sbbInputModalityDetector, screenReaderOnlyStyles } from "./core.js";
|
|
5
|
-
import { SbbMiniButtonElement, SbbMiniButtonGroupElement } from "./button.pure.js";
|
|
6
|
-
import { SbbDividerElement } from "./divider.pure.js";
|
|
7
|
-
//#region src/elements/paginator/common/paginator-common.scss?inline
|
|
8
|
-
var paginator_common_default = ":host([size=s]) {\n --sbb-paginator-height: var(--sbb-size-element-xs);\n}\n\n:host([size=m]) {\n --sbb-paginator-height: var(--sbb-size-element-m);\n}\n\n:host([negative]) {\n --sbb-paginator-color: var(--sbb-color-5);\n}";
|
|
9
|
-
//#endregion
|
|
10
|
-
//#region src/elements/paginator/common/paginator-common.ts
|
|
11
|
-
var SbbPaginatorCommonElementMixin = (superClass) => {
|
|
12
|
-
return (() => {
|
|
13
|
-
let _classSuper = SbbNegativeMixin(SbbDisabledMixin(superClass));
|
|
14
|
-
let _length_decorators;
|
|
15
|
-
let _length_initializers = [];
|
|
16
|
-
let _length_extraInitializers = [];
|
|
17
|
-
let _pageSize_decorators;
|
|
18
|
-
let _pageSize_initializers = [];
|
|
19
|
-
let _pageSize_extraInitializers = [];
|
|
20
|
-
let _pageIndex_decorators;
|
|
21
|
-
let _pageIndex_initializers = [];
|
|
22
|
-
let _pageIndex_extraInitializers = [];
|
|
23
|
-
let _pagerPosition_decorators;
|
|
24
|
-
let _pagerPosition_initializers = [];
|
|
25
|
-
let _pagerPosition_extraInitializers = [];
|
|
26
|
-
let _size_decorators;
|
|
27
|
-
let _size_initializers = [];
|
|
28
|
-
let _size_extraInitializers = [];
|
|
29
|
-
let _accessibilityPageLabel_decorators;
|
|
30
|
-
let _accessibilityPageLabel_initializers = [];
|
|
31
|
-
let _accessibilityPageLabel_extraInitializers = [];
|
|
32
|
-
let _accessibilityPreviousPageLabel_decorators;
|
|
33
|
-
let _accessibilityPreviousPageLabel_initializers = [];
|
|
34
|
-
let _accessibilityPreviousPageLabel_extraInitializers = [];
|
|
35
|
-
let _accessibilityNextPageLabel_decorators;
|
|
36
|
-
let _accessibilityNextPageLabel_initializers = [];
|
|
37
|
-
let _accessibilityNextPageLabel_extraInitializers = [];
|
|
38
|
-
return class SbbPaginatorCommonElement extends _classSuper {
|
|
39
|
-
constructor() {
|
|
40
|
-
super(...arguments);
|
|
41
|
-
this.#length_accessor_storage = __runInitializers(this, _length_initializers, 0);
|
|
42
|
-
this.#pageSize_accessor_storage = (__runInitializers(this, _length_extraInitializers), __runInitializers(this, _pageSize_initializers, 10));
|
|
43
|
-
this.#pageIndex_accessor_storage = (__runInitializers(this, _pageSize_extraInitializers), __runInitializers(this, _pageIndex_initializers, 0));
|
|
44
|
-
this.#pagerPosition_accessor_storage = (__runInitializers(this, _pageIndex_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start"));
|
|
45
|
-
this.#size_accessor_storage = (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _size_initializers, null));
|
|
46
|
-
this.#accessibilityPageLabel_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _accessibilityPageLabel_initializers, ""));
|
|
47
|
-
this.#accessibilityPreviousPageLabel_accessor_storage = (__runInitializers(this, _accessibilityPageLabel_extraInitializers), __runInitializers(this, _accessibilityPreviousPageLabel_initializers, ""));
|
|
48
|
-
this.#accessibilityNextPageLabel_accessor_storage = (__runInitializers(this, _accessibilityPreviousPageLabel_extraInitializers), __runInitializers(this, _accessibilityNextPageLabel_initializers, ""));
|
|
49
|
-
this.language = (__runInitializers(this, _accessibilityNextPageLabel_extraInitializers), new SbbLanguageController(this));
|
|
50
|
-
}
|
|
51
|
-
static {
|
|
52
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
53
|
-
_length_decorators = [forceType(), property({ type: Number })];
|
|
54
|
-
_pageSize_decorators = [forceType(), property({
|
|
55
|
-
attribute: "page-size",
|
|
56
|
-
type: Number
|
|
57
|
-
})];
|
|
58
|
-
_pageIndex_decorators = [forceType(), property({
|
|
59
|
-
attribute: "page-index",
|
|
60
|
-
type: Number
|
|
61
|
-
})];
|
|
62
|
-
_pagerPosition_decorators = [property({
|
|
63
|
-
attribute: "pager-position",
|
|
64
|
-
reflect: true
|
|
65
|
-
})];
|
|
66
|
-
_size_decorators = [property({ reflect: true })];
|
|
67
|
-
_accessibilityPageLabel_decorators = [forceType(), property({ attribute: "accessibility-page-label" })];
|
|
68
|
-
_accessibilityPreviousPageLabel_decorators = [forceType(), property({ attribute: "accessibility-previous-page-label" })];
|
|
69
|
-
_accessibilityNextPageLabel_decorators = [forceType(), property({ attribute: "accessibility-next-page-label" })];
|
|
70
|
-
__esDecorate(this, null, _length_decorators, {
|
|
71
|
-
kind: "accessor",
|
|
72
|
-
name: "length",
|
|
73
|
-
static: false,
|
|
74
|
-
private: false,
|
|
75
|
-
access: {
|
|
76
|
-
has: (obj) => "length" in obj,
|
|
77
|
-
get: (obj) => obj.length,
|
|
78
|
-
set: (obj, value) => {
|
|
79
|
-
obj.length = value;
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
metadata: _metadata
|
|
83
|
-
}, _length_initializers, _length_extraInitializers);
|
|
84
|
-
__esDecorate(this, null, _pageSize_decorators, {
|
|
85
|
-
kind: "accessor",
|
|
86
|
-
name: "pageSize",
|
|
87
|
-
static: false,
|
|
88
|
-
private: false,
|
|
89
|
-
access: {
|
|
90
|
-
has: (obj) => "pageSize" in obj,
|
|
91
|
-
get: (obj) => obj.pageSize,
|
|
92
|
-
set: (obj, value) => {
|
|
93
|
-
obj.pageSize = value;
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
metadata: _metadata
|
|
97
|
-
}, _pageSize_initializers, _pageSize_extraInitializers);
|
|
98
|
-
__esDecorate(this, null, _pageIndex_decorators, {
|
|
99
|
-
kind: "accessor",
|
|
100
|
-
name: "pageIndex",
|
|
101
|
-
static: false,
|
|
102
|
-
private: false,
|
|
103
|
-
access: {
|
|
104
|
-
has: (obj) => "pageIndex" in obj,
|
|
105
|
-
get: (obj) => obj.pageIndex,
|
|
106
|
-
set: (obj, value) => {
|
|
107
|
-
obj.pageIndex = value;
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
metadata: _metadata
|
|
111
|
-
}, _pageIndex_initializers, _pageIndex_extraInitializers);
|
|
112
|
-
__esDecorate(this, null, _pagerPosition_decorators, {
|
|
113
|
-
kind: "accessor",
|
|
114
|
-
name: "pagerPosition",
|
|
115
|
-
static: false,
|
|
116
|
-
private: false,
|
|
117
|
-
access: {
|
|
118
|
-
has: (obj) => "pagerPosition" in obj,
|
|
119
|
-
get: (obj) => obj.pagerPosition,
|
|
120
|
-
set: (obj, value) => {
|
|
121
|
-
obj.pagerPosition = value;
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
metadata: _metadata
|
|
125
|
-
}, _pagerPosition_initializers, _pagerPosition_extraInitializers);
|
|
126
|
-
__esDecorate(this, null, _size_decorators, {
|
|
127
|
-
kind: "accessor",
|
|
128
|
-
name: "size",
|
|
129
|
-
static: false,
|
|
130
|
-
private: false,
|
|
131
|
-
access: {
|
|
132
|
-
has: (obj) => "size" in obj,
|
|
133
|
-
get: (obj) => obj.size,
|
|
134
|
-
set: (obj, value) => {
|
|
135
|
-
obj.size = value;
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
metadata: _metadata
|
|
139
|
-
}, _size_initializers, _size_extraInitializers);
|
|
140
|
-
__esDecorate(this, null, _accessibilityPageLabel_decorators, {
|
|
141
|
-
kind: "accessor",
|
|
142
|
-
name: "accessibilityPageLabel",
|
|
143
|
-
static: false,
|
|
144
|
-
private: false,
|
|
145
|
-
access: {
|
|
146
|
-
has: (obj) => "accessibilityPageLabel" in obj,
|
|
147
|
-
get: (obj) => obj.accessibilityPageLabel,
|
|
148
|
-
set: (obj, value) => {
|
|
149
|
-
obj.accessibilityPageLabel = value;
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
metadata: _metadata
|
|
153
|
-
}, _accessibilityPageLabel_initializers, _accessibilityPageLabel_extraInitializers);
|
|
154
|
-
__esDecorate(this, null, _accessibilityPreviousPageLabel_decorators, {
|
|
155
|
-
kind: "accessor",
|
|
156
|
-
name: "accessibilityPreviousPageLabel",
|
|
157
|
-
static: false,
|
|
158
|
-
private: false,
|
|
159
|
-
access: {
|
|
160
|
-
has: (obj) => "accessibilityPreviousPageLabel" in obj,
|
|
161
|
-
get: (obj) => obj.accessibilityPreviousPageLabel,
|
|
162
|
-
set: (obj, value) => {
|
|
163
|
-
obj.accessibilityPreviousPageLabel = value;
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
metadata: _metadata
|
|
167
|
-
}, _accessibilityPreviousPageLabel_initializers, _accessibilityPreviousPageLabel_extraInitializers);
|
|
168
|
-
__esDecorate(this, null, _accessibilityNextPageLabel_decorators, {
|
|
169
|
-
kind: "accessor",
|
|
170
|
-
name: "accessibilityNextPageLabel",
|
|
171
|
-
static: false,
|
|
172
|
-
private: false,
|
|
173
|
-
access: {
|
|
174
|
-
has: (obj) => "accessibilityNextPageLabel" in obj,
|
|
175
|
-
get: (obj) => obj.accessibilityNextPageLabel,
|
|
176
|
-
set: (obj, value) => {
|
|
177
|
-
obj.accessibilityNextPageLabel = value;
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
metadata: _metadata
|
|
181
|
-
}, _accessibilityNextPageLabel_initializers, _accessibilityNextPageLabel_extraInitializers);
|
|
182
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
183
|
-
enumerable: true,
|
|
184
|
-
configurable: true,
|
|
185
|
-
writable: true,
|
|
186
|
-
value: _metadata
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
static {
|
|
190
|
-
this.styles = [screenReaderOnlyStyles, unsafeCSS(paginator_common_default)];
|
|
191
|
-
}
|
|
192
|
-
static {
|
|
193
|
-
this.elementDependencies = [
|
|
194
|
-
SbbMiniButtonGroupElement,
|
|
195
|
-
SbbMiniButtonElement,
|
|
196
|
-
SbbDividerElement
|
|
197
|
-
];
|
|
198
|
-
}
|
|
199
|
-
static {
|
|
200
|
-
this.role = "group";
|
|
201
|
-
}
|
|
202
|
-
#length_accessor_storage;
|
|
203
|
-
/** Total number of items. */
|
|
204
|
-
get length() {
|
|
205
|
-
return this.#length_accessor_storage;
|
|
206
|
-
}
|
|
207
|
-
set length(value) {
|
|
208
|
-
this.#length_accessor_storage = value;
|
|
209
|
-
}
|
|
210
|
-
#pageSize_accessor_storage;
|
|
211
|
-
/** Number of items per page. */
|
|
212
|
-
get pageSize() {
|
|
213
|
-
return this.#pageSize_accessor_storage;
|
|
214
|
-
}
|
|
215
|
-
set pageSize(value) {
|
|
216
|
-
this.#pageSize_accessor_storage = value;
|
|
217
|
-
}
|
|
218
|
-
#pageIndex_accessor_storage;
|
|
219
|
-
/** Current page index. */
|
|
220
|
-
get pageIndex() {
|
|
221
|
-
return this.#pageIndex_accessor_storage;
|
|
222
|
-
}
|
|
223
|
-
set pageIndex(value) {
|
|
224
|
-
this.#pageIndex_accessor_storage = value;
|
|
225
|
-
}
|
|
226
|
-
#pagerPosition_accessor_storage;
|
|
227
|
-
/** Position of the prev/next buttons. */
|
|
228
|
-
get pagerPosition() {
|
|
229
|
-
return this.#pagerPosition_accessor_storage;
|
|
230
|
-
}
|
|
231
|
-
set pagerPosition(value) {
|
|
232
|
-
this.#pagerPosition_accessor_storage = value;
|
|
233
|
-
}
|
|
234
|
-
#size_accessor_storage;
|
|
235
|
-
/**
|
|
236
|
-
* Size variant, either s (lean theme default) or m (standard theme default).
|
|
237
|
-
*/
|
|
238
|
-
get size() {
|
|
239
|
-
return this.#size_accessor_storage;
|
|
240
|
-
}
|
|
241
|
-
set size(value) {
|
|
242
|
-
this.#size_accessor_storage = value;
|
|
243
|
-
}
|
|
244
|
-
#accessibilityPageLabel_accessor_storage;
|
|
245
|
-
/**
|
|
246
|
-
* Accessibility label for the page. Defaults to `page`.
|
|
247
|
-
* Can be set for cases like a carousel, where `slide` or `image` fits better.
|
|
248
|
-
*/
|
|
249
|
-
get accessibilityPageLabel() {
|
|
250
|
-
return this.#accessibilityPageLabel_accessor_storage;
|
|
251
|
-
}
|
|
252
|
-
set accessibilityPageLabel(value) {
|
|
253
|
-
this.#accessibilityPageLabel_accessor_storage = value;
|
|
254
|
-
}
|
|
255
|
-
#accessibilityPreviousPageLabel_accessor_storage;
|
|
256
|
-
/**
|
|
257
|
-
* Accessibility label for the previous page. Defaults to `previous page`.
|
|
258
|
-
* Can be set for cases like a carousel, where `slide` or `image` fits better.
|
|
259
|
-
*/
|
|
260
|
-
get accessibilityPreviousPageLabel() {
|
|
261
|
-
return this.#accessibilityPreviousPageLabel_accessor_storage;
|
|
262
|
-
}
|
|
263
|
-
set accessibilityPreviousPageLabel(value) {
|
|
264
|
-
this.#accessibilityPreviousPageLabel_accessor_storage = value;
|
|
265
|
-
}
|
|
266
|
-
#accessibilityNextPageLabel_accessor_storage;
|
|
267
|
-
/**
|
|
268
|
-
* Accessibility label for the next page. Defaults to `next page`.
|
|
269
|
-
* Can be set for cases like a carousel, where `slide` or `image` fits better.
|
|
270
|
-
*/
|
|
271
|
-
get accessibilityNextPageLabel() {
|
|
272
|
-
return this.#accessibilityNextPageLabel_accessor_storage;
|
|
273
|
-
}
|
|
274
|
-
set accessibilityNextPageLabel(value) {
|
|
275
|
-
this.#accessibilityNextPageLabel_accessor_storage = value;
|
|
276
|
-
}
|
|
277
|
-
willUpdate(changedProperties) {
|
|
278
|
-
super.willUpdate(changedProperties);
|
|
279
|
-
let prevPageIndex = null;
|
|
280
|
-
if (changedProperties.has("length") && this.length !== changedProperties.get("length")) {
|
|
281
|
-
this.length = isNaN(this.length) || this.length < 0 ? 0 : this.length;
|
|
282
|
-
/**
|
|
283
|
-
* If the pageIndex changes, it's added in the changedProperties map
|
|
284
|
-
* and handled in the pageIndex logic below, emitting the page event.
|
|
285
|
-
* If the pageIndex doesn't change there's no need to emit.
|
|
286
|
-
*/
|
|
287
|
-
this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
|
|
288
|
-
}
|
|
289
|
-
if (changedProperties.has("pageSize") && this.pageSize !== changedProperties.get("pageSize")) {
|
|
290
|
-
const previousPageSize = changedProperties.get("pageSize");
|
|
291
|
-
this.pageSize = isNaN(this.pageSize) || this.pageSize < 0 ? 0 : this.pageSize;
|
|
292
|
-
if (previousPageSize && !changedProperties.has("pageIndex")) this.pageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
|
|
293
|
-
/**
|
|
294
|
-
* If the pageIndex changes, it's added in the changedProperties map,
|
|
295
|
-
* and this line is useless, since the correct value will be calculated in the logic below;
|
|
296
|
-
* if the pageIndex doesn't change (e.g. change pageSize at pageIndex 0), the prevPageIndex and pageIndex are the same.
|
|
297
|
-
* In both case the page event must be triggered to allow consumers to retrieve the correct data.
|
|
298
|
-
*/
|
|
299
|
-
prevPageIndex = this.pageIndex;
|
|
300
|
-
}
|
|
301
|
-
if (changedProperties.has("pageIndex") && this.pageIndex !== changedProperties.get("pageIndex")) {
|
|
302
|
-
this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
|
|
303
|
-
prevPageIndex = changedProperties.get("pageIndex");
|
|
304
|
-
}
|
|
305
|
-
if (prevPageIndex !== null) this._emitPageEvent(prevPageIndex);
|
|
306
|
-
}
|
|
307
|
-
updated(changedProperties) {
|
|
308
|
-
super.updated(changedProperties);
|
|
309
|
-
this.shadowRoot.querySelector(".sbb-screen-reader-only#status").textContent = this._currentPageLabel();
|
|
310
|
-
}
|
|
311
|
-
/** Evaluate `pageIndex` by excluding edge cases. */
|
|
312
|
-
_coercePageIndexInRange(pageIndex) {
|
|
313
|
-
return Math.max(Math.min(Math.max(isNaN(pageIndex) ? 0 : pageIndex, 0), this.numberOfPages() - 1), 0);
|
|
314
|
-
}
|
|
315
|
-
_currentPageLabel() {
|
|
316
|
-
return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${this.pageIndex + 1} ${i18nPaginatorSelected[this.language.current]}.`;
|
|
317
|
-
}
|
|
318
|
-
/** Advances to the next page if it exists. */
|
|
319
|
-
nextPage() {
|
|
320
|
-
this.pageIndex = this.pageIndex + 1;
|
|
321
|
-
}
|
|
322
|
-
/** Move back to the previous page if it exists. */
|
|
323
|
-
previousPage() {
|
|
324
|
-
this.pageIndex = this.pageIndex - 1;
|
|
325
|
-
}
|
|
326
|
-
/** Move to the first page if not already there. */
|
|
327
|
-
firstPage() {
|
|
328
|
-
this.pageIndex = 0;
|
|
329
|
-
}
|
|
330
|
-
/** Move to the last page if not already there. */
|
|
331
|
-
lastPage() {
|
|
332
|
-
this.pageIndex = this.numberOfPages() - 1;
|
|
333
|
-
}
|
|
334
|
-
/** Move to a specific page index. */
|
|
335
|
-
selectPage(index) {
|
|
336
|
-
this.pageIndex = index;
|
|
337
|
-
}
|
|
338
|
-
/** Whether there is a previous page. */
|
|
339
|
-
hasPreviousPage() {
|
|
340
|
-
return this.pageIndex >= 1 && this.pageSize !== 0;
|
|
341
|
-
}
|
|
342
|
-
/** Whether there is a next page. */
|
|
343
|
-
hasNextPage() {
|
|
344
|
-
const maxPageIndex = this.numberOfPages() - 1;
|
|
345
|
-
return this.pageIndex < maxPageIndex && this.pageSize !== 0;
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Calculates the current number of pages based on the `length` and the `pageSize`;
|
|
349
|
-
* value must be rounded up (e.g. `length = 21` and `pageSize = 10` means 3 pages).
|
|
350
|
-
*/
|
|
351
|
-
numberOfPages() {
|
|
352
|
-
return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
|
|
353
|
-
}
|
|
354
|
-
_emitPageEvent(previousPageIndex) {
|
|
355
|
-
if (this.hasUpdated)
|
|
356
|
-
/**
|
|
357
|
-
* @type {CustomEvent<SbbPaginatorPageEventDetails>}
|
|
358
|
-
* The page event is dispatched when the page index, length or page size changes.
|
|
359
|
-
*/
|
|
360
|
-
this.dispatchEvent(new CustomEvent("page", {
|
|
361
|
-
bubbles: true,
|
|
362
|
-
composed: true,
|
|
363
|
-
detail: {
|
|
364
|
-
previousPageIndex,
|
|
365
|
-
pageIndex: this.pageIndex,
|
|
366
|
-
length: this.length,
|
|
367
|
-
pageSize: this.pageSize
|
|
368
|
-
}
|
|
369
|
-
}));
|
|
370
|
-
}
|
|
371
|
-
renderPrevNextButtons() {
|
|
372
|
-
return html`
|
|
373
|
-
<sbb-mini-button-group ?negative=${this.negative} size=${this.size || nothing}>
|
|
374
|
-
<sbb-mini-button
|
|
375
|
-
id="sbb-paginator-prev-page"
|
|
376
|
-
aria-label=${this.accessibilityPreviousPageLabel ? this.accessibilityPreviousPageLabel : i18nPreviousPage[this.language.current]}
|
|
377
|
-
icon-name="chevron-small-left-small"
|
|
378
|
-
?disabled=${this.disabled || !this.hasPreviousPage()}
|
|
379
|
-
@click=${() => {
|
|
380
|
-
this.previousPage();
|
|
381
|
-
if (!this.hasPreviousPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
|
|
382
|
-
}}
|
|
383
|
-
></sbb-mini-button>
|
|
384
|
-
<sbb-divider orientation="vertical"></sbb-divider>
|
|
385
|
-
<sbb-mini-button
|
|
386
|
-
id="sbb-paginator-next-page"
|
|
387
|
-
aria-label=${this.accessibilityNextPageLabel ? this.accessibilityNextPageLabel : i18nNextPage[this.language.current]}
|
|
388
|
-
icon-name="chevron-small-right-small"
|
|
389
|
-
?disabled=${this.disabled || !this.hasNextPage()}
|
|
390
|
-
@click=${() => {
|
|
391
|
-
this.nextPage();
|
|
392
|
-
if (!this.hasNextPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
|
|
393
|
-
}}
|
|
394
|
-
></sbb-mini-button>
|
|
395
|
-
</sbb-mini-button-group>
|
|
396
|
-
`;
|
|
397
|
-
}
|
|
398
|
-
render() {
|
|
399
|
-
return html`
|
|
400
|
-
${this.renderPaginator()}
|
|
401
|
-
<span class="sbb-screen-reader-only" id="status" role="status"></span>
|
|
402
|
-
`;
|
|
403
|
-
}
|
|
404
|
-
};
|
|
405
|
-
})();
|
|
406
|
-
};
|
|
407
|
-
//#endregion
|
|
408
|
-
export { SbbPaginatorCommonElementMixin as t };
|
|
409
|
-
|
|
410
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi1CQ2VOVWtvXy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbW1vbi9wYWdpbmF0b3ItY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLXBhZ2luYXRvci1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXBhZ2luYXRvci1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQtbSk7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItcGFnaW5hdG9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTWluaUJ1dHRvbkVsZW1lbnQsIFNiYk1pbmlCdXR0b25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG4gIGZvcmNlVHlwZSxcbiAgaTE4bk5leHRQYWdlLFxuICBpMThuUGFnZSxcbiAgaTE4blBhZ2luYXRvclNlbGVjdGVkLFxuICBpMThuUHJldmlvdXNQYWdlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICB0eXBlIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudENvbnN0cnVjdG9yLFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTmVnYXRpdmVNaXhpbixcbiAgc2NyZWVuUmVhZGVyT25seVN0eWxlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJEaXZpZGVyRWxlbWVudCB9IGZyb20gJy4uLy4uL2RpdmlkZXIucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BhZ2luYXRvci1jb21tb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMge1xuICBsZW5ndGg6IG51bWJlcjtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgcGFnZUluZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBsZW5ndGg6IG51bWJlcjtcbiAgcHVibGljIGFjY2Vzc29yIHBhZ2VTaXplOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlSW5kZXg6IG51bWJlcjtcbiAgcHVibGljIGFjY2Vzc29yIHBhZ2VyUG9zaXRpb246ICdzdGFydCcgfCAnZW5kJztcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8IG51bGw7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyLCBwYWdlSW5kZXg/OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJFbGVtZW50PiAmIFNiYkVsZW1lbnRDb25zdHJ1Y3Rvcixcbj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihzdXBlckNsYXNzKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtzY3JlZW5SZWFkZXJPbmx5U3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgICBTYmJNaW5pQnV0dG9uR3JvdXBFbGVtZW50LFxuICAgICAgU2JiTWluaUJ1dHRvbkVsZW1lbnQsXG4gICAgICBTYmJEaXZpZGVyRWxlbWVudCxcbiAgICBdO1xuXG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ2dyb3VwJztcblxuICAgIC8qKiBUb3RhbCBudW1iZXIgb2YgaXRlbXMuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGxlbmd0aDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBOdW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplJywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcblxuICAgIC8qKiBDdXJyZW50IHBhZ2UgaW5kZXguICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBwYWdlSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICAvKiogUG9zaXRpb24gb2YgdGhlIHByZXYvbmV4dCBidXR0b25zLiAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICAgIHwgJ3N0YXJ0J1xuICAgICAgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgICAvKipcbiAgICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIChsZWFuIHRoZW1lIGRlZmF1bHQpIG9yIG0gKHN0YW5kYXJkIHRoZW1lIGRlZmF1bHQpLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGVbJ3NpemUnXSA9XG4gICAgICBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIHBhZ2UuIERlZmF1bHRzIHRvIGBwYWdlYC5cbiAgICAgKiBDYW4gYmUgc2V0IGZvciBjYXNlcyBsaWtlIGEgY2Fyb3VzZWwsIHdoZXJlIGBzbGlkZWAgb3IgYGltYWdlYCBmaXRzIGJldHRlci5cbiAgICAgKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LXBhZ2UtbGFiZWwnIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlQYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIHByZXZpb3VzIHBhZ2UuIERlZmF1bHRzIHRvIGBwcmV2aW91cyBwYWdlYC5cbiAgICAgKiBDYW4gYmUgc2V0IGZvciBjYXNlcyBsaWtlIGEgY2Fyb3VzZWwsIHdoZXJlIGBzbGlkZWAgb3IgYGltYWdlYCBmaXRzIGJldHRlci5cbiAgICAgKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LXByZXZpb3VzLXBhZ2UtbGFiZWwnIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgbmV4dCBwYWdlLiBEZWZhdWx0cyB0byBgbmV4dCBwYWdlYC5cbiAgICAgKiBDYW4gYmUgc2V0IGZvciBjYXNlcyBsaWtlIGEgY2Fyb3VzZWwsIHdoZXJlIGBzbGlkZWAgb3IgYGltYWdlYCBmaXRzIGJldHRlci5cbiAgICAgKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LW5leHQtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICAgIGxldCBwcmV2UGFnZUluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGVuZ3RoJykgJiYgdGhpcy5sZW5ndGggIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgnbGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBpc05hTih0aGlzLmxlbmd0aCkgfHwgdGhpcy5sZW5ndGggPCAwID8gMCA6IHRoaXMubGVuZ3RoO1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBjaGFuZ2VzLCBpdCdzIGFkZGVkIGluIHRoZSBjaGFuZ2VkUHJvcGVydGllcyBtYXBcbiAgICAgICAgICogYW5kIGhhbmRsZWQgaW4gdGhlIHBhZ2VJbmRleCBsb2dpYyBiZWxvdywgZW1pdHRpbmcgdGhlIHBhZ2UgZXZlbnQuXG4gICAgICAgICAqIElmIHRoZSBwYWdlSW5kZXggZG9lc24ndCBjaGFuZ2UgdGhlcmUncyBubyBuZWVkIHRvIGVtaXQuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMuX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncGFnZVNpemUnKSAmJlxuICAgICAgICB0aGlzLnBhZ2VTaXplICE9PSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VTaXplJylcbiAgICAgICkge1xuICAgICAgICBjb25zdCBwcmV2aW91c1BhZ2VTaXplID0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlU2l6ZScpO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gaXNOYU4odGhpcy5wYWdlU2l6ZSkgfHwgdGhpcy5wYWdlU2l6ZSA8IDAgPyAwIDogdGhpcy5wYWdlU2l6ZTtcbiAgICAgICAgLy8gQ3VycmVudCBwYWdlIG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgbmV3IHBhZ2Ugc2l6ZS5cbiAgICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgcHJldmlvdXMgcGFnZSdzIGZpcnN0IGl0ZW0uXG4gICAgICAgIC8vIElmIHRoZSBwYWdlSW5kZXggY2hhbmdlcyBpbiB0aGUgc2FtZSB1cGRhdGUgY3ljbGUsIHdlIHNob3VsZG4ndCBhZGp1c3QgaXQuXG4gICAgICAgIGlmIChwcmV2aW91c1BhZ2VTaXplICYmICFjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3BhZ2VJbmRleCcpKSB7XG4gICAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBNYXRoLmZsb29yKCh0aGlzLnBhZ2VJbmRleCAqIHByZXZpb3VzUGFnZVNpemUpIC8gdGhpcy5wYWdlU2l6ZSkgfHwgMDtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBjaGFuZ2VzLCBpdCdzIGFkZGVkIGluIHRoZSBjaGFuZ2VkUHJvcGVydGllcyBtYXAsXG4gICAgICAgICAqIGFuZCB0aGlzIGxpbmUgaXMgdXNlbGVzcywgc2luY2UgdGhlIGNvcnJlY3QgdmFsdWUgd2lsbCBiZSBjYWxjdWxhdGVkIGluIHRoZSBsb2dpYyBiZWxvdztcbiAgICAgICAgICogaWYgdGhlIHBhZ2VJbmRleCBkb2Vzbid0IGNoYW5nZSAoZS5nLiBjaGFuZ2UgcGFnZVNpemUgYXQgcGFnZUluZGV4IDApLCB0aGUgcHJldlBhZ2VJbmRleCBhbmQgcGFnZUluZGV4IGFyZSB0aGUgc2FtZS5cbiAgICAgICAgICogSW4gYm90aCBjYXNlIHRoZSBwYWdlIGV2ZW50IG11c3QgYmUgdHJpZ2dlcmVkIHRvIGFsbG93IGNvbnN1bWVycyB0byByZXRyaWV2ZSB0aGUgY29ycmVjdCBkYXRhLlxuICAgICAgICAgKi9cbiAgICAgICAgcHJldlBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncGFnZUluZGV4JykgJiZcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgncGFnZUluZGV4JylcbiAgICAgICkge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMuX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICBwcmV2UGFnZUluZGV4ID0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlSW5kZXgnKSE7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmV2UGFnZUluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQocHJldlBhZ2VJbmRleCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gVG8gcmVsaWFibHkgYW5ub3VuY2UgcGFnZSBjaGFuZ2UsIHdlIGhhdmUgdG8gc2V0IHRoZSBsYWJlbCBpbiB1cGRhdGVkKCkgKGEgdGljayBsYXRlciB0aGFuIHRoZSBvdGhlciBjaGFuZ2VzKS5cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkjc3RhdHVzJykhLnRleHRDb250ZW50ID1cbiAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VMYWJlbCgpO1xuICAgIH1cblxuICAgIC8qKiBFdmFsdWF0ZSBgcGFnZUluZGV4YCBieSBleGNsdWRpbmcgZWRnZSBjYXNlcy4gKi9cbiAgICBwcml2YXRlIF9jb2VyY2VQYWdlSW5kZXhJblJhbmdlKHBhZ2VJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgTWF0aC5taW4oTWF0aC5tYXgoaXNOYU4ocGFnZUluZGV4KSA/IDAgOiBwYWdlSW5kZXgsIDApLCB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDEpLFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jdXJyZW50UGFnZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLnBhZ2VJbmRleCArIDF9ICR7aTE4blBhZ2luYXRvclNlbGVjdGVkW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19LmA7XG4gICAgfVxuXG4gICAgLyoqIEFkdmFuY2VzIHRvIHRoZSBuZXh0IHBhZ2UgaWYgaXQgZXhpc3RzLiAqL1xuICAgIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXggKyAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2UgaWYgaXQgZXhpc3RzLiAqL1xuICAgIHB1YmxpYyBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4IC0gMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgZmlyc3QgcGFnZSBpZiBub3QgYWxyZWFkeSB0aGVyZS4gKi9cbiAgICBwdWJsaWMgZmlyc3RQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSAwO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIHRoZSBsYXN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gYSBzcGVjaWZpYyBwYWdlIGluZGV4LiAqL1xuICAgIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gaW5kZXg7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgaXMgYSBwcmV2aW91cyBwYWdlLiAqL1xuICAgIHB1YmxpYyBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPj0gMSAmJiB0aGlzLnBhZ2VTaXplICE9PSAwO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgbmV4dCBwYWdlLiAqL1xuICAgIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgIGNvbnN0IG1heFBhZ2VJbmRleCA9IHRoaXMubnVtYmVyT2ZQYWdlcygpIC0gMTtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VJbmRleCA8IG1heFBhZ2VJbmRleCAmJiB0aGlzLnBhZ2VTaXplICE9PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHBhZ2VzIGJhc2VkIG9uIHRoZSBgbGVuZ3RoYCBhbmQgdGhlIGBwYWdlU2l6ZWA7XG4gICAgICogdmFsdWUgbXVzdCBiZSByb3VuZGVkIHVwIChlLmcuIGBsZW5ndGggPSAyMWAgYW5kIGBwYWdlU2l6ZSA9IDEwYCBtZWFucyAzIHBhZ2VzKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZVNpemUgPyBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKSA6IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz59XG4gICAgICAgICAqIFRoZSBwYWdlIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiB0aGUgcGFnZSBpbmRleCwgbGVuZ3RoIG9yIHBhZ2Ugc2l6ZSBjaGFuZ2VzLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPigncGFnZScsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzYmItbWluaS1idXR0b24tZ3JvdXAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0gc2l6ZT0ke3RoaXMuc2l6ZSB8fCBub3RoaW5nfT5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItcHJldi1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsXG4gICAgICAgICAgICAgIDogaTE4blByZXZpb3VzUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNQYWdlKCk7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5oYXNQcmV2aW91c1BhZ2UoKSAmJlxuICAgICAgICAgICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCdcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnc2JiLXBhZ2luYXRvci1uZXh0LXBhZ2UnKSEuZm9jdXMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+PC9zYmItbWluaS1idXR0b24+XG4gICAgICAgICAgPHNiYi1kaXZpZGVyIG9yaWVudGF0aW9uPVwidmVydGljYWxcIj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgIDxzYmItbWluaS1idXR0b25cbiAgICAgICAgICAgIGlkPVwic2JiLXBhZ2luYXRvci1uZXh0LXBhZ2VcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWxcbiAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsXG4gICAgICAgICAgICAgIDogaTE4bk5leHRQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICBpY29uLW5hbWU9XCJjaGV2cm9uLXNtYWxsLXJpZ2h0LXNtYWxsXCJcbiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzTmV4dFBhZ2UoKX1cbiAgICAgICAgICAgIEBjbGljaz0keygpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5uZXh0UGFnZSgpO1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaGFzTmV4dFBhZ2UoKSAmJlxuICAgICAgICAgICAgICAgIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCdcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnc2JiLXBhZ2luYXRvci1wcmV2LXBhZ2UnKSEuZm9jdXMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+PC9zYmItbWluaS1idXR0b24+XG4gICAgICAgIDwvc2JiLW1pbmktYnV0dG9uLWdyb3VwPlxuICAgICAgYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICAke3RoaXMucmVuZGVyUGFnaW5hdG9yKCl9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiIGlkPVwic3RhdHVzXCIgcm9sZT1cInN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50RXZlbnRNYXAge1xuICAgIHBhZ2U6IEN1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUNnRUEsSUFBYSxrQ0FHWCxlQUMrRDtDQXlQL0QsY0F4UHdDO29CQUM5QixpQkFBaUIsaUJBQWlCLFVBQVUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUR4QyxrQ0FDTCxZQUE4Qzs7O0lBZXRDLEtBQUEsMkJBQUEsa0JBQUEsTUFBQSxzQkFBaUIsQ0FBQztJQUts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
|