@elxjs/ui 0.0.178 → 0.0.179
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/esm2022/lib/components/carousel-fixed/carousel-fixed.component.mjs +313 -0
- package/esm2022/lib/components/index.mjs +2 -1
- package/fesm2022/elxjs-ui.mjs +310 -1
- package/fesm2022/elxjs-ui.mjs.map +1 -1
- package/lib/components/carousel-fixed/carousel-fixed.component.d.ts +55 -0
- package/lib/components/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, ContentChildren, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { EluxIcon } from '../icon';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class EluxCarouselFixedComponent {
|
|
6
|
+
constructor(renderer) {
|
|
7
|
+
this.renderer = renderer;
|
|
8
|
+
this.itemWidth = 200; // Fixed width in pixels
|
|
9
|
+
this.gap = 16; // Gap between items in pixels
|
|
10
|
+
this.removeArrows = false;
|
|
11
|
+
this.previousClickEventEmitter = new EventEmitter();
|
|
12
|
+
this.nextClickEventEmitter = new EventEmitter();
|
|
13
|
+
this.currentIndex = 0;
|
|
14
|
+
this.translateX = 0;
|
|
15
|
+
this.isDragging = false;
|
|
16
|
+
this.startX = 0;
|
|
17
|
+
this.currentX = 0;
|
|
18
|
+
this.initialTranslateX = 0;
|
|
19
|
+
this.dragOffset = 0;
|
|
20
|
+
this.containerWidth = 0;
|
|
21
|
+
this.maxTranslateX = 0;
|
|
22
|
+
this.minTranslateX = 0;
|
|
23
|
+
this.velocity = 0;
|
|
24
|
+
this.lastMoveTime = 0;
|
|
25
|
+
this.lastMoveX = 0;
|
|
26
|
+
}
|
|
27
|
+
ngAfterContentInit() {
|
|
28
|
+
this.calculateDimensions();
|
|
29
|
+
this.setItemWidths();
|
|
30
|
+
this.updateLimits();
|
|
31
|
+
this.items.changes.subscribe(() => {
|
|
32
|
+
this.calculateDimensions();
|
|
33
|
+
this.setItemWidths();
|
|
34
|
+
this.updateLimits();
|
|
35
|
+
this.goToFirstItem();
|
|
36
|
+
});
|
|
37
|
+
window.addEventListener('resize', () => this.onResize());
|
|
38
|
+
}
|
|
39
|
+
ngOnDestroy() {
|
|
40
|
+
window.removeEventListener('resize', () => this.onResize());
|
|
41
|
+
}
|
|
42
|
+
calculateDimensions() {
|
|
43
|
+
if (this.slidesContainer) {
|
|
44
|
+
this.containerWidth = this.slidesContainer.nativeElement.offsetWidth;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
updateLimits() {
|
|
48
|
+
const totalWidth = this.items.length * (this.itemWidth + this.gap) - this.gap;
|
|
49
|
+
this.maxTranslateX = 0;
|
|
50
|
+
// Calculate minimum translateX to ensure last item is fully visible
|
|
51
|
+
if (totalWidth > this.containerWidth) {
|
|
52
|
+
this.minTranslateX = this.containerWidth - totalWidth;
|
|
53
|
+
// Add some padding to ensure last item is completely visible
|
|
54
|
+
const paddingOffset = this.gap;
|
|
55
|
+
this.minTranslateX -= paddingOffset;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.minTranslateX = 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
onResize() {
|
|
62
|
+
this.calculateDimensions();
|
|
63
|
+
this.updateLimits();
|
|
64
|
+
this.updateTransform();
|
|
65
|
+
}
|
|
66
|
+
setItemWidths() {
|
|
67
|
+
this.items.forEach((item) => {
|
|
68
|
+
this.renderer.setStyle(item.nativeElement, 'width', `${this.itemWidth}px`);
|
|
69
|
+
this.renderer.setStyle(item.nativeElement, 'flex-shrink', '0');
|
|
70
|
+
this.renderer.setStyle(item.nativeElement, 'margin-right', `${this.gap}px`);
|
|
71
|
+
});
|
|
72
|
+
// Remove margin from last item
|
|
73
|
+
if (this.items.last) {
|
|
74
|
+
this.renderer.setStyle(this.items.last.nativeElement, 'margin-right', '0');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Mouse events
|
|
78
|
+
onMouseDown(event) {
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
this.startDrag(event.clientX);
|
|
81
|
+
}
|
|
82
|
+
onMouseMove(event) {
|
|
83
|
+
if (this.isDragging) {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
this.updateDrag(event.clientX);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
onMouseUp(event) {
|
|
89
|
+
if (this.isDragging) {
|
|
90
|
+
this.endDrag();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
onMouseLeave(event) {
|
|
94
|
+
if (this.isDragging) {
|
|
95
|
+
this.endDrag();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Touch events
|
|
99
|
+
onTouchStart(event) {
|
|
100
|
+
event.preventDefault();
|
|
101
|
+
this.startDrag(event.touches[0].clientX);
|
|
102
|
+
}
|
|
103
|
+
onTouchMove(event) {
|
|
104
|
+
if (this.isDragging) {
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
this.updateDrag(event.touches[0].clientX);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
onTouchEnd(event) {
|
|
110
|
+
if (this.isDragging) {
|
|
111
|
+
this.endDrag();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
startDrag(clientX) {
|
|
115
|
+
this.isDragging = true;
|
|
116
|
+
this.startX = clientX;
|
|
117
|
+
this.currentX = clientX;
|
|
118
|
+
this.initialTranslateX = this.translateX;
|
|
119
|
+
this.dragOffset = 0;
|
|
120
|
+
this.velocity = 0;
|
|
121
|
+
this.lastMoveTime = Date.now();
|
|
122
|
+
this.lastMoveX = clientX;
|
|
123
|
+
this.calculateDimensions();
|
|
124
|
+
this.renderer.setStyle(this.slidesContainer.nativeElement, 'transition', 'none');
|
|
125
|
+
}
|
|
126
|
+
updateDrag(clientX) {
|
|
127
|
+
if (!this.isDragging)
|
|
128
|
+
return;
|
|
129
|
+
this.currentX = clientX;
|
|
130
|
+
const deltaX = this.currentX - this.startX;
|
|
131
|
+
const now = Date.now();
|
|
132
|
+
const timeDelta = now - this.lastMoveTime;
|
|
133
|
+
if (timeDelta > 0) {
|
|
134
|
+
this.velocity = (clientX - this.lastMoveX) / timeDelta;
|
|
135
|
+
}
|
|
136
|
+
this.lastMoveTime = now;
|
|
137
|
+
this.lastMoveX = clientX;
|
|
138
|
+
let resistedDeltaX = deltaX;
|
|
139
|
+
const potentialTranslateX = this.initialTranslateX + deltaX;
|
|
140
|
+
// Apply softer resistance at boundaries
|
|
141
|
+
if (potentialTranslateX > this.maxTranslateX) {
|
|
142
|
+
const overDrag = potentialTranslateX - this.maxTranslateX;
|
|
143
|
+
resistedDeltaX = deltaX - (overDrag * 0.5); // Reduced resistance for more natural feel
|
|
144
|
+
}
|
|
145
|
+
else if (potentialTranslateX < this.minTranslateX) {
|
|
146
|
+
const overDrag = this.minTranslateX - potentialTranslateX;
|
|
147
|
+
resistedDeltaX = deltaX + (overDrag * 0.5); // Reduced resistance for more natural feel
|
|
148
|
+
}
|
|
149
|
+
this.dragOffset = resistedDeltaX;
|
|
150
|
+
this.updateDragPosition();
|
|
151
|
+
}
|
|
152
|
+
updateDragPosition() {
|
|
153
|
+
const newTranslateX = this.initialTranslateX + this.dragOffset;
|
|
154
|
+
this.renderer.setStyle(this.slidesContainer.nativeElement, 'transform', `translateX(${newTranslateX}px)`);
|
|
155
|
+
}
|
|
156
|
+
endDrag() {
|
|
157
|
+
if (!this.isDragging)
|
|
158
|
+
return;
|
|
159
|
+
this.isDragging = false;
|
|
160
|
+
this.renderer.setStyle(this.slidesContainer.nativeElement, 'transition', 'transform 0.3s ease-out');
|
|
161
|
+
// Calculate how far we've actually moved in terms of items
|
|
162
|
+
const currentTranslateX = this.initialTranslateX + this.dragOffset;
|
|
163
|
+
const itemStep = this.itemWidth + this.gap;
|
|
164
|
+
const movedItemsFloat = Math.abs(currentTranslateX - this.initialTranslateX) / itemStep;
|
|
165
|
+
// More sensitive thresholds
|
|
166
|
+
const minThreshold = 0.3; // 30% of an item width
|
|
167
|
+
const dragDistance = Math.abs(this.currentX - this.startX);
|
|
168
|
+
const momentumThreshold = 0.3;
|
|
169
|
+
const hasSignificantVelocity = Math.abs(this.velocity) > momentumThreshold;
|
|
170
|
+
// If we've moved more than 30% of an item width OR have significant velocity
|
|
171
|
+
if (movedItemsFloat > minThreshold || hasSignificantVelocity || dragDistance > 60) {
|
|
172
|
+
// Calculate how many items to advance based on actual drag distance
|
|
173
|
+
let itemsToAdvance = Math.round(movedItemsFloat);
|
|
174
|
+
// For velocity-based movement, use a separate calculation
|
|
175
|
+
if (hasSignificantVelocity && movedItemsFloat < 1) {
|
|
176
|
+
const velocityMultiplier = Math.abs(this.velocity) * 2;
|
|
177
|
+
itemsToAdvance = Math.max(1, Math.floor(velocityMultiplier));
|
|
178
|
+
}
|
|
179
|
+
// Ensure minimum 1 item for significant drags, but don't double count
|
|
180
|
+
if (itemsToAdvance === 0 && movedItemsFloat >= minThreshold) {
|
|
181
|
+
itemsToAdvance = 1;
|
|
182
|
+
}
|
|
183
|
+
if (this.dragOffset > 0 || (hasSignificantVelocity && this.velocity > 0)) {
|
|
184
|
+
// Dragged right - go to previous items
|
|
185
|
+
this.goToPreviousItems(itemsToAdvance);
|
|
186
|
+
}
|
|
187
|
+
else if (this.dragOffset < 0 || (hasSignificantVelocity && this.velocity < 0)) {
|
|
188
|
+
// Dragged left - go to next items
|
|
189
|
+
this.goToNextItems(itemsToAdvance);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
this.snapToNearestItem();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Small movement - snap to nearest item
|
|
197
|
+
this.snapToNearestItem();
|
|
198
|
+
}
|
|
199
|
+
this.dragOffset = 0;
|
|
200
|
+
this.velocity = 0;
|
|
201
|
+
}
|
|
202
|
+
snapToNearestItem() {
|
|
203
|
+
const currentTranslateX = this.initialTranslateX + this.dragOffset;
|
|
204
|
+
const itemStep = this.itemWidth + this.gap;
|
|
205
|
+
// Find the closest valid position
|
|
206
|
+
let targetIndex = Math.round(-currentTranslateX / itemStep);
|
|
207
|
+
// Clamp to valid bounds
|
|
208
|
+
const maxIndex = this.getMaxIndex();
|
|
209
|
+
targetIndex = Math.max(0, Math.min(targetIndex, maxIndex));
|
|
210
|
+
this.currentIndex = targetIndex;
|
|
211
|
+
this.updateTransform();
|
|
212
|
+
}
|
|
213
|
+
goToPreviousItems(itemCount) {
|
|
214
|
+
// Use the current index instead of visual calculation to avoid double movement
|
|
215
|
+
const newIndex = Math.max(0, this.currentIndex - itemCount);
|
|
216
|
+
if (newIndex !== this.currentIndex) {
|
|
217
|
+
this.currentIndex = newIndex;
|
|
218
|
+
this.updateTransform();
|
|
219
|
+
this.previousClickEventEmitter.emit();
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
this.snapToNearestItem();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
goToNextItems(itemCount) {
|
|
226
|
+
// Use the current index instead of visual calculation to avoid double movement
|
|
227
|
+
const maxIndex = this.getMaxIndex();
|
|
228
|
+
const newIndex = Math.min(maxIndex, this.currentIndex + itemCount);
|
|
229
|
+
if (newIndex !== this.currentIndex) {
|
|
230
|
+
this.currentIndex = newIndex;
|
|
231
|
+
this.updateTransform();
|
|
232
|
+
this.nextClickEventEmitter.emit();
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this.snapToNearestItem();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
canGoPrevious() {
|
|
239
|
+
return this.currentIndex > 0;
|
|
240
|
+
}
|
|
241
|
+
canGoNext() {
|
|
242
|
+
return this.currentIndex < this.getMaxIndex();
|
|
243
|
+
}
|
|
244
|
+
goToFirstItem() {
|
|
245
|
+
this.currentIndex = 0;
|
|
246
|
+
this.updateTransform();
|
|
247
|
+
}
|
|
248
|
+
prevItem() {
|
|
249
|
+
if (this.canGoPrevious()) {
|
|
250
|
+
this.currentIndex--;
|
|
251
|
+
this.updateTransform();
|
|
252
|
+
this.previousClickEventEmitter.emit();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
nextItem() {
|
|
256
|
+
if (this.canGoNext()) {
|
|
257
|
+
this.currentIndex++;
|
|
258
|
+
this.updateTransform();
|
|
259
|
+
this.nextClickEventEmitter.emit();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
updateTransform() {
|
|
263
|
+
const itemStep = this.itemWidth + this.gap;
|
|
264
|
+
this.translateX = -this.currentIndex * itemStep;
|
|
265
|
+
// Apply strict boundaries to ensure last item is always fully visible
|
|
266
|
+
this.translateX = Math.max(this.minTranslateX, Math.min(this.maxTranslateX, this.translateX));
|
|
267
|
+
// Recalculate currentIndex based on actual translateX to stay in sync
|
|
268
|
+
if (this.translateX <= this.minTranslateX) {
|
|
269
|
+
this.currentIndex = this.getMaxIndex();
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
this.currentIndex = Math.max(0, Math.min(this.currentIndex, this.getMaxIndex()));
|
|
273
|
+
}
|
|
274
|
+
if (!this.isDragging && this.slidesContainer) {
|
|
275
|
+
this.renderer.setStyle(this.slidesContainer.nativeElement, 'transform', `translateX(${this.translateX}px)`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
getMaxIndex() {
|
|
279
|
+
const visibleWidth = this.containerWidth;
|
|
280
|
+
const totalItemsWidth = this.items.length * (this.itemWidth + this.gap) - this.gap;
|
|
281
|
+
if (totalItemsWidth <= visibleWidth) {
|
|
282
|
+
return 0;
|
|
283
|
+
}
|
|
284
|
+
// Calculate how many complete items can fit in the visible area
|
|
285
|
+
const itemsPerView = Math.floor(visibleWidth / (this.itemWidth + this.gap));
|
|
286
|
+
// Maximum index ensures the last item is always fully visible
|
|
287
|
+
const maxIndex = Math.max(0, this.items.length - itemsPerView);
|
|
288
|
+
return maxIndex;
|
|
289
|
+
}
|
|
290
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxCarouselFixedComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EluxCarouselFixedComponent, isStandalone: true, selector: "lib-elux-carousel-fixed", inputs: { itemWidth: "itemWidth", gap: "gap", removeArrows: "removeArrows" }, outputs: { previousClickEventEmitter: "previousClickEventEmitter", nextClickEventEmitter: "nextClickEventEmitter" }, queries: [{ propertyName: "items", predicate: ["carouselItem"], read: ElementRef }], viewQueries: [{ propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], ngImport: i0, template: "<div class=\"c-carousel-fixed-container\">\n <div \n class=\"c-carousel-fixed-slides\" \n #slidesContainer\n [style.transform]=\"'translateX(' + translateX + 'px)'\" \n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n (touchstart)=\"onTouchStart($event)\" \n (touchmove)=\"onTouchMove($event)\" \n (touchend)=\"onTouchEnd($event)\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"c-carousel-fixed-footer\" [hidden]=\"removeArrows\">\n <button \n class=\"c-carousel-fixed-nav prev\" \n [disabled]=\"!canGoPrevious()\"\n title=\"Item anterior\" \n aria-label=\"Item anterior\" \n (click)=\"prevItem()\">\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\n </button>\n\n <button \n class=\"c-carousel-fixed-nav next\" \n [disabled]=\"!canGoNext()\"\n title=\"Pr\u00F3ximo item\" \n aria-label=\"Pr\u00F3ximo item\" \n (click)=\"nextItem()\">\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\n </button>\n </div>\n</div>\n", styles: [".c-carousel-fixed-container{position:relative;width:100%;padding-right:16px}.c-carousel-fixed-slides{display:flex;transition:transform .3s ease-out;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;padding-right:16px}.c-carousel-fixed-slides:active{cursor:grabbing}.c-carousel-fixed-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0}.c-carousel-fixed-footer .c-carousel-fixed-nav{background:none;border:none;cursor:pointer;padding:8px;border-radius:50px;background-color:#dfe7ea;transition:all ease-in-out .2s;z-index:2}.c-carousel-fixed-footer .c-carousel-fixed-nav:hover:not(:disabled){transform:scale(1.1)}.c-carousel-fixed-footer .c-carousel-fixed-nav:disabled{opacity:.5;cursor:not-allowed}.c-carousel-fixed-footer .c-carousel-fixed-nav:disabled:hover{transform:none}.c-carousel-fixed-footer .c-carousel-fixed-nav ::ng-deep span{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
292
|
+
}
|
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EluxCarouselFixedComponent, decorators: [{
|
|
294
|
+
type: Component,
|
|
295
|
+
args: [{ standalone: true, selector: 'lib-elux-carousel-fixed', imports: [CommonModule, EluxIcon], template: "<div class=\"c-carousel-fixed-container\">\n <div \n class=\"c-carousel-fixed-slides\" \n #slidesContainer\n [style.transform]=\"'translateX(' + translateX + 'px)'\" \n (mousedown)=\"onMouseDown($event)\"\n (mousemove)=\"onMouseMove($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n (touchstart)=\"onTouchStart($event)\" \n (touchmove)=\"onTouchMove($event)\" \n (touchend)=\"onTouchEnd($event)\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"c-carousel-fixed-footer\" [hidden]=\"removeArrows\">\n <button \n class=\"c-carousel-fixed-nav prev\" \n [disabled]=\"!canGoPrevious()\"\n title=\"Item anterior\" \n aria-label=\"Item anterior\" \n (click)=\"prevItem()\">\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\n </button>\n\n <button \n class=\"c-carousel-fixed-nav next\" \n [disabled]=\"!canGoNext()\"\n title=\"Pr\u00F3ximo item\" \n aria-label=\"Pr\u00F3ximo item\" \n (click)=\"nextItem()\">\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\n </button>\n </div>\n</div>\n", styles: [".c-carousel-fixed-container{position:relative;width:100%;padding-right:16px}.c-carousel-fixed-slides{display:flex;transition:transform .3s ease-out;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;padding-right:16px}.c-carousel-fixed-slides:active{cursor:grabbing}.c-carousel-fixed-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0}.c-carousel-fixed-footer .c-carousel-fixed-nav{background:none;border:none;cursor:pointer;padding:8px;border-radius:50px;background-color:#dfe7ea;transition:all ease-in-out .2s;z-index:2}.c-carousel-fixed-footer .c-carousel-fixed-nav:hover:not(:disabled){transform:scale(1.1)}.c-carousel-fixed-footer .c-carousel-fixed-nav:disabled{opacity:.5;cursor:not-allowed}.c-carousel-fixed-footer .c-carousel-fixed-nav:disabled:hover{transform:none}.c-carousel-fixed-footer .c-carousel-fixed-nav ::ng-deep span{display:block}\n"] }]
|
|
296
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { items: [{
|
|
297
|
+
type: ContentChildren,
|
|
298
|
+
args: ['carouselItem', { read: ElementRef }]
|
|
299
|
+
}], slidesContainer: [{
|
|
300
|
+
type: ViewChild,
|
|
301
|
+
args: ['slidesContainer']
|
|
302
|
+
}], itemWidth: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], gap: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], removeArrows: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], previousClickEventEmitter: [{
|
|
309
|
+
type: Output
|
|
310
|
+
}], nextClickEventEmitter: [{
|
|
311
|
+
type: Output
|
|
312
|
+
}] } });
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtZml4ZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvY2Fyb3VzZWwtZml4ZWQvY2Fyb3VzZWwtZml4ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdWkvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvY2Fyb3VzZWwtZml4ZWQvY2Fyb3VzZWwtZml4ZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQVNuQyxNQUFNLE9BQU8sMEJBQTBCO0lBMEJyQyxZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEI5QixjQUFTLEdBQVcsR0FBRyxDQUFDLENBQUMsd0JBQXdCO1FBQ2pELFFBQUcsR0FBVyxFQUFFLENBQUMsQ0FBQyw4QkFBOEI7UUFDaEQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFN0IsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUN0RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBRTVELGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFUCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2Isc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFHLENBQUMsQ0FBQztJQUVvQixDQUFDO0lBRTNDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDOUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFFdkIsb0VBQW9FO1FBQ3BFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO1lBRXRELDZEQUE2RDtZQUM3RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztRQUVILCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7SUFDZixXQUFXLENBQUMsS0FBaUI7UUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQjtRQUM1QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO0lBQ2YsWUFBWSxDQUFDLEtBQWlCO1FBQzVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWlCO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxPQUFlO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBRXpCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUU3QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFFekIsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzVCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUU1RCx3Q0FBd0M7UUFDeEMsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0MsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMxRCxjQUFjLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO1FBQ3pGLENBQUM7YUFBTSxJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO1lBQzFELGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQywyQ0FBMkM7UUFDekYsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUNsQyxXQUFXLEVBQ1gsY0FBYyxhQUFhLEtBQUssQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUU3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUVwRywyREFBMkQ7UUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFeEYsNEJBQTRCO1FBQzVCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHVCQUF1QjtRQUNqRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFFM0UsNkVBQTZFO1FBQzdFLElBQUksZUFBZSxHQUFHLFlBQVksSUFBSSxzQkFBc0IsSUFBSSxZQUFZLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFFbEYsb0VBQW9FO1lBQ3BFLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFakQsMERBQTBEO1lBQzFELElBQUksc0JBQXNCLElBQUksZUFBZSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkQsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFFRCxzRUFBc0U7WUFDdEUsSUFBSSxjQUFjLEtBQUssQ0FBQyxJQUFJLGVBQWUsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDNUQsY0FBYyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDekUsdUNBQXVDO2dCQUN2QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDekMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoRixrQ0FBa0M7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLHdDQUF3QztZQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUUzQyxrQ0FBa0M7UUFDbEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBRTVELHdCQUF3QjtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUN6QywrRUFBK0U7UUFDL0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQztRQUU1RCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLFNBQWlCO1FBQ3JDLCtFQUErRTtRQUMvRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQztRQUVuRSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBRWhELHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFOUYsc0VBQXNFO1FBQ3RFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUNsQyxXQUFXLEVBQ1gsY0FBYyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQ25DLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFbkYsSUFBSSxlQUFlLElBQUksWUFBWSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBRUQsZ0VBQWdFO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1RSw4REFBOEQ7UUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFFL0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0E1VlUsMEJBQTBCO21HQUExQiwwQkFBMEIsb1VBQ0ksVUFBVSxpSkNackQsbXdDQW1DQSw0OUJEMUJZLFlBQVksK0JBQUUsUUFBUTs7NEZBRXJCLDBCQUEwQjtrQkFQdEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04seUJBQXlCLFdBRzFCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQzs4RUFHc0IsS0FBSztzQkFBM0QsZUFBZTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUN2QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFFbkIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSx5QkFBeUI7c0JBQWxDLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWx1eEljb24gfSBmcm9tICcuLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbGliLWVsdXgtY2Fyb3VzZWwtZml4ZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwtZml4ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC1maXhlZC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFbHV4SWNvbl0sXG59KVxuZXhwb3J0IGNsYXNzIEVsdXhDYXJvdXNlbEZpeGVkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQENvbnRlbnRDaGlsZHJlbignY2Fyb3VzZWxJdGVtJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkKCdzbGlkZXNDb250YWluZXInKSBzbGlkZXNDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIGl0ZW1XaWR0aDogbnVtYmVyID0gMjAwOyAvLyBGaXhlZCB3aWR0aCBpbiBwaXhlbHNcbiAgQElucHV0KCkgZ2FwOiBudW1iZXIgPSAxNjsgLy8gR2FwIGJldHdlZW4gaXRlbXMgaW4gcGl4ZWxzXG4gIEBJbnB1dCgpIHJlbW92ZUFycm93czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwcmV2aW91c0NsaWNrRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG5leHRDbGlja0V2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY3VycmVudEluZGV4ID0gMDtcbiAgdHJhbnNsYXRlWCA9IDA7XG5cbiAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhcnRYID0gMDtcbiAgcHJpdmF0ZSBjdXJyZW50WCA9IDA7XG4gIHByaXZhdGUgaW5pdGlhbFRyYW5zbGF0ZVggPSAwO1xuICBwcml2YXRlIGRyYWdPZmZzZXQgPSAwO1xuICBwcml2YXRlIGNvbnRhaW5lcldpZHRoID0gMDtcbiAgcHJpdmF0ZSBtYXhUcmFuc2xhdGVYID0gMDtcbiAgcHJpdmF0ZSBtaW5UcmFuc2xhdGVYID0gMDtcbiAgcHJpdmF0ZSB2ZWxvY2l0eSA9IDA7XG4gIHByaXZhdGUgbGFzdE1vdmVUaW1lID0gMDtcbiAgcHJpdmF0ZSBsYXN0TW92ZVggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jYWxjdWxhdGVEaW1lbnNpb25zKCk7XG4gICAgdGhpcy5zZXRJdGVtV2lkdGhzKCk7XG4gICAgdGhpcy51cGRhdGVMaW1pdHMoKTtcblxuICAgIHRoaXMuaXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVEaW1lbnNpb25zKCk7XG4gICAgICB0aGlzLnNldEl0ZW1XaWR0aHMoKTtcbiAgICAgIHRoaXMudXBkYXRlTGltaXRzKCk7XG4gICAgICB0aGlzLmdvVG9GaXJzdEl0ZW0oKTtcbiAgICB9KTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLm9uUmVzaXplKCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMub25SZXNpemUoKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURpbWVuc2lvbnMoKSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lcldpZHRoID0gdGhpcy5zbGlkZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxpbWl0cygpIHtcbiAgICBjb25zdCB0b3RhbFdpZHRoID0gdGhpcy5pdGVtcy5sZW5ndGggKiAodGhpcy5pdGVtV2lkdGggKyB0aGlzLmdhcCkgLSB0aGlzLmdhcDtcbiAgICB0aGlzLm1heFRyYW5zbGF0ZVggPSAwO1xuICAgIFxuICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIHRyYW5zbGF0ZVggdG8gZW5zdXJlIGxhc3QgaXRlbSBpcyBmdWxseSB2aXNpYmxlXG4gICAgaWYgKHRvdGFsV2lkdGggPiB0aGlzLmNvbnRhaW5lcldpZHRoKSB7XG4gICAgICB0aGlzLm1pblRyYW5zbGF0ZVggPSB0aGlzLmNvbnRhaW5lcldpZHRoIC0gdG90YWxXaWR0aDtcbiAgICAgIFxuICAgICAgLy8gQWRkIHNvbWUgcGFkZGluZyB0byBlbnN1cmUgbGFzdCBpdGVtIGlzIGNvbXBsZXRlbHkgdmlzaWJsZVxuICAgICAgY29uc3QgcGFkZGluZ09mZnNldCA9IHRoaXMuZ2FwO1xuICAgICAgdGhpcy5taW5UcmFuc2xhdGVYIC09IHBhZGRpbmdPZmZzZXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWluVHJhbnNsYXRlWCA9IDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLmNhbGN1bGF0ZURpbWVuc2lvbnMoKTtcbiAgICB0aGlzLnVwZGF0ZUxpbWl0cygpO1xuICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1XaWR0aHMoKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGl0ZW0ubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5pdGVtV2lkdGh9cHhgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoaXRlbS5uYXRpdmVFbGVtZW50LCAnZmxleC1zaHJpbmsnLCAnMCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShpdGVtLm5hdGl2ZUVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBgJHt0aGlzLmdhcH1weGApO1xuICAgIH0pO1xuICAgIFxuICAgIC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW1cbiAgICBpZiAodGhpcy5pdGVtcy5sYXN0KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaXRlbXMubGFzdC5uYXRpdmVFbGVtZW50LCAnbWFyZ2luLXJpZ2h0JywgJzAnKTtcbiAgICB9XG4gIH1cblxuICAvLyBNb3VzZSBldmVudHNcbiAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RhcnREcmFnKGV2ZW50LmNsaWVudFgpO1xuICB9XG5cbiAgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy51cGRhdGVEcmFnKGV2ZW50LmNsaWVudFgpO1xuICAgIH1cbiAgfVxuXG4gIG9uTW91c2VVcChldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuZW5kRHJhZygpO1xuICAgIH1cbiAgfVxuXG4gIG9uTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuZW5kRHJhZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRvdWNoIGV2ZW50c1xuICBvblRvdWNoU3RhcnQoZXZlbnQ6IFRvdWNoRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RhcnREcmFnKGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCk7XG4gIH1cblxuICBvblRvdWNoTW92ZShldmVudDogVG91Y2hFdmVudCkge1xuICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnVwZGF0ZURyYWcoZXZlbnQudG91Y2hlc1swXS5jbGllbnRYKTtcbiAgICB9XG4gIH1cblxuICBvblRvdWNoRW5kKGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgdGhpcy5lbmREcmFnKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydERyYWcoY2xpZW50WDogbnVtYmVyKSB7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXJ0WCA9IGNsaWVudFg7XG4gICAgdGhpcy5jdXJyZW50WCA9IGNsaWVudFg7XG4gICAgdGhpcy5pbml0aWFsVHJhbnNsYXRlWCA9IHRoaXMudHJhbnNsYXRlWDtcbiAgICB0aGlzLmRyYWdPZmZzZXQgPSAwO1xuICAgIHRoaXMudmVsb2NpdHkgPSAwO1xuICAgIHRoaXMubGFzdE1vdmVUaW1lID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmxhc3RNb3ZlWCA9IGNsaWVudFg7XG4gICAgXG4gICAgdGhpcy5jYWxjdWxhdGVEaW1lbnNpb25zKCk7XG4gICAgXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicsICdub25lJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURyYWcoY2xpZW50WDogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHJldHVybjtcblxuICAgIHRoaXMuY3VycmVudFggPSBjbGllbnRYO1xuICAgIGNvbnN0IGRlbHRhWCA9IHRoaXMuY3VycmVudFggLSB0aGlzLnN0YXJ0WDtcbiAgICBcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHRpbWVEZWx0YSA9IG5vdyAtIHRoaXMubGFzdE1vdmVUaW1lO1xuICAgIGlmICh0aW1lRGVsdGEgPiAwKSB7XG4gICAgICB0aGlzLnZlbG9jaXR5ID0gKGNsaWVudFggLSB0aGlzLmxhc3RNb3ZlWCkgLyB0aW1lRGVsdGE7XG4gICAgfVxuICAgIHRoaXMubGFzdE1vdmVUaW1lID0gbm93O1xuICAgIHRoaXMubGFzdE1vdmVYID0gY2xpZW50WDtcblxuICAgIGxldCByZXNpc3RlZERlbHRhWCA9IGRlbHRhWDtcbiAgICBjb25zdCBwb3RlbnRpYWxUcmFuc2xhdGVYID0gdGhpcy5pbml0aWFsVHJhbnNsYXRlWCArIGRlbHRhWDtcbiAgICBcbiAgICAvLyBBcHBseSBzb2Z0ZXIgcmVzaXN0YW5jZSBhdCBib3VuZGFyaWVzXG4gICAgaWYgKHBvdGVudGlhbFRyYW5zbGF0ZVggPiB0aGlzLm1heFRyYW5zbGF0ZVgpIHtcbiAgICAgIGNvbnN0IG92ZXJEcmFnID0gcG90ZW50aWFsVHJhbnNsYXRlWCAtIHRoaXMubWF4VHJhbnNsYXRlWDtcbiAgICAgIHJlc2lzdGVkRGVsdGFYID0gZGVsdGFYIC0gKG92ZXJEcmFnICogMC41KTsgLy8gUmVkdWNlZCByZXNpc3RhbmNlIGZvciBtb3JlIG5hdHVyYWwgZmVlbFxuICAgIH0gZWxzZSBpZiAocG90ZW50aWFsVHJhbnNsYXRlWCA8IHRoaXMubWluVHJhbnNsYXRlWCkge1xuICAgICAgY29uc3Qgb3ZlckRyYWcgPSB0aGlzLm1pblRyYW5zbGF0ZVggLSBwb3RlbnRpYWxUcmFuc2xhdGVYO1xuICAgICAgcmVzaXN0ZWREZWx0YVggPSBkZWx0YVggKyAob3ZlckRyYWcgKiAwLjUpOyAvLyBSZWR1Y2VkIHJlc2lzdGFuY2UgZm9yIG1vcmUgbmF0dXJhbCBmZWVsXG4gICAgfVxuXG4gICAgdGhpcy5kcmFnT2Zmc2V0ID0gcmVzaXN0ZWREZWx0YVg7XG4gICAgdGhpcy51cGRhdGVEcmFnUG9zaXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRHJhZ1Bvc2l0aW9uKCkge1xuICAgIGNvbnN0IG5ld1RyYW5zbGF0ZVggPSB0aGlzLmluaXRpYWxUcmFuc2xhdGVYICsgdGhpcy5kcmFnT2Zmc2V0O1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnNsaWRlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBcbiAgICAgICd0cmFuc2Zvcm0nLCBcbiAgICAgIGB0cmFuc2xhdGVYKCR7bmV3VHJhbnNsYXRlWH1weClgXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5kRHJhZygpIHtcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykgcmV0dXJuO1xuXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicsICd0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCcpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIGhvdyBmYXIgd2UndmUgYWN0dWFsbHkgbW92ZWQgaW4gdGVybXMgb2YgaXRlbXNcbiAgICBjb25zdCBjdXJyZW50VHJhbnNsYXRlWCA9IHRoaXMuaW5pdGlhbFRyYW5zbGF0ZVggKyB0aGlzLmRyYWdPZmZzZXQ7XG4gICAgY29uc3QgaXRlbVN0ZXAgPSB0aGlzLml0ZW1XaWR0aCArIHRoaXMuZ2FwO1xuICAgIGNvbnN0IG1vdmVkSXRlbXNGbG9hdCA9IE1hdGguYWJzKGN1cnJlbnRUcmFuc2xhdGVYIC0gdGhpcy5pbml0aWFsVHJhbnNsYXRlWCkgLyBpdGVtU3RlcDtcbiAgICBcbiAgICAvLyBNb3JlIHNlbnNpdGl2ZSB0aHJlc2hvbGRzXG4gICAgY29uc3QgbWluVGhyZXNob2xkID0gMC4zOyAvLyAzMCUgb2YgYW4gaXRlbSB3aWR0aFxuICAgIGNvbnN0IGRyYWdEaXN0YW5jZSA9IE1hdGguYWJzKHRoaXMuY3VycmVudFggLSB0aGlzLnN0YXJ0WCk7XG4gICAgY29uc3QgbW9tZW50dW1UaHJlc2hvbGQgPSAwLjM7XG4gICAgY29uc3QgaGFzU2lnbmlmaWNhbnRWZWxvY2l0eSA9IE1hdGguYWJzKHRoaXMudmVsb2NpdHkpID4gbW9tZW50dW1UaHJlc2hvbGQ7XG4gICAgXG4gICAgLy8gSWYgd2UndmUgbW92ZWQgbW9yZSB0aGFuIDMwJSBvZiBhbiBpdGVtIHdpZHRoIE9SIGhhdmUgc2lnbmlmaWNhbnQgdmVsb2NpdHlcbiAgICBpZiAobW92ZWRJdGVtc0Zsb2F0ID4gbWluVGhyZXNob2xkIHx8IGhhc1NpZ25pZmljYW50VmVsb2NpdHkgfHwgZHJhZ0Rpc3RhbmNlID4gNjApIHtcbiAgICAgIFxuICAgICAgLy8gQ2FsY3VsYXRlIGhvdyBtYW55IGl0ZW1zIHRvIGFkdmFuY2UgYmFzZWQgb24gYWN0dWFsIGRyYWcgZGlzdGFuY2VcbiAgICAgIGxldCBpdGVtc1RvQWR2YW5jZSA9IE1hdGgucm91bmQobW92ZWRJdGVtc0Zsb2F0KTtcbiAgICAgIFxuICAgICAgLy8gRm9yIHZlbG9jaXR5LWJhc2VkIG1vdmVtZW50LCB1c2UgYSBzZXBhcmF0ZSBjYWxjdWxhdGlvblxuICAgICAgaWYgKGhhc1NpZ25pZmljYW50VmVsb2NpdHkgJiYgbW92ZWRJdGVtc0Zsb2F0IDwgMSkge1xuICAgICAgICBjb25zdCB2ZWxvY2l0eU11bHRpcGxpZXIgPSBNYXRoLmFicyh0aGlzLnZlbG9jaXR5KSAqIDI7XG4gICAgICAgIGl0ZW1zVG9BZHZhbmNlID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcih2ZWxvY2l0eU11bHRpcGxpZXIpKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gRW5zdXJlIG1pbmltdW0gMSBpdGVtIGZvciBzaWduaWZpY2FudCBkcmFncywgYnV0IGRvbid0IGRvdWJsZSBjb3VudFxuICAgICAgaWYgKGl0ZW1zVG9BZHZhbmNlID09PSAwICYmIG1vdmVkSXRlbXNGbG9hdCA+PSBtaW5UaHJlc2hvbGQpIHtcbiAgICAgICAgaXRlbXNUb0FkdmFuY2UgPSAxO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAodGhpcy5kcmFnT2Zmc2V0ID4gMCB8fCAoaGFzU2lnbmlmaWNhbnRWZWxvY2l0eSAmJiB0aGlzLnZlbG9jaXR5ID4gMCkpIHtcbiAgICAgICAgLy8gRHJhZ2dlZCByaWdodCAtIGdvIHRvIHByZXZpb3VzIGl0ZW1zXG4gICAgICAgIHRoaXMuZ29Ub1ByZXZpb3VzSXRlbXMoaXRlbXNUb0FkdmFuY2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmRyYWdPZmZzZXQgPCAwIHx8IChoYXNTaWduaWZpY2FudFZlbG9jaXR5ICYmIHRoaXMudmVsb2NpdHkgPCAwKSkge1xuICAgICAgICAvLyBEcmFnZ2VkIGxlZnQgLSBnbyB0byBuZXh0IGl0ZW1zXG4gICAgICAgIHRoaXMuZ29Ub05leHRJdGVtcyhpdGVtc1RvQWR2YW5jZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNuYXBUb05lYXJlc3RJdGVtKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNtYWxsIG1vdmVtZW50IC0gc25hcCB0byBuZWFyZXN0IGl0ZW1cbiAgICAgIHRoaXMuc25hcFRvTmVhcmVzdEl0ZW0oKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyYWdPZmZzZXQgPSAwO1xuICAgIHRoaXMudmVsb2NpdHkgPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzbmFwVG9OZWFyZXN0SXRlbSgpIHtcbiAgICBjb25zdCBjdXJyZW50VHJhbnNsYXRlWCA9IHRoaXMuaW5pdGlhbFRyYW5zbGF0ZVggKyB0aGlzLmRyYWdPZmZzZXQ7XG4gICAgY29uc3QgaXRlbVN0ZXAgPSB0aGlzLml0ZW1XaWR0aCArIHRoaXMuZ2FwO1xuICAgIFxuICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3QgdmFsaWQgcG9zaXRpb25cbiAgICBsZXQgdGFyZ2V0SW5kZXggPSBNYXRoLnJvdW5kKC1jdXJyZW50VHJhbnNsYXRlWCAvIGl0ZW1TdGVwKTtcbiAgICBcbiAgICAvLyBDbGFtcCB0byB2YWxpZCBib3VuZHNcbiAgICBjb25zdCBtYXhJbmRleCA9IHRoaXMuZ2V0TWF4SW5kZXgoKTtcbiAgICB0YXJnZXRJbmRleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHRhcmdldEluZGV4LCBtYXhJbmRleCkpO1xuICAgIFxuICAgIHRoaXMuY3VycmVudEluZGV4ID0gdGFyZ2V0SW5kZXg7XG4gICAgdGhpcy51cGRhdGVUcmFuc2Zvcm0oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub1ByZXZpb3VzSXRlbXMoaXRlbUNvdW50OiBudW1iZXIpIHtcbiAgICAvLyBVc2UgdGhlIGN1cnJlbnQgaW5kZXggaW5zdGVhZCBvZiB2aXN1YWwgY2FsY3VsYXRpb24gdG8gYXZvaWQgZG91YmxlIG1vdmVtZW50XG4gICAgY29uc3QgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLmN1cnJlbnRJbmRleCAtIGl0ZW1Db3VudCk7XG4gICAgXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLmN1cnJlbnRJbmRleCkge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gICAgICB0aGlzLnByZXZpb3VzQ2xpY2tFdmVudEVtaXR0ZXIuZW1pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYXBUb05lYXJlc3RJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnb1RvTmV4dEl0ZW1zKGl0ZW1Db3VudDogbnVtYmVyKSB7XG4gICAgLy8gVXNlIHRoZSBjdXJyZW50IGluZGV4IGluc3RlYWQgb2YgdmlzdWFsIGNhbGN1bGF0aW9uIHRvIGF2b2lkIGRvdWJsZSBtb3ZlbWVudFxuICAgIGNvbnN0IG1heEluZGV4ID0gdGhpcy5nZXRNYXhJbmRleCgpO1xuICAgIGNvbnN0IG5ld0luZGV4ID0gTWF0aC5taW4obWF4SW5kZXgsIHRoaXMuY3VycmVudEluZGV4ICsgaXRlbUNvdW50KTtcbiAgICBcbiAgICBpZiAobmV3SW5kZXggIT09IHRoaXMuY3VycmVudEluZGV4KSB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy51cGRhdGVUcmFuc2Zvcm0oKTtcbiAgICAgIHRoaXMubmV4dENsaWNrRXZlbnRFbWl0dGVyLmVtaXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFwVG9OZWFyZXN0SXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIGNhbkdvUHJldmlvdXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEluZGV4ID4gMDtcbiAgfVxuXG4gIGNhbkdvTmV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50SW5kZXggPCB0aGlzLmdldE1heEluZGV4KCk7XG4gIH1cblxuICBnb1RvRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY3VycmVudEluZGV4ID0gMDtcbiAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICB9XG5cbiAgcHJldkl0ZW0oKSB7XG4gICAgaWYgKHRoaXMuY2FuR29QcmV2aW91cygpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC0tO1xuICAgICAgdGhpcy51cGRhdGVUcmFuc2Zvcm0oKTtcbiAgICAgIHRoaXMucHJldmlvdXNDbGlja0V2ZW50RW1pdHRlci5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgbmV4dEl0ZW0oKSB7XG4gICAgaWYgKHRoaXMuY2FuR29OZXh0KCkpIHtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4Kys7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5uZXh0Q2xpY2tFdmVudEVtaXR0ZXIuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVHJhbnNmb3JtKCkge1xuICAgIGNvbnN0IGl0ZW1TdGVwID0gdGhpcy5pdGVtV2lkdGggKyB0aGlzLmdhcDtcbiAgICB0aGlzLnRyYW5zbGF0ZVggPSAtdGhpcy5jdXJyZW50SW5kZXggKiBpdGVtU3RlcDtcbiAgICBcbiAgICAvLyBBcHBseSBzdHJpY3QgYm91bmRhcmllcyB0byBlbnN1cmUgbGFzdCBpdGVtIGlzIGFsd2F5cyBmdWxseSB2aXNpYmxlXG4gICAgdGhpcy50cmFuc2xhdGVYID0gTWF0aC5tYXgodGhpcy5taW5UcmFuc2xhdGVYLCBNYXRoLm1pbih0aGlzLm1heFRyYW5zbGF0ZVgsIHRoaXMudHJhbnNsYXRlWCkpO1xuICAgIFxuICAgIC8vIFJlY2FsY3VsYXRlIGN1cnJlbnRJbmRleCBiYXNlZCBvbiBhY3R1YWwgdHJhbnNsYXRlWCB0byBzdGF5IGluIHN5bmNcbiAgICBpZiAodGhpcy50cmFuc2xhdGVYIDw9IHRoaXMubWluVHJhbnNsYXRlWCkge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSB0aGlzLmdldE1heEluZGV4KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5jdXJyZW50SW5kZXgsIHRoaXMuZ2V0TWF4SW5kZXgoKSkpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZyAmJiB0aGlzLnNsaWRlc0NvbnRhaW5lcikge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5zbGlkZXNDb250YWluZXIubmF0aXZlRWxlbWVudCwgXG4gICAgICAgICd0cmFuc2Zvcm0nLCBcbiAgICAgICAgYHRyYW5zbGF0ZVgoJHt0aGlzLnRyYW5zbGF0ZVh9cHgpYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE1heEluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgdmlzaWJsZVdpZHRoID0gdGhpcy5jb250YWluZXJXaWR0aDtcbiAgICBjb25zdCB0b3RhbEl0ZW1zV2lkdGggPSB0aGlzLml0ZW1zLmxlbmd0aCAqICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuZ2FwKSAtIHRoaXMuZ2FwO1xuICAgIFxuICAgIGlmICh0b3RhbEl0ZW1zV2lkdGggPD0gdmlzaWJsZVdpZHRoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgXG4gICAgLy8gQ2FsY3VsYXRlIGhvdyBtYW55IGNvbXBsZXRlIGl0ZW1zIGNhbiBmaXQgaW4gdGhlIHZpc2libGUgYXJlYVxuICAgIGNvbnN0IGl0ZW1zUGVyVmlldyA9IE1hdGguZmxvb3IodmlzaWJsZVdpZHRoIC8gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5nYXApKTtcbiAgICBcbiAgICAvLyBNYXhpbXVtIGluZGV4IGVuc3VyZXMgdGhlIGxhc3QgaXRlbSBpcyBhbHdheXMgZnVsbHkgdmlzaWJsZVxuICAgIGNvbnN0IG1heEluZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5pdGVtcy5sZW5ndGggLSBpdGVtc1BlclZpZXcpO1xuICAgIFxuICAgIHJldHVybiBtYXhJbmRleDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImMtY2Fyb3VzZWwtZml4ZWQtY29udGFpbmVyXCI+XG4gIDxkaXYgXG4gICAgY2xhc3M9XCJjLWNhcm91c2VsLWZpeGVkLXNsaWRlc1wiIFxuICAgICNzbGlkZXNDb250YWluZXJcbiAgICBbc3R5bGUudHJhbnNmb3JtXT1cIid0cmFuc2xhdGVYKCcgKyB0cmFuc2xhdGVYICsgJ3B4KSdcIiBcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgIChtb3VzZW1vdmUpPVwib25Nb3VzZU1vdmUoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgkZXZlbnQpXCJcbiAgICAodG91Y2hzdGFydCk9XCJvblRvdWNoU3RhcnQoJGV2ZW50KVwiIFxuICAgICh0b3VjaG1vdmUpPVwib25Ub3VjaE1vdmUoJGV2ZW50KVwiIFxuICAgICh0b3VjaGVuZCk9XCJvblRvdWNoRW5kKCRldmVudClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjLWNhcm91c2VsLWZpeGVkLWZvb3RlclwiIFtoaWRkZW5dPVwicmVtb3ZlQXJyb3dzXCI+XG4gICAgPGJ1dHRvbiBcbiAgICAgIGNsYXNzPVwiYy1jYXJvdXNlbC1maXhlZC1uYXYgcHJldlwiIFxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5Hb1ByZXZpb3VzKClcIlxuICAgICAgdGl0bGU9XCJJdGVtIGFudGVyaW9yXCIgXG4gICAgICBhcmlhLWxhYmVsPVwiSXRlbSBhbnRlcmlvclwiIFxuICAgICAgKGNsaWNrKT1cInByZXZJdGVtKClcIj5cbiAgICAgIDxsaWItZWx1eC1pY29uIFtpY29uXT1cIidDaGV2cm9uX0xlZnQuc3ZnJ1wiIFtzaXplXT1cIicxNidcIiBbc2l6ZVR5cGVdPVwiJ3B4J1wiIFtjb2xvcl09XCInIzAyMEYyRSdcIj48L2xpYi1lbHV4LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIFxuICAgICAgY2xhc3M9XCJjLWNhcm91c2VsLWZpeGVkLW5hdiBuZXh0XCIgXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhbkdvTmV4dCgpXCJcbiAgICAgIHRpdGxlPVwiUHLDs3hpbW8gaXRlbVwiIFxuICAgICAgYXJpYS1sYWJlbD1cIlByw7N4aW1vIGl0ZW1cIiBcbiAgICAgIChjbGljayk9XCJuZXh0SXRlbSgpXCI+XG4gICAgICA8bGliLWVsdXgtaWNvbiBbaWNvbl09XCInQ2hldnJvbl9SaWdodC5zdmcnXCIgW3NpemVdPVwiJzE2J1wiIFtzaXplVHlwZV09XCIncHgnXCIgW2NvbG9yXT1cIicjMDIwRjJFJ1wiPjwvbGliLWVsdXgtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -57,7 +57,8 @@ export * from './card-4';
|
|
|
57
57
|
export * from './dropdown-multiple';
|
|
58
58
|
export * from './loading-2';
|
|
59
59
|
export * from './carousel';
|
|
60
|
+
export * from './carousel-fixed/carousel-fixed.component';
|
|
60
61
|
export * from './arrow-link';
|
|
61
62
|
export * from './switch';
|
|
62
63
|
export * from './chip';
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi91aS9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUMvQyxjQUFjO0lBQ2QsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osUUFBUTtJQUNSLGFBQWE7SUFDYixXQUFXO0lBQ1gsU0FBUztJQUNULGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsVUFBVTtJQUNWLFFBQVE7Q0FDVCxDQUFDO0FBRUYsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsdXhCcmVhZGNydW1iIH0gZnJvbSAnLi9icmVhZGNydW1iJztcbmltcG9ydCB7IEVsdXhCdXR0b24gfSBmcm9tICcuL2J1dHRvbic7XG5pbXBvcnQgeyBFbHV4RHJvcGRvd24gfSBmcm9tICcuL2Ryb3Bkb3duJztcbmltcG9ydCB7IEVsdXhJY29uIH0gZnJvbSAnLi9pY29uJztcbmltcG9ydCB7IEVsdXhQYWdpbmF0b3IgfSBmcm9tICcuL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBFbHV4U3RlcEJhciB9IGZyb20gJy4vc3RlcGJhcic7XG5pbXBvcnQgeyBFbHV4RGF0ZXBpY2tlciB9IGZyb20gJy4vZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBFbHV4VG9hc3QgfSBmcm9tICcuL3RvYXN0JztcbmltcG9ydCB7IEVsdXhEYXRhVGFibGUgfSBmcm9tICcuL2RhdGF0YWJsZSc7XG5pbXBvcnQgeyBFbHV4QWNjb3JkaW9uIH0gZnJvbSAnLi9hY2NvcmRpb24nO1xuaW1wb3J0IHsgRWx1eE1vZGFsIH0gZnJvbSAnLi9tb2RhbCc7XG5pbXBvcnQgeyBFbHV4SW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXNlYXJjaCc7XG5pbXBvcnQgeyBFbHV4TG9hZGluZyB9IGZyb20gJy4vbG9hZGluZyc7XG5pbXBvcnQgeyBFbHV4SW5wdXRTZWFyY2hNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtc2VhcmNoLW1vZGFsL2lucHV0LXNlYXJjaC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWx1eERyb3Bkb3duTXVsdGlwbGUgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpcGxlJztcbmltcG9ydCB7IEVsdXhDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY2Fyb3VzZWwnO1xuaW1wb3J0IHsgRWx1eFN3aXRjaCB9IGZyb20gJy4vc3dpdGNoJztcbmltcG9ydCB7IEVsdXhDaGlwIH0gZnJvbSAnLi9jaGlwJztcblxuZXhwb3J0IGNvbnN0IEVsZWN0cm9sdXhDb21wb25lbnRzOiBUeXBlPGFueT5bXSA9IFtcbiAgRWx1eEJyZWFkY3J1bWIsXG4gIEVsdXhCdXR0b24sXG4gIEVsdXhEYXRlcGlja2VyLFxuICBFbHV4RHJvcGRvd24sXG4gIEVsdXhJY29uLFxuICBFbHV4UGFnaW5hdG9yLFxuICBFbHV4U3RlcEJhcixcbiAgRWx1eFRvYXN0LFxuICBFbHV4RGF0YVRhYmxlLFxuICBFbHV4QWNjb3JkaW9uLFxuICBFbHV4TW9kYWwsXG4gIEVsdXhJbnB1dFNlYXJjaENvbXBvbmVudCxcbiAgRWx1eElucHV0U2VhcmNoTW9kYWxDb21wb25lbnQsXG4gIEVsdXhMb2FkaW5nLFxuICBFbHV4RHJvcGRvd25NdWx0aXBsZSxcbiAgRWx1eENhcm91c2VsQ29tcG9uZW50LFxuICBFbHV4U3dpdGNoLFxuICBFbHV4Q2hpcCxcbl07XG5cbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXBiYXInO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1zZWFyY2gtbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLTEnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLTInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLTMnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLTQnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1tdWx0aXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmctMic7XG5leHBvcnQgKiBmcm9tICcuL2Nhcm91c2VsJztcbmV4cG9ydCAqIGZyb20gJy4vY2Fyb3VzZWwtZml4ZWQvY2Fyb3VzZWwtZml4ZWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXJyb3ctbGluayc7XG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaCc7XG5leHBvcnQgKiBmcm9tICcuL2NoaXAnO1xuIl19
|