@taiga-ui/kit 3.39.1 → 3.40.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-accordion.umd.js +11 -7
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +12 -8
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +42 -22
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +5 -23
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +5 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +22 -25
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +6 -5
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +11 -7
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +16 -27
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/{taiga-ui-kit-components-text-area.umd.js → taiga-ui-kit-components-textarea.umd.js} +81 -64
- package/bundles/taiga-ui-kit-components-textarea.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-tiles.umd.js +5 -0
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +6 -6
- package/components/accordion/accordion-item/accordion-item.component.d.ts +3 -1
- package/components/calendar-range/calendar-range.component.d.ts +4 -3
- package/components/files/file/file.component.d.ts +3 -2
- package/components/index.d.ts +1 -1
- package/components/input-number/input-number.component.d.ts +7 -4
- package/components/input-range/input-range.component.d.ts +2 -4
- package/components/input-tag/input-tag.component.d.ts +5 -4
- package/components/pagination/pagination.component.d.ts +7 -6
- package/components/pagination/pagination.module.d.ts +3 -3
- package/components/pdf-viewer/pdf-viewer.component.d.ts +3 -1
- package/components/progress/progress-circle/progress-circle.component.d.ts +1 -1
- package/components/push/push.component.d.ts +3 -1
- package/components/select-option/select-option.component.d.ts +4 -3
- package/components/stepper/step/step.component.d.ts +3 -1
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -1
- package/components/tag/tag.component.d.ts +3 -5
- package/components/tag/tag.module.d.ts +3 -4
- package/components/textarea/deprecated.d.ts +15 -0
- package/components/textarea/index.d.ts +4 -0
- package/components/textarea/package.json +10 -0
- package/components/{text-area/taiga-ui-kit-components-text-area.d.ts → textarea/taiga-ui-kit-components-textarea.d.ts} +1 -1
- package/components/{text-area/text-area.component.d.ts → textarea/textarea.component.d.ts} +3 -3
- package/components/textarea/textarea.directive.d.ts +8 -0
- package/components/{text-area/text-area.module.d.ts → textarea/textarea.module.d.ts} +6 -6
- package/components/tiles/tile.component.d.ts +3 -2
- package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +3 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +9 -4
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
- package/esm2015/components/calendar-range/calendar-range.component.js +9 -5
- package/esm2015/components/files/file/file.component.js +9 -4
- package/esm2015/components/index.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +29 -10
- package/esm2015/components/input-range/input-range.component.js +6 -16
- package/esm2015/components/input-slider/input-slider.component.js +6 -2
- package/esm2015/components/input-tag/input-tag.component.js +9 -5
- package/esm2015/components/pagination/pagination.component.js +18 -12
- package/esm2015/components/pagination/pagination.module.js +5 -8
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +9 -5
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -6
- package/esm2015/components/prompt/prompt.component.js +1 -1
- package/esm2015/components/push/push.component.js +9 -5
- package/esm2015/components/select-option/select-option.component.js +9 -5
- package/esm2015/components/stepper/step/step.component.js +9 -5
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +9 -4
- package/esm2015/components/tag/tag.component.js +12 -16
- package/esm2015/components/tag/tag.module.js +1 -5
- package/esm2015/components/textarea/deprecated.js +16 -0
- package/esm2015/components/textarea/index.js +5 -0
- package/esm2015/components/textarea/taiga-ui-kit-components-textarea.js +5 -0
- package/esm2015/components/textarea/textarea.component.js +217 -0
- package/esm2015/components/textarea/textarea.directive.js +19 -0
- package/esm2015/components/textarea/textarea.module.js +51 -0
- package/esm2015/components/tiles/tile.component.js +6 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +9 -4
- package/fesm2015/taiga-ui-kit-components-accordion.js +8 -3
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +8 -4
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +9 -5
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +29 -10
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +5 -15
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +5 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -4
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +22 -19
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +8 -4
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +6 -5
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js +8 -4
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +8 -4
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +8 -4
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +8 -3
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +12 -19
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/{taiga-ui-kit-components-text-area.js → taiga-ui-kit-components-textarea.js} +41 -27
- package/fesm2015/taiga-ui-kit-components-textarea.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-tiles.js +5 -0
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +8 -4
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -1
- package/package.json +5 -5
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +0 -1
- package/components/text-area/index.d.ts +0 -3
- package/components/text-area/package.json +0 -10
- package/components/text-area/text-area.directive.d.ts +0 -8
- package/esm2015/components/text-area/index.js +0 -4
- package/esm2015/components/text-area/taiga-ui-kit-components-text-area.js +0 -5
- package/esm2015/components/text-area/text-area.component.js +0 -217
- package/esm2015/components/text-area/text-area.directive.js +0 -18
- package/esm2015/components/text-area/text-area.module.js +0 -51
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +0 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, ViewChildren, } from '@angular/core';
|
|
2
2
|
import { AbstractTuiInteractive, EMPTY_QUERY, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAsFocusableItemAccessor, tuiClamp, tuiIsNativeFocusedIn, } from '@taiga-ui/cdk';
|
|
3
|
-
import { TuiAppearance, TuiModeDirective, } from '@taiga-ui/core';
|
|
3
|
+
import { TUI_SPIN_ICONS, TuiAppearance, TuiModeDirective, } from '@taiga-ui/core';
|
|
4
4
|
import { TUI_PAGINATION_TEXTS } from '@taiga-ui/kit/tokens';
|
|
5
5
|
import { tuiHorizontalDirectionToNumber } from '@taiga-ui/kit/utils/math';
|
|
6
|
+
import { EMPTY } from 'rxjs';
|
|
7
|
+
import { map } from 'rxjs/operators';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@taiga-ui/core";
|
|
8
10
|
import * as i2 from "@taiga-ui/cdk";
|
|
@@ -12,14 +14,15 @@ import * as i5 from "rxjs";
|
|
|
12
14
|
const DOTS_LENGTH = 1;
|
|
13
15
|
const ACTIVE_ITEM_LENGTH = 1;
|
|
14
16
|
export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
15
|
-
constructor(el, modeDirective, texts
|
|
17
|
+
constructor(el, modeDirective, texts$, icons) {
|
|
16
18
|
super();
|
|
17
19
|
this.el = el;
|
|
18
20
|
this.modeDirective = modeDirective;
|
|
19
21
|
this.texts$ = texts$;
|
|
22
|
+
this.icons = icons;
|
|
20
23
|
this.els = EMPTY_QUERY;
|
|
21
24
|
this.length = 1;
|
|
22
|
-
this.size = '
|
|
25
|
+
this.size = 'l';
|
|
23
26
|
this.disabled = false;
|
|
24
27
|
/**
|
|
25
28
|
* Amount of visible pages around active page
|
|
@@ -34,6 +37,9 @@ export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
|
34
37
|
*/
|
|
35
38
|
this.index = 0;
|
|
36
39
|
this.indexChange = new EventEmitter();
|
|
40
|
+
this.mode$ = this.modeDirective
|
|
41
|
+
? this.modeDirective.change$.pipe(map(() => { var _a; return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) || null; }))
|
|
42
|
+
: EMPTY;
|
|
37
43
|
}
|
|
38
44
|
get nativeFocusableElement() {
|
|
39
45
|
if (this.disabled) {
|
|
@@ -62,11 +68,8 @@ export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
|
62
68
|
get elementsLength() {
|
|
63
69
|
return this.itemsFit ? this.length : this.maxElementsLength;
|
|
64
70
|
}
|
|
65
|
-
get
|
|
66
|
-
return this.size === 'm';
|
|
67
|
-
}
|
|
68
|
-
get mode() {
|
|
69
|
-
return this.modeDirective ? this.modeDirective.mode : null;
|
|
71
|
+
get buttonSize() {
|
|
72
|
+
return this.size === 'm' ? 'xs' : 's';
|
|
70
73
|
}
|
|
71
74
|
get arrowIsDisabledLeft() {
|
|
72
75
|
return this.index === 0;
|
|
@@ -83,7 +86,7 @@ export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
|
83
86
|
* @returns index or null (for '…')
|
|
84
87
|
*/
|
|
85
88
|
getItemIndexByElementIndex(elementIndex) {
|
|
86
|
-
if (
|
|
89
|
+
if (this.size === 's') {
|
|
87
90
|
return elementIndex;
|
|
88
91
|
}
|
|
89
92
|
if (elementIndex < this.sidePadding) {
|
|
@@ -194,8 +197,8 @@ export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
|
194
197
|
this.indexChange.emit(index);
|
|
195
198
|
}
|
|
196
199
|
}
|
|
197
|
-
TuiPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, deps: [{ token: ElementRef }, { token: TuiModeDirective, optional: true }, { token: TUI_PAGINATION_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
-
TuiPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPaginationComponent, selector: "tui-pagination", inputs: { length: "length", size: "size", disabled: "disabled", activePadding: "activePadding", sidePadding: "sidePadding", content: "content", index: "index" }, outputs: { indexChange: "indexChange" }, providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)], viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: TUI_FOCUSABLE_ITEM_ACCESSOR }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"
|
|
200
|
+
TuiPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, deps: [{ token: ElementRef }, { token: TuiModeDirective, optional: true }, { token: TUI_PAGINATION_TEXTS }, { token: TUI_SPIN_ICONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
201
|
+
TuiPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPaginationComponent, selector: "tui-pagination", inputs: { length: "length", size: "size", disabled: "disabled", activePadding: "activePadding", sidePadding: "sidePadding", content: "content", index: "index" }, outputs: { indexChange: "indexChange" }, providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)], viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: TUI_FOCUSABLE_ITEM_ACCESSOR }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"size !== 's'; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.decrement\"\n [size]=\"buttonSize\"\n [title]=\"texts[0]\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('left')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n tuiButton\n type=\"button\"\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n class=\"t-button\"\n [size]=\"buttonSize\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [appearance]=\"getElementMode(index)\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.increment\"\n [size]=\"buttonSize\"\n [title]=\"texts[1]\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('right')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n tuiButton\n type=\"button\"\n shape=\"square\"\n class=\"t-button t-button_small\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n [appearance]=\"getSmallElementMode(indexItem, mode$ | async)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:block;text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button_active{background:currentColor}.t-button.t-button.t-button_small{width:.5rem;height:.5rem;margin:0}.t-button.t-button.t-button_small:not(:first-child){margin-left:.5rem}.t-dots{width:var(--tui-height-s);height:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-03);text-align:center;cursor:default}.t-dots:before{content:\"\\2026\"}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
199
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, decorators: [{
|
|
200
203
|
type: Component,
|
|
201
204
|
args: [{
|
|
@@ -216,6 +219,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
216
219
|
}] }, { type: i5.Observable, decorators: [{
|
|
217
220
|
type: Inject,
|
|
218
221
|
args: [TUI_PAGINATION_TEXTS]
|
|
222
|
+
}] }, { type: undefined, decorators: [{
|
|
223
|
+
type: Inject,
|
|
224
|
+
args: [TUI_SPIN_ICONS]
|
|
219
225
|
}] }]; }, propDecorators: { els: [{
|
|
220
226
|
type: ViewChildren,
|
|
221
227
|
args: ['element', { read: TUI_FOCUSABLE_ITEM_ACCESSOR }]
|
|
@@ -236,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
236
242
|
}], indexChange: [{
|
|
237
243
|
type: Output
|
|
238
244
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsUUFBUSxFQUdSLG9CQUFvQixHQUV2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsYUFBYSxFQUliLGdCQUFnQixHQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBSXhFLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQVM3QixNQUFNLE9BQU8sc0JBQ1QsU0FBUSxzQkFBc0I7SUEwQzlCLFlBQ3lDLEVBQTJCLEVBRy9DLGFBQXNDLEVBQ2hCLE1BQW9DO1FBRTNFLEtBQUssRUFBRSxDQUFDO1FBTjZCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBRy9DLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUE4QjtRQTNDOUQsUUFBRyxHQUEyQyxXQUFXLENBQUM7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Z0IsNkJBRWhCLG9CQUFvQjt3R0FoRHZCLHNCQUFzQixvUEFGcEIsQ0FBQywwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLHdGQU0vQiwyQkFBMkIsb0RDbEQvRCxzM0dBa0ZBOzRGRHBDYSxzQkFBc0I7a0JBUGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsd0JBQXdCLENBQUM7aUJBQ2xFOzswQkE2Q1EsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUV2QixNQUFNOzJCQUFDLG9CQUFvQjs0Q0EzQ2YsR0FBRztzQkFEbkIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUM7Z0JBSTVELE1BQU07c0JBREwsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSUcsUUFBUTtzQkFEaEIsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQU9OLE9BQU87c0JBRE4sS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIHR1aUNsYW1wLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpQnV0dG9uQ29tcG9uZW50LFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTaXplUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUEFHSU5BVElPTl9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlIb3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBET1RTX0xFTkdUSCA9IDE7XG5jb25zdCBBQ1RJVkVfSVRFTV9MRU5HVEggPSAxO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wYWdpbmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlQYWdpbmF0aW9uQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBhZ2luYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmVcbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2VsZW1lbnQnLCB7cmVhZDogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsczogUXVlcnlMaXN0PFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgbGVuZ3RoID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbW91bnQgb2YgdmlzaWJsZSBwYWdlcyBhcm91bmQgYWN0aXZlIHBhZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFjdGl2ZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQW1vdW50IG9mIHZpc2libGUgcGFnZXMgYXQgdGhlIGVkZ2VzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlUGFkZGluZyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemF0aW9uIGZvciBwYWdlIG51bWJlciBkaXNwbGF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+O1xuXG4gICAgLyoqXG4gICAgICogQWN0aXZlIHBhZ2UgaW5kZXhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGluZGV4ID0gMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9QQUdJTkFUSU9OX1RFWFRTKSByZWFkb25seSB0ZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYWN0aXZlRWxlbWVudEluZGV4ID0gMDtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRzTGVuZ3RofSA9IHRoaXM7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLmdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGkpO1xuXG4gICAgICAgICAgICBpZiAoaXRlbUluZGV4KSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudEluZGV4Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXggPT09IHRoaXMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLmVscy5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IGFjdGl2ZUVsZW1lbnRJbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnQgPyBhY3RpdmVFbGVtZW50Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuXG4gICAgICovXG4gICAgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBzaXplTSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ20nO1xuICAgIH1cblxuICAgIGdldCBtb2RlKCk6IFR1aUJyaWdodG5lc3MgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZSA/IHRoaXMubW9kZURpcmVjdGl2ZS5tb2RlIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3dJc0Rpc2FibGVkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93SXNEaXNhYmxlZFJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlSW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZWxlbWVudElzRm9jdXNhYmxlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ICYmICF0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IGJ5IGVsZW1lbnQgaW5kZXhcbiAgICAgKiBAcGFyYW0gZWxlbWVudEluZGV4XG4gICAgICogQHJldHVybnMgaW5kZXggb3IgbnVsbCAoZm9yICfigKYnKVxuICAgICAqL1xuICAgIGdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaXplTSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJiB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMuaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJldmVyc2VFbGVtZW50SW5kZXggPSB0aGlzLmxhc3RFbGVtZW50SW5kZXggLSBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmV2ZXJzZUVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLnJldmVyc2VJbmRleClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSW5kZXggPSB0aGlzLmluZGV4IC0gdGhpcy5tYXhIYWxmTGVuZ3RoICsgZWxlbWVudEluZGV4O1xuXG4gICAgICAgIHJldHVybiB0dWlDbGFtcChcbiAgICAgICAgICAgIGNvbXB1dGVkSW5kZXgsXG4gICAgICAgICAgICBlbGVtZW50SW5kZXgsXG4gICAgICAgICAgICB0aGlzLmxhc3RJbmRleCAtIHJldmVyc2VFbGVtZW50SW5kZXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudE1vZGUoaW5kZXg6IG51bWJlcik6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggPyBUdWlBcHBlYXJhbmNlLlByaW1hcnkgOiBUdWlBcHBlYXJhbmNlLkZsYXQ7XG4gICAgfVxuXG4gICAgZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleDogbnVtYmVyLCBtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCk6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgbW9kZSAhPT0gJ29uTGlnaHQnXG4gICAgICAgICAgICA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeVxuICAgICAgICAgICAgOiBUdWlBcHBlYXJhbmNlLlNlY29uZGFyeTtcbiAgICB9XG5cbiAgICBvbkVsZW1lbnRDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudDogVHVpQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlbGVtZW50ID09PSB0aGlzLmVscy5maXJzdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLmVscy5maW5kKChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4ICsgMV0gPT09IGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChwcmV2aW91cz8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcHJldmlvdXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudDogVHVpQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlbGVtZW50ID09PSB0aGlzLmVscy5sYXN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5lbHMuZmluZCgoXywgaW5kZXgsIGFycmF5KSA9PiBhcnJheVtpbmRleCAtIDFdID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAobmV4dD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgbmV4dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93Q2xpY2soZGlyZWN0aW9uOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJ5Q2hhbmdlVG8oZGlyZWN0aW9uKTtcbiAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZSgpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgaW5kZXggZnJvbSB0aGUgZW5kXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmV2ZXJzZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RJbmRleCAtIHRoaXMuaW5kZXg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiBoYWxmIChub3QgY291bnRpbmcgdGhlIG1pZGRsZSBvbmUpLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IG1heEhhbGZMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZVBhZGRpbmcgKyBET1RTX0xFTkdUSCArIHRoaXMuYWN0aXZlUGFkZGluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyB0aGVyZSAnLi4uJyBhbnl3aGVyZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGl0ZW1zRml0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggPD0gdGhpcy5tYXhFbGVtZW50c0xlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4RWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGFsZkxlbmd0aCAqIDIgKyBBQ1RJVkVfSVRFTV9MRU5HVEg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEVsZW1lbnRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50c0xlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJlIHRoZXJlIGNvbGxhcHNlZCBpdGVtcyBhdCB0aGF0IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHJldHVybnMgdGhlcmUgYXJlIGNvbGxhcHNlZCBpdGVtc1xuICAgICAqL1xuICAgIHByaXZhdGUgaGFzQ29sbGFwc2VkSXRlbXMoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXRlbXNGaXQgJiYgaW5kZXggPiB0aGlzLm1heEhhbGZMZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cnlDaGFuZ2VUbyhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChcbiAgICAgICAgICAgIHR1aUNsYW1wKFxuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggKyB0dWlIb3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXIoZGlyZWN0aW9uKSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdEluZGV4LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzQWN0aXZlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChuYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpemVNOyBlbHNlIHNtYWxsQnV0dG9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25DaGV2cm9uTGVmdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzWzBdXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXJyb3dJc0Rpc2FibGVkTGVmdFwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXJyb3dDbGljaygnbGVmdCcpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGVsZW1lbnRJbmRleCBvZiBlbGVtZW50c0xlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cImdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleCkgYXMgaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCAhPT0gbnVsbDsgZWxzZSBkb3RzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhZ2luYXRpb25fX2VsZW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJlbGVtZW50SXNGb2N1c2FibGUoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImdldEVsZW1lbnRNb2RlKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbGVtZW50Q2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCB8fCBpbmRleCArIDEgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogaW5kZXh9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIGljb249XCJ0dWlJY29uQ2hldnJvblJpZ2h0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMV1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcnJvd0lzRGlzYWJsZWRSaWdodFwiXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXJyb3dDbGljaygncmlnaHQnKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjc21hbGxCdXR0b25zPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgaW5kZXhJdGVtIG9mIGxlbmd0aFwiXG4gICAgICAgICAgICAjZWxlbWVudFxuICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHNoYXBlPVwic3F1YXJlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b24gdC1idXR0b25fc21hbGxcIlxuICAgICAgICAgICAgW2NsYXNzLnQtYnV0dG9uX2FjdGl2ZV09XCJpbmRleEl0ZW0gPT09IGluZGV4XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbZm9jdXNhYmxlXT1cImVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleEl0ZW0pXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImdldFNtYWxsRWxlbWVudE1vZGUoaW5kZXhJdGVtLCBtb2RlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25FbGVtZW50Q2xpY2soaW5kZXhJdGVtKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dMZWZ0KGVsZW1lbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQucHJldmVudCk9XCJvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50KVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZG90c1RlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhZ2luYXRpb25fX2VsZW1lbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdHNcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsUUFBUSxFQUdSLG9CQUFvQixHQUV2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFJYixnQkFBZ0IsR0FLbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUVuQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFTN0IsTUFBTSxPQUFPLHNCQUNULFNBQVEsc0JBQXNCO0lBOEM5QixZQUN5QyxFQUEyQixFQUcvQyxhQUFzQyxFQUNoQixNQUFvQyxFQUMxQyxLQUFtQjtRQUVwRCxLQUFLLEVBQUUsQ0FBQztRQVA2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S0FBSztzQkFESixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX1NQSU5fSUNPTlMsXG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aUJ1dHRvbkNvbXBvbmVudCxcbiAgICBUdWlIb3Jpem9udGFsRGlyZWN0aW9uLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU2l6ZVhTLFxuICAgIFR1aVNwaW5JY29ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUEFHSU5BVElPTl9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlIb3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IERPVFNfTEVOR1RIID0gMTtcbmNvbnN0IEFDVElWRV9JVEVNX0xFTkdUSCA9IDE7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aVBhZ2luYXRpb25Db21wb25lbnQpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGFnaW5hdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZHJlbignZWxlbWVudCcsIHtyZWFkOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1J9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxzOiBRdWVyeUxpc3Q8VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBsZW5ndGggPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBzaXplOiBUdWlTaXplTCB8IFR1aVNpemVTID0gJ2wnO1xuXG4gICAgQElucHV0KClcbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQW1vdW50IG9mIHZpc2libGUgcGFnZXMgYXJvdW5kIGFjdGl2ZSBwYWdlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhY3RpdmVQYWRkaW5nID0gMTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGF0IHRoZSBlZGdlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2lkZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9taXphdGlvbiBmb3IgcGFnZSBudW1iZXIgZGlzcGxheS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PjtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBwYWdlIGluZGV4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcmVhZG9ubHkgbW9kZSQgPSB0aGlzLm1vZGVEaXJlY3RpdmVcbiAgICAgICAgPyB0aGlzLm1vZGVEaXJlY3RpdmUuY2hhbmdlJC5waXBlKG1hcCgoKSA9PiB0aGlzLm1vZGVEaXJlY3RpdmU/Lm1vZGUgfHwgbnVsbCkpXG4gICAgICAgIDogRU1QVFk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9QQUdJTkFUSU9OX1RFWFRTKSByZWFkb25seSB0ZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NQSU5fSUNPTlMpIHJlYWRvbmx5IGljb25zOiBUdWlTcGluSWNvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYWN0aXZlRWxlbWVudEluZGV4ID0gMDtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRzTGVuZ3RofSA9IHRoaXM7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLmdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGkpO1xuXG4gICAgICAgICAgICBpZiAoaXRlbUluZGV4KSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudEluZGV4Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXggPT09IHRoaXMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSB0aGlzLmVscy5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IGFjdGl2ZUVsZW1lbnRJbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnQgPyBhY3RpdmVFbGVtZW50Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuXG4gICAgICovXG4gICAgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBidXR0b25TaXplKCk6IFR1aVNpemVYUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdtJyA/ICd4cycgOiAncyc7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93SXNEaXNhYmxlZExlZnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGdldCBhcnJvd0lzRGlzYWJsZWRSaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZUluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSBpbmRleCAmJiAhdGhpcy5mb2N1c2VkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBpbmRleCBieSBlbGVtZW50IGluZGV4XG4gICAgICogQHBhcmFtIGVsZW1lbnRJbmRleFxuICAgICAqIEByZXR1cm5zIGluZGV4IG9yIG51bGwgKGZvciAn4oCmJylcbiAgICAgKi9cbiAgICBnZXRJdGVtSW5kZXhCeUVsZW1lbnRJbmRleChlbGVtZW50SW5kZXg6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5zaXplID09PSAncycpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50SW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPT09IHRoaXMuc2lkZVBhZGRpbmcgJiYgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLmluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXZlcnNlRWxlbWVudEluZGV4ID0gdGhpcy5sYXN0RWxlbWVudEluZGV4IC0gZWxlbWVudEluZGV4O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHJldmVyc2VFbGVtZW50SW5kZXggPT09IHRoaXMuc2lkZVBhZGRpbmcgJiZcbiAgICAgICAgICAgIHRoaXMuaGFzQ29sbGFwc2VkSXRlbXModGhpcy5yZXZlcnNlSW5kZXgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmV2ZXJzZUVsZW1lbnRJbmRleCA8IHRoaXMuc2lkZVBhZGRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhc3RJbmRleCAtIHJldmVyc2VFbGVtZW50SW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wdXRlZEluZGV4ID0gdGhpcy5pbmRleCAtIHRoaXMubWF4SGFsZkxlbmd0aCArIGVsZW1lbnRJbmRleDtcblxuICAgICAgICByZXR1cm4gdHVpQ2xhbXAoXG4gICAgICAgICAgICBjb21wdXRlZEluZGV4LFxuICAgICAgICAgICAgZWxlbWVudEluZGV4LFxuICAgICAgICAgICAgdGhpcy5sYXN0SW5kZXggLSByZXZlcnNlRWxlbWVudEluZGV4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEVsZW1lbnRNb2RlKGluZGV4OiBudW1iZXIpOiBUdWlBcHBlYXJhbmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ID8gVHVpQXBwZWFyYW5jZS5QcmltYXJ5IDogVHVpQXBwZWFyYW5jZS5GbGF0O1xuICAgIH1cblxuICAgIGdldFNtYWxsRWxlbWVudE1vZGUoaW5kZXg6IG51bWJlciwgbW9kZTogVHVpQnJpZ2h0bmVzcyB8IG51bGwpOiBUdWlBcHBlYXJhbmNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ICYmIG1vZGUgIT09ICdvbkxpZ2h0J1xuICAgICAgICAgICAgPyBUdWlBcHBlYXJhbmNlLlByaW1hcnlcbiAgICAgICAgICAgIDogVHVpQXBwZWFyYW5jZS5TZWNvbmRhcnk7XG4gICAgfVxuXG4gICAgb25FbGVtZW50Q2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KGluZGV4KTtcbiAgICB9XG5cbiAgICBvbkVsZW1lbnRLZXlEb3duQXJyb3dMZWZ0KGVsZW1lbnQ6IFR1aUJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWxlbWVudCA9PT0gdGhpcy5lbHMuZmlyc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5lbHMuZmluZCgoXywgaW5kZXgsIGFycmF5KSA9PiBhcnJheVtpbmRleCArIDFdID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAocHJldmlvdXM/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHByZXZpb3VzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQ6IFR1aUJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWxlbWVudCA9PT0gdGhpcy5lbHMubGFzdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4LCBhcnJheSkgPT4gYXJyYXlbaW5kZXggLSAxXSA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKG5leHQ/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5leHQubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0NsaWNrKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyeUNoYW5nZVRvKGRpcmVjdGlvbik7XG4gICAgICAgIHRoaXMuZm9jdXNBY3RpdmUoKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWN0aXZlIGluZGV4IGZyb20gdGhlIGVuZFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IHJldmVyc2VJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0SW5kZXggLSB0aGlzLmluZGV4O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1heCBudW1iZXIgb2YgZWxlbWVudHMgaW4gaGFsZiAobm90IGNvdW50aW5nIHRoZSBtaWRkbGUgb25lKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBtYXhIYWxmTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZGVQYWRkaW5nICsgRE9UU19MRU5HVEggKyB0aGlzLmFjdGl2ZVBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgdGhlcmUgJy4uLicgYW55d2hlcmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBpdGVtc0ZpdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoIDw9IHRoaXMubWF4RWxlbWVudHNMZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWF4IG51bWJlciBvZiBlbGVtZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IG1heEVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heEhhbGZMZW5ndGggKiAyICsgQUNUSVZFX0lURU1fTEVOR1RIO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxhc3RJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxhc3RFbGVtZW50SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHNMZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFyZSB0aGVyZSBjb2xsYXBzZWQgaXRlbXMgYXQgdGhhdCBpbmRleFxuICAgICAqIEBwYXJhbSBpbmRleFxuICAgICAqIEByZXR1cm5zIHRoZXJlIGFyZSBjb2xsYXBzZWQgaXRlbXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhc0NvbGxhcHNlZEl0ZW1zKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLml0ZW1zRml0ICYmIGluZGV4ID4gdGhpcy5tYXhIYWxmTGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJ5Q2hhbmdlVG8oZGlyZWN0aW9uOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgoXG4gICAgICAgICAgICB0dWlDbGFtcChcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4ICsgdHVpSG9yaXpvbnRhbERpcmVjdGlvblRvTnVtYmVyKGRpcmVjdGlvbiksXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RJbmRleCxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0FjdGl2ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICBpZiAobmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaXplICE9PSAncyc7IGVsc2Ugc21hbGxCdXR0b25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbnMuZGVjcmVtZW50XCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcnJvd0lzRGlzYWJsZWRMZWZ0XCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdsZWZ0JylcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24uc2lsZW50LnByZXZlbnQpPVwiKDApXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGVsZW1lbnRJbmRleCBvZiBlbGVtZW50c0xlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cImdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleCkgYXMgaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCAhPT0gbnVsbDsgZWxzZSBkb3RzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhZ2luYXRpb25fX2VsZW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0RWxlbWVudE1vZGUoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IHx8IGluZGV4ICsgMSBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBpbmRleH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25zLmluY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiYnV0dG9uU2l6ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzWzFdXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYXJyb3dJc0Rpc2FibGVkUmlnaHRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFycm93Q2xpY2soJ3JpZ2h0JylcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24uc2lsZW50LnByZXZlbnQpPVwiKDApXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzbWFsbEJ1dHRvbnM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgbGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9zbWFsbFwiXG4gICAgICAgICAgICBbY2xhc3MudC1idXR0b25fYWN0aXZlXT1cImluZGV4SXRlbSA9PT0gaW5kZXhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZWxlbWVudElzRm9jdXNhYmxlKGluZGV4SXRlbSlcIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleEl0ZW0sIG1vZGUkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleEl0ZW0pXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkb3RzVGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZG90c1wiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { TuiActiveZoneModule, TuiLetModule,
|
|
3
|
+
import { TuiActiveZoneModule, TuiLetModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
|
|
4
4
|
import { TuiButtonModule } from '@taiga-ui/core';
|
|
5
5
|
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
6
6
|
import { TuiPaginationComponent } from './pagination.component';
|
|
@@ -9,18 +9,16 @@ export class TuiPaginationModule {
|
|
|
9
9
|
}
|
|
10
10
|
TuiPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
11
|
TuiPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, declarations: [TuiPaginationComponent], imports: [CommonModule,
|
|
12
|
+
PolymorpheusModule,
|
|
12
13
|
TuiRepeatTimesModule,
|
|
13
14
|
TuiLetModule,
|
|
14
|
-
PolymorpheusModule,
|
|
15
|
-
TuiPreventDefaultModule,
|
|
16
15
|
TuiActiveZoneModule,
|
|
17
16
|
TuiButtonModule], exports: [TuiPaginationComponent] });
|
|
18
17
|
TuiPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, imports: [[
|
|
19
18
|
CommonModule,
|
|
19
|
+
PolymorpheusModule,
|
|
20
20
|
TuiRepeatTimesModule,
|
|
21
21
|
TuiLetModule,
|
|
22
|
-
PolymorpheusModule,
|
|
23
|
-
TuiPreventDefaultModule,
|
|
24
22
|
TuiActiveZoneModule,
|
|
25
23
|
TuiButtonModule,
|
|
26
24
|
]] });
|
|
@@ -29,10 +27,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
29
27
|
args: [{
|
|
30
28
|
imports: [
|
|
31
29
|
CommonModule,
|
|
30
|
+
PolymorpheusModule,
|
|
32
31
|
TuiRepeatTimesModule,
|
|
33
32
|
TuiLetModule,
|
|
34
|
-
PolymorpheusModule,
|
|
35
|
-
TuiPreventDefaultModule,
|
|
36
33
|
TuiActiveZoneModule,
|
|
37
34
|
TuiButtonModule,
|
|
38
35
|
],
|
|
@@ -40,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
40
37
|
exports: [TuiPaginationComponent],
|
|
41
38
|
}]
|
|
42
39
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBSGIsc0JBQXNCLGFBUGpDLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsZUFBZSxhQUdULHNCQUFzQjtrSEFFdkIsbUJBQW1CLFlBWG5CO1lBQ0wsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixlQUFlO1NBQ2xCOzRGQUlRLG1CQUFtQjtrQkFaL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lTW9kdWxlLCBUdWlMZXRNb2R1bGUsIFR1aVJlcGVhdFRpbWVzTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQnV0dG9uTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL3BhZ2luYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlSZXBlYXRUaW1lc01vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlQYWdpbmF0aW9uQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpUGFnaW5hdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBhZ2luYXRpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostListener, Inject } from '@angular/core';
|
|
2
|
-
import { TUI_ANIMATION_OPTIONS, TUI_CLOSE_WORD, tuiFadeIn, tuiSlideInTop, } from '@taiga-ui/core';
|
|
2
|
+
import { TUI_ANIMATION_OPTIONS, TUI_CLOSE_WORD, TUI_COMMON_ICONS, tuiFadeIn, tuiSlideInTop, } from '@taiga-ui/core';
|
|
3
3
|
import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@taiga-ui/core";
|
|
@@ -7,17 +7,18 @@ import * as i2 from "@tinkoff/ng-polymorpheus";
|
|
|
7
7
|
import * as i3 from "@angular/common";
|
|
8
8
|
import * as i4 from "rxjs";
|
|
9
9
|
export class TuiPdfViewerComponent {
|
|
10
|
-
constructor(animation, closeWord$, context) {
|
|
10
|
+
constructor(animation, closeWord$, icons, context) {
|
|
11
11
|
this.animation = animation;
|
|
12
12
|
this.closeWord$ = closeWord$;
|
|
13
|
+
this.icons = icons;
|
|
13
14
|
this.context = context;
|
|
14
15
|
}
|
|
15
16
|
onKeyDownEsc() {
|
|
16
17
|
this.context.$implicit.complete();
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
TuiPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TUI_CLOSE_WORD }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n
|
|
20
|
+
TuiPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;color:var(--tui-text-01-night);background:#333639}.t-header{display:flex;align-items:center;height:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-right:.3125rem;overflow:hidden}.t-actions{display:flex;margin-left:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:.75rem;color:var(--tui-text-01-night);background:rgba(255,255,255,.32)}.t-close:hover{background:rgba(255,255,255,.4)}.t-content{height:calc(100% - 4rem);overflow:hidden}.t-iframe{width:100%;height:100%}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, decorators: [{
|
|
22
23
|
type: Component,
|
|
23
24
|
args: [{
|
|
@@ -37,6 +38,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
37
38
|
}] }, { type: i4.Observable, decorators: [{
|
|
38
39
|
type: Inject,
|
|
39
40
|
args: [TUI_CLOSE_WORD]
|
|
41
|
+
}] }, { type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [TUI_COMMON_ICONS]
|
|
40
44
|
}] }, { type: undefined, decorators: [{
|
|
41
45
|
type: Inject,
|
|
42
46
|
args: [POLYMORPHEUS_CONTEXT]
|
|
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
44
48
|
type: HostListener,
|
|
45
49
|
args: ['document:keydown.esc']
|
|
46
50
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGdCQUFnQixFQUVoQixTQUFTLEVBQ1QsYUFBYSxHQUNoQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFnQjlELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDNEMsU0FBMkIsRUFDbEMsVUFBOEIsRUFDNUIsS0FBcUIsRUFFL0MsT0FBNkM7UUFKZCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM1QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUUvQyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUN2RCxDQUFDO0lBR0osWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7O21IQVpRLHFCQUFxQixrQkFFbEIscUJBQXFCLGFBQ3JCLGNBQWMsYUFDZCxnQkFBZ0IsYUFDaEIsb0JBQW9CO3VHQUx2QixxQkFBcUIsbU1DM0JsQyxzOUJBa0NBLG1wQ0RiZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDOzRGQU03QixxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0YsY0FBYyxFQUFFLFdBQVc7d0JBQzNCLGtCQUFrQixFQUFFLFdBQVc7cUJBQ2xDO2lCQUNKOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxvQkFBb0I7NENBS2hDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpYWxvZ30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05fT1BUSU9OUyxcbiAgICBUVUlfQ0xPU0VfV09SRCxcbiAgICBUVUlfQ09NTU9OX0lDT05TLFxuICAgIFR1aUNvbW1vbkljb25zLFxuICAgIHR1aUZhZGVJbixcbiAgICB0dWlTbGlkZUluVG9wLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BPTFlNT1JQSEVVU19DT05URVhUfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlQZGZWaWV3ZXJPcHRpb25zfSBmcm9tICcuL3BkZi12aWV3ZXIub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXBkZi12aWV3ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BkZi12aWV3ZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wLCB0dWlGYWRlSW5dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW0B0dWlTbGlkZUluVG9wXSc6ICdhbmltYXRpb24nLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBkZlZpZXdlckNvbXBvbmVudDxJLCBPPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSByZWFkb25seSBhbmltYXRpb246IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX0NMT1NFX1dPUkQpIHJlYWRvbmx5IGNsb3NlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfQ09NTU9OX0lDT05TKSByZWFkb25seSBpY29uczogVHVpQ29tbW9uSWNvbnMsXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRleHQ6IFR1aURpYWxvZzxUdWlQZGZWaWV3ZXJPcHRpb25zPEk+LCBPPixcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzYycpXG4gICAgb25LZXlEb3duRXNjKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgPGgyXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGRmLXZpZXdlcl9fbGFiZWxcIlxuICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5sYWJlbCB9fVxuICAgIDwvaDI+XG4gICAgPGRpdiBjbGFzcz1cInQtYWN0aW9uc1wiPlxuICAgICAgICA8IS0tIFRPRE86IFBvbHltb3JwaGV1cyBmaXggdHlwZSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiJGFueShjb250ZXh0LmFjdGlvbnMpIGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHNoYXBlPVwicm91bmRlZFwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xvc2VcIlxuICAgICAgICBbaWNvbl09XCJpY29ucy5jbG9zZVwiXG4gICAgICAgIFt0aXRsZV09XCJjbG9zZVdvcmQkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQuY29tcGxldGUoKVwiXG4gICAgPjwvYnV0dG9uPlxuPC9oZWFkZXI+XG48c2VjdGlvbiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgIDwhLS0gVE9ETzogUG9seW1vcnBoZXVzIGZpeCB0eXBlIC0tPlxuICAgIDxpZnJhbWVcbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIiRhbnkoY29udGV4dC5jb250ZW50KSBhcyBjb250ZW50OyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgdGl0bGU9XCJwZGZcIlxuICAgICAgICBjbGFzcz1cInQtaWZyYW1lXCJcbiAgICAgICAgW3NyY109XCJjb250ZW50XCJcbiAgICA+PC9pZnJhbWU+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -16,8 +16,9 @@ export class TuiProgressCircleComponent {
|
|
|
16
16
|
this.size = 'm';
|
|
17
17
|
this.animationDelay$ = of(true).pipe(delay(0));
|
|
18
18
|
}
|
|
19
|
-
get
|
|
20
|
-
|
|
19
|
+
get progressRatio() {
|
|
20
|
+
const ratio = this.value / this.max;
|
|
21
|
+
return Number.isFinite(ratio) ? ratio : 0;
|
|
21
22
|
}
|
|
22
23
|
// TODO: drop support of legacy Edge (EdgeHTML) in v4.x
|
|
23
24
|
get oldEdgeRadiusFallback() {
|
|
@@ -29,7 +30,7 @@ export class TuiProgressCircleComponent {
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
TuiProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, deps: [{ token: USER_AGENT }, { token: WINDOW }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-
|
|
33
|
+
TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-ratio": "this.progressRatio" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-ratio) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-ratio) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-ratio) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-ratio) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, decorators: [{
|
|
34
35
|
type: Component,
|
|
35
36
|
args: [{
|
|
@@ -64,8 +65,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
64
65
|
}, {
|
|
65
66
|
type: HostBinding,
|
|
66
67
|
args: ['attr.data-size']
|
|
67
|
-
}],
|
|
68
|
+
}], progressRatio: [{
|
|
68
69
|
type: HostBinding,
|
|
69
|
-
args: ['style.--progress-
|
|
70
|
+
args: ['style.--progress-ratio']
|
|
70
71
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlL3Byb2dyZXNzLWNpcmNsZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQVFyQyxNQUFNLE9BQU8sMEJBQTBCO0lBeUNuQyxZQUN5QyxTQUFpQixFQUNyQixHQUFXLEVBQ1AsRUFBMkI7UUFGM0IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1AsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUF2Q3BFLFVBQUssR0FBRyxDQUFDLENBQUM7UUFHVixRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBSVIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFJNUIsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFTakMsb0JBQWUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBb0J2QyxDQUFDO0lBM0JKLElBQ0ksYUFBYTtRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUVwQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFJRCx1REFBdUQ7SUFDdkQsSUFBSSxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxFQUN4RSxFQUFFLENBQ0wsQ0FBQztRQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O3dIQXZDUSwwQkFBMEIsa0JBMEN2QixVQUFVLGFBQ1YsTUFBTSxhQUNOLFVBQVU7NEdBNUNiLDBCQUEwQixzWkNyQnZDLHNrQkE0QkE7NEZEUGEsMEJBQTBCO2tCQU50QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQTJDUSxNQUFNOzJCQUFDLFVBQVU7OEJBQ29CLE1BQU07MEJBQTNDLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxVQUFVOzRDQTFDTCxjQUFjO3NCQUQ5QixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJM0MsS0FBSztzQkFESixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFLTixLQUFLO3NCQUZKLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsNEJBQTRCO2dCQUt6QyxJQUFJO3NCQUZILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUl6QixhQUFhO3NCQURoQixXQUFXO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VTRVJfQUdFTlQsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge0NIUk9NSVVNX0VER0VfU1RBUlRfVkVSU0lPTiwgdHVpSXNFZGdlT2xkZXJUaGFufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZVMsIFR1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByb2dyZXNzLWNpcmNsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWNpcmNsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1jaXJjbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcm9ncmVzc0NpcmNsZUNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgncHJvZ3Jlc3NDaXJjbGUnLCB7c3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2dyZXNzQ2lyY2xlITogRWxlbWVudFJlZjxTVkdDaXJjbGVFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWUgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBtYXggPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdHVpLXByb2dyZXNzLWNvbG9yJylcbiAgICBjb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIHNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZVhMID0gJ20nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXByb2dyZXNzLXJhdGlvJylcbiAgICBnZXQgcHJvZ3Jlc3NSYXRpbygpOiBudW1iZXIge1xuICAgICAgICBjb25zdCByYXRpbyA9IHRoaXMudmFsdWUgLyB0aGlzLm1heDtcblxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHJhdGlvKSA/IHJhdGlvIDogMDtcbiAgICB9XG5cbiAgICBhbmltYXRpb25EZWxheSQgPSBvZih0cnVlKS5waXBlKGRlbGF5KDApKTtcblxuICAgIC8vIFRPRE86IGRyb3Agc3VwcG9ydCBvZiBsZWdhY3kgRWRnZSAoRWRnZUhUTUwpIGluIHY0LnhcbiAgICBnZXQgb2xkRWRnZVJhZGl1c0ZhbGxiYWNrKCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAoIXR1aUlzRWRnZU9sZGVyVGhhbihDSFJPTUlVTV9FREdFX1NUQVJUX1ZFUlNJT04sIHRoaXMudXNlckFnZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IHBhcnNlSW50KFxuICAgICAgICAgICAgdGhpcy53aW4uZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnByb2dyZXNzQ2lyY2xlLm5hdGl2ZUVsZW1lbnQpLnN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBzdHJva2VXaWR0aCkgLyAyO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cbn1cbiIsIjxwcm9ncmVzc1xuICAgIGNsYXNzPVwidC1oaWRkZW4tcHJvZ3Jlc3NcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW21heF09XCJtYXhcIlxuPjwvcHJvZ3Jlc3M+XG5cbjxzdmdcbiAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgY2xhc3M9XCJ0LXN2Z1wiXG4+XG4gICAgPGNpcmNsZVxuICAgICAgICBjeD1cIjUwJVwiXG4gICAgICAgIGN5PVwiNTAlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRyYWNrXCJcbiAgICAgICAgW2F0dHIucl09XCJvbGRFZGdlUmFkaXVzRmFsbGJhY2tcIlxuICAgID48L2NpcmNsZT5cblxuICAgIDxjaXJjbGVcbiAgICAgICAgI3Byb2dyZXNzQ2lyY2xlXG4gICAgICAgIGN4PVwiNTAlXCJcbiAgICAgICAgY3k9XCI1MCVcIlxuICAgICAgICBjbGFzcz1cInQtcHJvZ3Jlc3NcIlxuICAgICAgICBbY2xhc3MudC1wcm9ncmVzc19maWxsZWRdPVwiYW5pbWF0aW9uRGVsYXkkIHwgYXN5bmNcIlxuICAgICAgICBbYXR0ci5yXT1cIm9sZEVkZ2VSYWRpdXNGYWxsYmFja1wiXG4gICAgPjwvY2lyY2xlPlxuPC9zdmc+XG4iXX0=
|
|
@@ -21,7 +21,7 @@ export class TuiPromptComponent {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
TuiPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPromptComponent, deps: [{ token: TUI_PROMPT_WORDS }, { token: POLYMORPHEUS_CONTEXT }, { token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
TuiPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPromptComponent, selector: "tui-prompt", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24
|
+
TuiPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPromptComponent, selector: "tui-prompt", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPromptComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, } from '@angular/core';
|
|
2
2
|
import { tuiIsObserved } from '@taiga-ui/cdk';
|
|
3
|
-
import { TUI_CLOSE_WORD } from '@taiga-ui/core';
|
|
3
|
+
import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@taiga-ui/core";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
7
7
|
import * as i3 from "rxjs";
|
|
8
8
|
export class TuiPushComponent {
|
|
9
|
-
constructor(closeWord
|
|
9
|
+
constructor(closeWord$, icons) {
|
|
10
10
|
this.closeWord$ = closeWord$;
|
|
11
|
+
this.icons = icons;
|
|
11
12
|
this.heading = '';
|
|
12
13
|
this.type = '';
|
|
13
14
|
this.timestamp = 0;
|
|
@@ -17,8 +18,8 @@ export class TuiPushComponent {
|
|
|
17
18
|
return tuiIsObserved(this.close);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
TuiPushComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPushComponent, deps: [{ token: TUI_CLOSE_WORD }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
TuiPushComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPushComponent, selector: "tui-push", inputs: { heading: "heading", type: "type", timestamp: "timestamp" }, outputs: { close: "close" }, ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\"></ng-content>\n</div>\n<button\n *ngIf=\"closeable\"\n type=\"button\"\n tuiIconButton\n
|
|
21
|
+
TuiPushComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPushComponent, deps: [{ token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
TuiPushComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPushComponent, selector: "tui-push", inputs: { heading: "heading", type: "type", timestamp: "timestamp" }, outputs: { close: "close" }, ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\"></ng-content>\n</div>\n<button\n *ngIf=\"closeable\"\n type=\"button\"\n tuiIconButton\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg\"></ng-content>\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\"></ng-content>\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\"></ng-content>\n </span>\n</div>\n", styles: [":host{box-shadow:0 .25rem 1.5rem #0000001f;position:relative;display:block;width:22.5rem;max-width:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-elevation-02)}.t-image{display:flex;flex-direction:column;max-height:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:rgba(242,242,242,.32);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-icon{height:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-link)}.t-time:before{content:\"\\2022\";display:inline-block;width:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:bold;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "tuiFormatDate": i1.TuiFormatDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPushComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
25
|
args: [{
|
|
@@ -30,6 +31,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
30
31
|
}], ctorParameters: function () { return [{ type: i3.Observable, decorators: [{
|
|
31
32
|
type: Inject,
|
|
32
33
|
args: [TUI_CLOSE_WORD]
|
|
34
|
+
}] }, { type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [TUI_COMMON_ICONS]
|
|
33
37
|
}] }]; }, propDecorators: { heading: [{
|
|
34
38
|
type: Input
|
|
35
39
|
}], type: [{
|
|
@@ -39,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
39
43
|
}], close: [{
|
|
40
44
|
type: Output
|
|
41
45
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFTaEYsTUFBTSxPQUFPLGdCQUFnQjtJQWN6QixZQUNxQyxVQUE4QixFQUM1QixLQUFxQjtRQUR2QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM1QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWQ1RCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFJTCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUt2QyxDQUFDO0lBRUosSUFBSSxTQUFTO1FBQ1QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OzhHQXJCUSxnQkFBZ0Isa0JBZWIsY0FBYyxhQUNkLGdCQUFnQjtrR0FoQm5CLGdCQUFnQixtSkNsQjdCLHNnQ0EyQ0E7NEZEekJhLGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBZ0JRLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsZ0JBQWdCOzRDQWQ1QixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFLRyxLQUFLO3NCQUZiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUlzT2JzZXJ2ZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQ0xPU0VfV09SRCwgVFVJX0NPTU1PTl9JQ09OUywgVHVpQ29tbW9uSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXB1c2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1c2guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQdXNoQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgdHlwZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICB0aW1lc3RhbXAgPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgcmVhZG9ubHkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQ0xPU0VfV09SRCkgcmVhZG9ubHkgY2xvc2VXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFRVSV9DT01NT05fSUNPTlMpIHJlYWRvbmx5IGljb25zOiBUdWlDb21tb25JY29ucyxcbiAgICApIHt9XG5cbiAgICBnZXQgY2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNPYnNlcnZlZCh0aGlzLmNsb3NlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1pbWFnZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImltZ1wiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGJ1dHRvblxuICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgc2l6ZT1cInhzXCJcbiAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICBzaGFwZT1cInJvdW5kZWRcIlxuICAgIGNsYXNzPVwidC1jbG9zZVwiXG4gICAgW2ljb25dPVwiaWNvbnMuY2xvc2VcIlxuICAgIFt0aXRsZV09XCJjbG9zZVdvcmQkIHwgYXN5bmNcIlxuICAgIChjbGljayk9XCJjbG9zZS5lbWl0KClcIlxuPjwvYnV0dG9uPlxuPGRpdiBjbGFzcz1cInQtdG9wXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0LWljb25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLXN2Z1wiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gICAge3sgdHlwZSB9fVxuICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwidGltZXN0YW1wXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpbWVcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwidGltZXN0YW1wIHwgdHVpRm9ybWF0RGF0ZSB8IGFzeW5jXCJcbiAgICA+PC9zcGFuPlxuPC9kaXY+XG48aDNcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXB1c2hfX2hlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gzPlxuPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtYWN0aW9uc1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidC1idXR0b25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidC1saW5rXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0dWlMaW5rXVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|