@taiga-ui/kit 2.53.0 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-input-files.umd.js +11 -5
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -2
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -0
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +32 -4
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +148 -85
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +5 -3
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/line-clamp/index.d.ts +1 -0
- package/components/line-clamp/line-clamp-options.d.ts +7 -0
- package/components/line-clamp/line-clamp.component.d.ts +8 -3
- package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
- package/components/slider/{slider-key-steps.directive.d.ts → helpers/slider-key-steps.directive.d.ts} +1 -1
- package/components/slider/{slider-readonly.directive.d.ts → helpers/slider-readonly.directive.d.ts} +0 -0
- package/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.d.ts +12 -0
- package/components/slider/index.d.ts +3 -2
- package/components/slider/slider.component.d.ts +2 -1
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/esm2015/components/input-files/input-files.module.js +10 -3
- package/esm2015/components/input-month-range/input-month-range.component.js +3 -4
- package/esm2015/components/input-phone-international/const/countries.js +2 -1
- package/esm2015/components/line-clamp/index.js +2 -1
- package/esm2015/components/line-clamp/line-clamp-options.js +12 -0
- package/esm2015/components/line-clamp/line-clamp.component.js +23 -8
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +103 -0
- package/esm2015/components/slider/helpers/slider-readonly.directive.js +79 -0
- package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +40 -0
- package/esm2015/components/slider/index.js +4 -3
- package/esm2015/components/slider/slider.component.js +12 -2
- package/esm2015/components/slider/slider.module.js +6 -3
- package/esm2015/components/tabs/tab/tab.component.js +1 -1
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +6 -4
- package/esm5/components/input-files/input-files.module.js +10 -3
- package/esm5/components/input-month-range/input-month-range.component.js +3 -4
- package/esm5/components/input-phone-international/const/countries.js +2 -1
- package/esm5/components/line-clamp/index.js +2 -1
- package/esm5/components/line-clamp/line-clamp-options.js +13 -0
- package/esm5/components/line-clamp/line-clamp.component.js +23 -8
- package/esm5/components/slider/helpers/slider-key-steps.directive.js +129 -0
- package/esm5/components/slider/helpers/slider-readonly.directive.js +87 -0
- package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +55 -0
- package/esm5/components/slider/index.js +4 -3
- package/esm5/components/slider/slider.component.js +12 -2
- package/esm5/components/slider/slider.module.js +6 -3
- package/esm5/components/tabs/tab/tab.component.js +1 -1
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +6 -4
- package/fesm2015/taiga-ui-kit-components-input-files.js +9 -2
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -3
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -0
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +33 -8
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +122 -75
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +6 -4
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js +9 -2
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +2 -3
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +1 -0
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +34 -9
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +149 -87
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +6 -4
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- package/package.json +5 -5
- package/esm2015/components/slider/slider-key-steps.directive.js +0 -102
- package/esm2015/components/slider/slider-readonly.directive.js +0 -79
- package/esm5/components/slider/slider-key-steps.directive.js +0 -128
- package/esm5/components/slider/slider-readonly.directive.js +0 -87
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param, __read } from "tslib";
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Directive, ElementRef, HostListener, Inject, Input } from '@angular/core';
|
|
4
|
-
import { tuiCoerceBooleanProperty, tuiDefaultProp, TuiDestroyService, typedFromEvent, } from '@taiga-ui/cdk';
|
|
5
|
-
import { combineLatest, merge, Observable } from 'rxjs';
|
|
6
|
-
import { filter, mapTo, takeUntil, tap } from 'rxjs/operators';
|
|
7
|
-
var SLIDER_INTERACTION_KEYS = new Set([
|
|
8
|
-
'ArrowLeft',
|
|
9
|
-
'ArrowRight',
|
|
10
|
-
'ArrowUp',
|
|
11
|
-
'ArrowDown',
|
|
12
|
-
'Home',
|
|
13
|
-
'End',
|
|
14
|
-
'PageUp',
|
|
15
|
-
'PageDown',
|
|
16
|
-
]);
|
|
17
|
-
/**
|
|
18
|
-
* Native <input type='range' readonly> doesn't work.
|
|
19
|
-
* This directive imitates this native behaviour.
|
|
20
|
-
*/
|
|
21
|
-
// @dynamic
|
|
22
|
-
var TuiSliderReadonlyDirective = /** @class */ (function () {
|
|
23
|
-
function TuiSliderReadonlyDirective(elementRef, documentRef, destroy$) {
|
|
24
|
-
var _this = this;
|
|
25
|
-
this.readonly = true;
|
|
26
|
-
var touchStart$ = typedFromEvent(elementRef.nativeElement, 'touchstart', {
|
|
27
|
-
passive: false,
|
|
28
|
-
});
|
|
29
|
-
var touchMove$ = typedFromEvent(documentRef, 'touchmove', {
|
|
30
|
-
passive: false,
|
|
31
|
-
});
|
|
32
|
-
var touchEnd$ = typedFromEvent(documentRef, 'touchend', {
|
|
33
|
-
passive: true,
|
|
34
|
-
});
|
|
35
|
-
var shouldPreventMove$ = merge(touchStart$.pipe(tap(function (e) { return _this.preventEvent(e); }), mapTo(true)), touchEnd$.pipe(mapTo(false)));
|
|
36
|
-
/**
|
|
37
|
-
* @bad TODO think about another solution.
|
|
38
|
-
* Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.
|
|
39
|
-
*/
|
|
40
|
-
combineLatest([touchMove$, shouldPreventMove$])
|
|
41
|
-
.pipe(filter(function (_a) {
|
|
42
|
-
var _b = __read(_a, 2), _ = _b[0], shouldPreventMove = _b[1];
|
|
43
|
-
return shouldPreventMove;
|
|
44
|
-
}), takeUntil(destroy$))
|
|
45
|
-
.subscribe(function (_a) {
|
|
46
|
-
var _b = __read(_a, 1), moveEvent = _b[0];
|
|
47
|
-
return _this.preventEvent(moveEvent);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
TuiSliderReadonlyDirective.prototype.preventEvent = function (event) {
|
|
51
|
-
if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {
|
|
52
|
-
event.preventDefault();
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
TuiSliderReadonlyDirective.prototype.preventKeyboardInteraction = function (event) {
|
|
56
|
-
if (SLIDER_INTERACTION_KEYS.has(event.key)) {
|
|
57
|
-
this.preventEvent(event);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
TuiSliderReadonlyDirective.ctorParameters = function () { return [
|
|
61
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
62
|
-
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
63
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] }
|
|
64
|
-
]; };
|
|
65
|
-
__decorate([
|
|
66
|
-
Input(),
|
|
67
|
-
tuiDefaultProp()
|
|
68
|
-
], TuiSliderReadonlyDirective.prototype, "readonly", void 0);
|
|
69
|
-
__decorate([
|
|
70
|
-
HostListener('mousedown', ['$event'])
|
|
71
|
-
], TuiSliderReadonlyDirective.prototype, "preventEvent", null);
|
|
72
|
-
__decorate([
|
|
73
|
-
HostListener('keydown', ['$event'])
|
|
74
|
-
], TuiSliderReadonlyDirective.prototype, "preventKeyboardInteraction", null);
|
|
75
|
-
TuiSliderReadonlyDirective = __decorate([
|
|
76
|
-
Directive({
|
|
77
|
-
selector: 'input[tuiSlider][readonly]',
|
|
78
|
-
providers: [TuiDestroyService],
|
|
79
|
-
}),
|
|
80
|
-
__param(0, Inject(ElementRef)),
|
|
81
|
-
__param(1, Inject(DOCUMENT)),
|
|
82
|
-
__param(2, Inject(TuiDestroyService))
|
|
83
|
-
], TuiSliderReadonlyDirective);
|
|
84
|
-
return TuiSliderReadonlyDirective;
|
|
85
|
-
}());
|
|
86
|
-
export { TuiSliderReadonlyDirective };
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXJlYWRvbmx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXItcmVhZG9ubHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUNILHdCQUF3QixFQUN4QixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxJQUFNLHVCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3BDLFdBQVc7SUFDWCxZQUFZO0lBQ1osU0FBUztJQUNULFdBQVc7SUFDWCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixVQUFVO0NBQ2IsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsV0FBVztBQUtYO0lBS0ksb0NBQ3dCLFVBQXdDLEVBQzFDLFdBQXFCLEVBRXZDLFFBQTZCO1FBSmpDLGlCQWtDQztRQXBDRCxhQUFRLEdBQXFCLElBQUksQ0FBQztRQVE5QixJQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUU7WUFDdkUsT0FBTyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUU7WUFDeEQsT0FBTyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUU7WUFDdEQsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQ1osR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBcEIsQ0FBb0IsQ0FBQyxFQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQ2QsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMvQixDQUFDO1FBRUY7OztXQUdHO1FBQ0gsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7YUFDMUMsSUFBSSxDQUNELE1BQU0sQ0FBQyxVQUFDLEVBQXNCO2dCQUF0QixrQkFBc0IsRUFBckIsU0FBQyxFQUFFLHlCQUFpQjtZQUFNLE9BQUEsaUJBQWlCO1FBQWpCLENBQWlCLENBQUMsRUFDckQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxVQUFDLEVBQVc7Z0JBQVgsa0JBQVcsRUFBVixpQkFBUztZQUFNLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFBNUIsQ0FBNEIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxpREFBWSxHQUFaLFVBQWEsS0FBWTtRQUNyQixJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFHRCwrREFBMEIsR0FBMUIsVUFBMkIsS0FBb0I7UUFDM0MsSUFBSSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7SUFDTCxDQUFDOztnQkEvQ21DLFVBQVUsdUJBQXpDLE1BQU0sU0FBQyxVQUFVO2dCQUNhLFFBQVEsdUJBQXRDLE1BQU0sU0FBQyxRQUFRO2dCQUVOLFVBQVUsdUJBRG5CLE1BQU0sU0FBQyxpQkFBaUI7O0lBTDdCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2dFQUNpQjtJQXVDbEM7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7a0VBS3JDO0lBR0Q7UUFEQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0ZBS25DO0lBckRRLDBCQUEwQjtRQUp0QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsNEJBQTRCO1lBQ3RDLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pDLENBQUM7UUFPTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO09BUnJCLDBCQUEwQixDQXNEdEM7SUFBRCxpQ0FBQztDQUFBLEFBdERELElBc0RDO1NBdERZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ29lcmNlQm9vbGVhblByb3BlcnR5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcFRvLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBTTElERVJfSU5URVJBQ1RJT05fS0VZUyA9IG5ldyBTZXQoW1xuICAgICdBcnJvd0xlZnQnLFxuICAgICdBcnJvd1JpZ2h0JyxcbiAgICAnQXJyb3dVcCcsXG4gICAgJ0Fycm93RG93bicsXG4gICAgJ0hvbWUnLFxuICAgICdFbmQnLFxuICAgICdQYWdlVXAnLFxuICAgICdQYWdlRG93bicsXG5dKTtcblxuLyoqXG4gKiBOYXRpdmUgPGlucHV0IHR5cGU9J3JhbmdlJyByZWFkb25seT4gZG9lc24ndCB3b3JrLlxuICogVGhpcyBkaXJlY3RpdmUgaW1pdGF0ZXMgdGhpcyBuYXRpdmUgYmVoYXZpb3VyLlxuICovXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlTbGlkZXJdW3JlYWRvbmx5XScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJSZWFkb25seURpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJlYWRvbmx5OiBzdHJpbmcgfCBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHRvdWNoU3RhcnQkID0gdHlwZWRGcm9tRXZlbnQoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcsIHtcbiAgICAgICAgICAgIHBhc3NpdmU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdG91Y2hNb3ZlJCA9IHR5cGVkRnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndG91Y2htb3ZlJywge1xuICAgICAgICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0b3VjaEVuZCQgPSB0eXBlZEZyb21FdmVudChkb2N1bWVudFJlZiwgJ3RvdWNoZW5kJywge1xuICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc2hvdWxkUHJldmVudE1vdmUkID0gbWVyZ2UoXG4gICAgICAgICAgICB0b3VjaFN0YXJ0JC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcChlID0+IHRoaXMucHJldmVudEV2ZW50KGUpKSxcbiAgICAgICAgICAgICAgICBtYXBUbyh0cnVlKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0b3VjaEVuZCQucGlwZShtYXBUbyhmYWxzZSkpLFxuICAgICAgICApO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAYmFkIFRPRE8gdGhpbmsgYWJvdXQgYW5vdGhlciBzb2x1dGlvbi5cbiAgICAgICAgICogS2VlcCBpbiBtaW5kIHRoYXQgcHJldmVudGluZyB0b3VjaCBldmVudCAob24gc2xpZGVyKSBpbnNpZGUgYEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnKWAgZG9lc24ndCB3b3JrIGZvciBtb2JpbGUgY2hyb21lLlxuICAgICAgICAgKi9cbiAgICAgICAgY29tYmluZUxhdGVzdChbdG91Y2hNb3ZlJCwgc2hvdWxkUHJldmVudE1vdmUkXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoW18sIHNob3VsZFByZXZlbnRNb3ZlXSkgPT4gc2hvdWxkUHJldmVudE1vdmUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbbW92ZUV2ZW50XSkgPT4gdGhpcy5wcmV2ZW50RXZlbnQobW92ZUV2ZW50KSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcmV2ZW50RXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxhYmxlICYmIHR1aUNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLnJlYWRvbmx5KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIHByZXZlbnRLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChTTElERVJfSU5URVJBQ1RJT05fS0VZUy5oYXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|