@taiga-ui/addon-doc 3.0.0-rc.0 → 3.0.0-rc.3

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.
Files changed (50) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +501 -561
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/components/code/parse-code-block.d.ts +1 -5
  4. package/components/documentation/documentation.module.d.ts +1 -1
  5. package/components/language-switcher/language-switcher.component.d.ts +16 -0
  6. package/components/language-switcher/language-switcher.module.d.ts +11 -0
  7. package/components/main/main.component.d.ts +1 -1
  8. package/components/navigation/navigation.component.d.ts +5 -5
  9. package/components/navigation/navigation.module.d.ts +5 -4
  10. package/components/navigation/navigation.providers.d.ts +0 -4
  11. package/components/page/page.providers.d.ts +1 -2
  12. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +3 -11
  13. package/directives/scroll-into-view/scroll-into-view.module.d.ts +0 -9
  14. package/esm2015/components/code/code.component.js +4 -4
  15. package/esm2015/components/code/parse-code-block.js +2 -7
  16. package/esm2015/components/copy/copy.component.js +1 -2
  17. package/esm2015/components/demo/demo.component.js +2 -3
  18. package/esm2015/components/documentation/documentation-property-connector.directive.js +3 -3
  19. package/esm2015/components/documentation/documentation.component.js +10 -12
  20. package/esm2015/components/documentation/documentation.module.js +5 -5
  21. package/esm2015/components/example/example.component.js +3 -5
  22. package/esm2015/components/language-switcher/language-switcher.component.js +55 -0
  23. package/esm2015/components/language-switcher/language-switcher.module.js +21 -0
  24. package/esm2015/components/main/main.component.js +2 -3
  25. package/esm2015/components/navigation/navigation.component.js +30 -36
  26. package/esm2015/components/navigation/navigation.module.js +18 -17
  27. package/esm2015/components/navigation/navigation.providers.js +14 -19
  28. package/esm2015/components/page/page.component.js +2 -4
  29. package/esm2015/components/page/page.providers.js +10 -12
  30. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +10 -26
  31. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +2 -19
  32. package/esm2015/internal/see-also/see-also.component.js +2 -3
  33. package/esm2015/public-api.js +3 -1
  34. package/esm2015/utils/coerce-value.js +2 -7
  35. package/esm2015/utils/inspect.js +4 -7
  36. package/esm2015/utils/raw-load-record.js +4 -9
  37. package/esm2015/utils/raw-load.js +2 -7
  38. package/esm2015/utils/transliterate-keyboard-layout.js +2 -5
  39. package/fesm2015/taiga-ui-addon-doc.js +180 -229
  40. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  41. package/package.json +5 -5
  42. package/public-api.d.ts +2 -0
  43. package/tokens/logo.d.ts +1 -1
  44. package/utils/coerce-value.d.ts +1 -5
  45. package/utils/inspect.d.ts +1 -3
  46. package/utils/raw-load-record.d.ts +1 -5
  47. package/utils/raw-load.d.ts +1 -5
  48. package/utils/transliterate-keyboard-layout.d.ts +1 -3
  49. package/esm2015/utils/color-conversion.js +0 -27
  50. package/utils/color-conversion.d.ts +0 -12
@@ -1,5 +1 @@
1
- /**
2
- * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead
3
- */
4
- export declare function tryParseMarkdownCodeBlock(text?: string): string[];
5
- export declare const tuiTryParseMarkdownCodeBlock: typeof tryParseMarkdownCodeBlock;
1
+ export declare function tuiTryParseMarkdownCodeBlock(text?: string): string[];
@@ -9,6 +9,6 @@ import * as i7 from "@taiga-ui/core";
9
9
  import * as i8 from "../../internal/input-opacity/input-opacity.module";
10
10
  export declare class TuiDocDocumentationModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocDocumentationModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocDocumentationModule, [typeof i1.TuiDocDocumentationComponent, typeof i2.TuiDocDocumentationPropertyConnectorDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.RouterModule, typeof i6.TuiBadgeModule, typeof i6.TuiSelectModule, typeof i6.TuiToggleModule, typeof i7.TuiTooltipModule, typeof i7.TuiLinkModule, typeof i6.TuiInputCountModule, typeof i7.TuiModeModule, typeof i7.TuiGroupModule, typeof i8.TuiInputOpacityModule, typeof i7.TuiPrimitiveTextfieldModule, typeof i7.TuiTextfieldControllerModule, typeof i7.TuiHintControllerModule, typeof i7.TuiDropdownControllerModule, typeof i7.TuiDataListModule, typeof i6.TuiDataListWrapperModule, typeof i7.TuiNotificationModule], [typeof i1.TuiDocDocumentationComponent, typeof i2.TuiDocDocumentationPropertyConnectorDirective]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocDocumentationModule, [typeof i1.TuiDocDocumentationComponent, typeof i2.TuiDocDocumentationPropertyConnectorDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.RouterModule, typeof i6.TuiBadgeModule, typeof i6.TuiSelectModule, typeof i6.TuiToggleModule, typeof i7.TuiTooltipModule, typeof i7.TuiLinkModule, typeof i6.TuiInputCountModule, typeof i7.TuiModeModule, typeof i7.TuiGroupModule, typeof i8.TuiInputOpacityModule, typeof i7.TuiPrimitiveTextfieldModule, typeof i7.TuiTextfieldControllerModule, typeof i7.TuiHintControllerModule, typeof i7.TuiDropdownModule, typeof i7.TuiDataListModule, typeof i6.TuiDataListWrapperModule, typeof i7.TuiNotificationModule], [typeof i1.TuiDocDocumentationComponent, typeof i2.TuiDocDocumentationPropertyConnectorDirective]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiDocDocumentationModule>;
14
14
  }
@@ -0,0 +1,16 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { TuiStringHandler } from '@taiga-ui/cdk';
3
+ import { TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher } from '@taiga-ui/i18n';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiLanguageSwitcherComponent {
6
+ readonly switcher: TuiLanguageSwitcher;
7
+ private readonly iconsPath;
8
+ private readonly path;
9
+ readonly language: FormControl;
10
+ readonly flags: Map<TuiLanguageName, TuiCountryIsoCode>;
11
+ readonly names: TuiLanguageName[];
12
+ constructor(switcher: TuiLanguageSwitcher, iconsPath: TuiStringHandler<string>);
13
+ getFlagPath(code?: TuiCountryIsoCode): string | null;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLanguageSwitcherComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiLanguageSwitcherComponent, "tui-language-switcher", never, {}, {}, never, ["*"]>;
16
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./language-switcher.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@taiga-ui/kit";
5
+ import * as i4 from "@taiga-ui/core";
6
+ import * as i5 from "@angular/forms";
7
+ export declare class TuiLanguageSwitcherModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLanguageSwitcherModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiLanguageSwitcherModule, [typeof i1.TuiLanguageSwitcherComponent], [typeof i2.CommonModule, typeof i3.TuiSelectModule, typeof i4.TuiDataListModule, typeof i5.ReactiveFormsModule], [typeof i1.TuiLanguageSwitcherComponent]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiLanguageSwitcherModule>;
11
+ }
@@ -10,5 +10,5 @@ export declare class TuiDocMainComponent {
10
10
  get mode(): TuiBrightness | null;
11
11
  onMode(night: boolean): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocMainComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiDocMainComponent, "tui-doc-main", never, {}, {}, never, ["tuiDocNavigation", "tuiDocHeader", "tuiOverContent", "tuiOverDialogs", "tuiOverAlerts", "tuiOverNotifications", "tuiOverPortals", "tuiOverHints"]>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiDocMainComponent, "tui-doc-main", never, {}, {}, never, ["tuiDocNavigation", "tuiDocHeader", "tuiOverContent", "tuiOverDialogs", "tuiOverAlerts", "tuiOverPortals", "tuiOverHints"]>;
14
14
  }
@@ -1,7 +1,9 @@
1
1
  import { ChangeDetectorRef } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
2
3
  import { Title } from '@angular/platform-browser';
3
4
  import { ActivatedRoute, Router } from '@angular/router';
4
5
  import { TuiBrightness, TuiModeDirective } from '@taiga-ui/core';
6
+ import { TuiInputComponent } from '@taiga-ui/kit';
5
7
  import { Observable } from 'rxjs';
6
8
  import { TuiDocPage } from '../../interfaces/page';
7
9
  import { TuiDocPages } from '../../types/pages';
@@ -19,21 +21,19 @@ export declare class TuiDocNavigationComponent {
19
21
  private readonly readyToScroll$;
20
22
  private readonly scrollBehavior;
21
23
  menuOpen: boolean;
22
- search: string;
23
- open: boolean;
24
24
  openPagesArr: boolean[];
25
25
  openPagesGroupsArr: boolean[];
26
26
  active: string;
27
+ readonly search: FormControl;
28
+ readonly filtered$: Observable<readonly (readonly TuiDocPage[])[]>;
27
29
  readonly mode$: Observable<TuiBrightness>;
28
30
  constructor(changeDetectorRef: ChangeDetectorRef, titleService: Title, title$: Observable<string>, documentRef: Document, mode: TuiModeDirective, sidebar: unknown, labels: string[], items: readonly TuiDocPages[], searchText: string, router: Router, activatedRoute: ActivatedRoute, destroy$: Observable<void>, readyToScroll$: Observable<boolean>, scrollBehavior: ScrollBehavior);
29
31
  get canOpen(): boolean;
30
- get filteredItems(): ReadonlyArray<readonly TuiDocPage[]>;
31
32
  get itemsWithoutSections(): TuiDocPages;
32
33
  isActive(route: string): boolean;
33
34
  onGroupClick(index: number): void;
34
35
  closeMenu(): void;
35
- onSearchChange(search: string): void;
36
- onClick(): void;
36
+ onClick(input: TuiInputComponent): void;
37
37
  private filterItems;
38
38
  private flattenSubPages;
39
39
  private isActiveRoute;
@@ -3,12 +3,13 @@ import * as i1 from "./navigation.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
5
  import * as i4 from "@angular/router";
6
- import * as i5 from "../../directives/scroll-into-view/scroll-into-view.module";
7
- import * as i6 from "@taiga-ui/core";
8
- import * as i7 from "@taiga-ui/cdk";
6
+ import * as i5 from "@tinkoff/ng-polymorpheus";
7
+ import * as i6 from "../../directives/scroll-into-view/scroll-into-view.module";
8
+ import * as i7 from "@taiga-ui/core";
9
9
  import * as i8 from "@taiga-ui/kit";
10
+ import * as i9 from "@taiga-ui/cdk";
10
11
  export declare class TuiDocNavigationModule {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocNavigationModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocNavigationModule, [typeof i1.TuiDocNavigationComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.RouterModule, typeof i5.ScrollIntoViewModule, typeof i5.TuiScrollIntoViewLinkModule, typeof i6.TuiButtonModule, typeof i6.TuiPrimitiveTextfieldModule, typeof i6.TuiTextfieldControllerModule, typeof i7.TuiActiveZoneModule, typeof i7.TuiLetModule, typeof i6.TuiModeModule, typeof i6.TuiLinkModule, typeof i6.TuiExpandModule, typeof i6.TuiHostedDropdownModule, typeof i6.TuiDropdownControllerModule, typeof i8.TuiAccordionModule, typeof i6.TuiScrollbarModule, typeof i6.TuiSvgModule, typeof i6.TuiDataListModule, typeof i7.TuiAutoFocusModule], [typeof i1.TuiDocNavigationComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDocNavigationModule, [typeof i1.TuiDocNavigationComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.RouterModule, typeof i5.PolymorpheusModule, typeof i6.TuiScrollIntoViewLinkModule, typeof i7.TuiButtonModule, typeof i8.TuiInputModule, typeof i7.TuiTextfieldControllerModule, typeof i9.TuiActiveZoneModule, typeof i9.TuiLetModule, typeof i7.TuiModeModule, typeof i7.TuiLinkModule, typeof i7.TuiExpandModule, typeof i7.TuiHostedDropdownModule, typeof i7.TuiDropdownModule, typeof i8.TuiAccordionModule, typeof i7.TuiScrollbarModule, typeof i7.TuiSvgModule, typeof i7.TuiDataListModule, typeof i9.TuiAutoFocusModule], [typeof i1.TuiDocNavigationComponent]>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiDocNavigationModule>;
14
15
  }
@@ -1,11 +1,7 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
2
  import { Observable } from 'rxjs';
4
3
  import { TuiDocPages } from '../../types/pages';
5
4
  export declare const NAVIGATION_TITLE: InjectionToken<Observable<string>>;
6
5
  export declare const NAVIGATION_LABELS: InjectionToken<readonly string[]>;
7
6
  export declare const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocPages[]>;
8
7
  export declare const NAVIGATION_PROVIDERS: Provider[];
9
- export declare function titleProviderFactory(router: Router, activatedRoute: ActivatedRoute, titlePrefix: string, destroy$: Observable<void>): Observable<string>;
10
- export declare function labelsProviderFactory(pages: TuiDocPages): readonly string[];
11
- export declare function itemsProviderFactory(pages: TuiDocPages): readonly TuiDocPages[];
@@ -1,4 +1,3 @@
1
- import { ElementRef, InjectionToken, Provider } from '@angular/core';
1
+ import { InjectionToken, Provider } from '@angular/core';
2
2
  export declare const PAGE_SEE_ALSO: InjectionToken<readonly string[]>;
3
3
  export declare const PAGE_PROVIDERS: Provider[];
4
- export declare function seeAlsoProviderFactory({ nativeElement }: ElementRef, seeAlsoGroups: ReadonlyArray<readonly string[]>): readonly string[];
@@ -2,19 +2,11 @@ import { ElementRef } from '@angular/core';
2
2
  import { TuiDestroyService } from '@taiga-ui/cdk';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
- /**
6
- * @deprecated: use {@link TuiScrollIntoViewLinkDirective}
7
- * TODO: remove in v3.0
8
- */
9
- export declare class ScrollIntoViewDirective {
5
+ export declare class TuiScrollIntoViewLinkDirective {
10
6
  readonly readyToScroll$: Observable<boolean>;
11
- set scrollIntoView(shallWe: boolean);
7
+ set tuiScrollIntoViewLink(shallWe: boolean);
12
8
  private readonly scroll$;
13
9
  constructor(destroy$: TuiDestroyService, { nativeElement }: ElementRef<HTMLElement>, readyToScroll$: Observable<boolean>);
14
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollIntoViewDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollIntoViewDirective, "[scrollIntoView]", never, { "scrollIntoView": "scrollIntoView"; }, {}, never>;
16
- }
17
- export declare class TuiScrollIntoViewLinkDirective extends ScrollIntoViewDirective {
18
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollIntoViewLinkDirective, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiScrollIntoViewLinkDirective, "[tuiScrollIntoViewLink]", never, {}, {}, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiScrollIntoViewLinkDirective, "[tuiScrollIntoViewLink]", never, { "tuiScrollIntoViewLink": "tuiScrollIntoViewLink"; }, {}, never>;
20
12
  }
@@ -1,14 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./scroll-into-view.directive";
3
- /**
4
- * @deprecated: use {@link TuiScrollIntoViewLinkModule}
5
- * TODO: remove in v3.0
6
- */
7
- export declare class ScrollIntoViewModule {
8
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollIntoViewModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScrollIntoViewModule, [typeof i1.ScrollIntoViewDirective], never, [typeof i1.ScrollIntoViewDirective]>;
10
- static ɵinj: i0.ɵɵInjectorDeclaration<ScrollIntoViewModule>;
11
- }
12
3
  export declare class TuiScrollIntoViewLinkModule {
13
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollIntoViewLinkModule, never>;
14
5
  static ɵmod: i0.ɵɵNgModuleDeclaration<TuiScrollIntoViewLinkModule, [typeof i1.TuiScrollIntoViewLinkDirective], never, [typeof i1.TuiScrollIntoViewLinkDirective]>;
@@ -1,8 +1,8 @@
1
1
  import { Component, HostBinding, Input } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { map, switchMap } from 'rxjs/operators';
4
- import { rawLoad } from '../../utils/raw-load';
5
- import { tryParseMarkdownCodeBlock } from './parse-code-block';
4
+ import { tuiRawLoad } from '../../utils/raw-load';
5
+ import { tuiTryParseMarkdownCodeBlock } from './parse-code-block';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "ngx-highlightjs";
@@ -10,7 +10,7 @@ export class TuiDocCodeComponent {
10
10
  constructor() {
11
11
  this.rawLoader$$ = new BehaviorSubject(``);
12
12
  this.filename = ``;
13
- this.processor$ = this.rawLoader$$.pipe(switchMap(rawLoad), map(tryParseMarkdownCodeBlock));
13
+ this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map(tuiTryParseMarkdownCodeBlock));
14
14
  }
15
15
  set code(code) {
16
16
  this.rawLoader$$.next(code);
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
36
36
  type: HostBinding,
37
37
  args: [`class._has-filename`]
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvY29kZS9jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb2RlL2NvZGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU83RCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTXFCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBR3pFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFTCxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQ2pDLENBQUM7S0FXTDtJQVRHLElBQ0ksSUFBSSxDQUFDLElBQXNCO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7O2lIQW5CUSxtQkFBbUI7cUdBQW5CLG1CQUFtQix5S0NiaEMsc09BVUE7NEZER2EsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkM7OEJBS0csUUFBUTtzQkFEUCxLQUFLO2dCQVNGLElBQUk7c0JBRFAsS0FBSztnQkFNRixXQUFXO3NCQURkLFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7UmF3TG9hZGVyQ29udGVudH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wYWdlJztcbmltcG9ydCB7cmF3TG9hZH0gZnJvbSAnLi4vLi4vdXRpbHMvcmF3LWxvYWQnO1xuaW1wb3J0IHt0cnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrfSBmcm9tICcuL3BhcnNlLWNvZGUtYmxvY2snO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kb2MtY29kZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2NvZGUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vY29kZS5zdHlsZS5sZXNzYF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0NvZGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJhd0xvYWRlckNvbnRlbnQ+KGBgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsZW5hbWUgPSBgYDtcblxuICAgIHJlYWRvbmx5IHByb2Nlc3NvciQgPSB0aGlzLnJhd0xvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChyYXdMb2FkKSxcbiAgICAgICAgbWFwKHRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2spLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2RlKGNvZGU6IFJhd0xvYWRlckNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvZGUpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2hhcy1maWxlbmFtZWApXG4gICAgZ2V0IGhhc0ZpbGVuYW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGVuYW1lO1xuICAgIH1cbn1cbiIsIjxwXG4gICAgKm5nSWY9XCJmaWxlbmFtZVwiXG4gICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4+XG4gICAge3sgZmlsZW5hbWUgfX1cbjwvcD5cbjxwcmVcbiAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBwcm9jZXNzb3IkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwidC1jb2RlXCJcbj48Y29kZSBbbGluZU51bWJlcnNdPVwidHJ1ZVwiIFtoaWdobGlnaHRdPVwiY29udGVudFwiPjwvY29kZT48L3ByZT5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvY29kZS9jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb2RlL2NvZGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU9oRSxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTXFCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBR3pFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFTCxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckIsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQ3BDLENBQUM7S0FXTDtJQVRHLElBQ0ksSUFBSSxDQUFDLElBQXNCO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7O2lIQW5CUSxtQkFBbUI7cUdBQW5CLG1CQUFtQix5S0NiaEMsc09BVUE7NEZER2EsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkM7OEJBS0csUUFBUTtzQkFEUCxLQUFLO2dCQVNGLElBQUk7c0JBRFAsS0FBSztnQkFNRixXQUFXO3NCQURkLFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7UmF3TG9hZGVyQ29udGVudH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wYWdlJztcbmltcG9ydCB7dHVpUmF3TG9hZH0gZnJvbSAnLi4vLi4vdXRpbHMvcmF3LWxvYWQnO1xuaW1wb3J0IHt0dWlUcnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrfSBmcm9tICcuL3BhcnNlLWNvZGUtYmxvY2snO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kb2MtY29kZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2NvZGUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vY29kZS5zdHlsZS5sZXNzYF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0NvZGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJhd0xvYWRlckNvbnRlbnQ+KGBgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsZW5hbWUgPSBgYDtcblxuICAgIHJlYWRvbmx5IHByb2Nlc3NvciQgPSB0aGlzLnJhd0xvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkKSxcbiAgICAgICAgbWFwKHR1aVRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2spLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2RlKGNvZGU6IFJhd0xvYWRlckNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvZGUpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2hhcy1maWxlbmFtZWApXG4gICAgZ2V0IGhhc0ZpbGVuYW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGVuYW1lO1xuICAgIH1cbn1cbiIsIjxwXG4gICAgKm5nSWY9XCJmaWxlbmFtZVwiXG4gICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4+XG4gICAge3sgZmlsZW5hbWUgfX1cbjwvcD5cbjxwcmVcbiAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBwcm9jZXNzb3IkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwidC1jb2RlXCJcbj48Y29kZSBbbGluZU51bWJlcnNdPVwidHJ1ZVwiIFtoaWdobGlnaHRdPVwiY29udGVudFwiPjwvY29kZT48L3ByZT5cbiJdfQ==
@@ -1,14 +1,9 @@
1
1
  import MarkdownIt from 'markdown-it';
2
- /**
3
- * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead
4
- */
5
- // eslint-disable-next-line @typescript-eslint/naming-convention
6
- export function tryParseMarkdownCodeBlock(text = ``) {
2
+ export function tuiTryParseMarkdownCodeBlock(text = ``) {
7
3
  const tokens = new MarkdownIt().parse(text, {});
8
4
  const result = tokens
9
5
  .filter(({ tag, type }) => tag === `code` && type === `fence`)
10
6
  .map(({ content }) => content);
11
7
  return result.length ? result : [text];
12
8
  }
13
- export const tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29kZS1ibG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb2RlL3BhcnNlLWNvZGUtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBR3JDOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxPQUFlLEVBQUU7SUFDdkQsTUFBTSxNQUFNLEdBQVksSUFBSSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLE1BQU07U0FDaEIsTUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQztTQUMzRCxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWFya2Rvd25JdCBmcm9tICdtYXJrZG93bi1pdCc7XG5pbXBvcnQgVG9rZW4gZnJvbSAnbWFya2Rvd24taXQvbGliL3Rva2VuJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlUcnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrfSBpbnN0ZWFkXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiB0cnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrKHRleHQ6IHN0cmluZyA9IGBgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHRva2VuczogVG9rZW5bXSA9IG5ldyBNYXJrZG93bkl0KCkucGFyc2UodGV4dCwge30pO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRva2Vuc1xuICAgICAgICAuZmlsdGVyKCh7dGFnLCB0eXBlfSkgPT4gdGFnID09PSBgY29kZWAgJiYgdHlwZSA9PT0gYGZlbmNlYClcbiAgICAgICAgLm1hcCgoe2NvbnRlbnR9KSA9PiBjb250ZW50KTtcblxuICAgIHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0IDogW3RleHRdO1xufVxuXG5leHBvcnQgY29uc3QgdHVpVHJ5UGFyc2VNYXJrZG93bkNvZGVCbG9jayA9IHRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2s7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29kZS1ibG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb2RlL3BhcnNlLWNvZGUtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBR3JDLE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxPQUFlLEVBQUU7SUFDMUQsTUFBTSxNQUFNLEdBQVksSUFBSSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLE1BQU07U0FDaEIsTUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQztTQUMzRCxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hcmtkb3duSXQgZnJvbSAnbWFya2Rvd24taXQnO1xuaW1wb3J0IFRva2VuIGZyb20gJ21hcmtkb3duLWl0L2xpYi90b2tlbic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlUcnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrKHRleHQ6IHN0cmluZyA9IGBgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHRva2VuczogVG9rZW5bXSA9IG5ldyBNYXJrZG93bkl0KCkucGFyc2UodGV4dCwge30pO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRva2Vuc1xuICAgICAgICAuZmlsdGVyKCh7dGFnLCB0eXBlfSkgPT4gdGFnID09PSBgY29kZWAgJiYgdHlwZSA9PT0gYGZlbmNlYClcbiAgICAgICAgLm1hcCgoe2NvbnRlbnR9KSA9PiBjb250ZW50KTtcblxuICAgIHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0IDogW3RleHRdO1xufVxuIl19
@@ -9,7 +9,6 @@ import * as i1 from "@taiga-ui/core";
9
9
  import * as i2 from "@angular/common";
10
10
  import * as i3 from "rxjs";
11
11
  const COPIED_TIMEOUT = 1500;
12
- // @dynamic
13
12
  export class TuiDocCopyComponent {
14
13
  constructor(texts$) {
15
14
  this.texts$ = texts$;
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
40
39
  type: Inject,
41
40
  args: [TUI_COPY_TEXTS]
42
41
  }] }]; }, propDecorators: { copied$: [] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb3B5L2NvcHkudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBYSxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUU3RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFFNUIsV0FBVztBQVFYLE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsWUFBNkMsTUFBb0M7UUFBcEMsV0FBTSxHQUFOLE1BQU0sQ0FBOEI7UUFGaEUsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNkMsQ0FBQztJQUdyRixJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNsQixXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FBQztJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOztpSEFkUSxtQkFBbUIsa0JBR1IsY0FBYztxR0FIekIsbUJBQW1CLHVDQUZqQixDQUFDLGlCQUFpQixDQUFDLDBCQ2RsQywyZkF1QkE7QURESTtJQURDLE9BQU87a0RBS1A7NEZBVlEsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDaEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBSWdCLE1BQU07MkJBQUMsY0FBYzs0Q0FHOUIsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRGVzdHJveVNlcnZpY2UsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3QsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwVG8sIHN0YXJ0V2l0aCwgc3dpdGNoTWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgQ09QSUVEX1RJTUVPVVQgPSAxNTAwO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktZG9jLWNvcHlgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9jb3B5LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2NvcHkuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jQ29weUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3B5JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSByZWFkb25seSB0ZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4pIHt9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBjb3BpZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3B5JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwVG8odGltZXIoQ09QSUVEX1RJTUVPVVQpLnBpcGUobWFwVG8oZmFsc2UpLCBzdGFydFdpdGgodHJ1ZSkpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcHkkLm5leHQoKTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgKm5nSWY9XCJ0ZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiXG4gICAgdHVpQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgc2l6ZT1cInNcIlxuICAgIGNsYXNzPVwidC1jb3B5XCJcbiAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuPlxuICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgW2NsYXNzLnQtY29udGVudF9tb3ZlZF09XCJjb3BpZWQkIHwgYXN5bmNcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwidC1pbml0aWFsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGV4dF09XCJ0ZXh0c1swXVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB7eyB0ZXh0c1sxXSB9fVxuICAgIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb3B5L2NvcHkudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBYSxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUU3RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFTNUIsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUE2QyxNQUFvQztRQUFwQyxXQUFNLEdBQU4sTUFBTSxDQUE4QjtRQUZoRSxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU2QyxDQUFDO0lBR3JGLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2xCLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN6RSxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2lIQWRRLG1CQUFtQixrQkFHUixjQUFjO3FHQUh6QixtQkFBbUIsdUNBRmpCLENBQUMsaUJBQWlCLENBQUMsMEJDYmxDLDJmQXVCQTtBREZJO0lBREMsT0FBTztrREFLUDs0RkFWUSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQ2pDOzswQkFJZ0IsTUFBTTsyQkFBQyxjQUFjOzRDQUc5QixPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXBUbywgc3RhcnRXaXRoLCBzd2l0Y2hNYXBUb30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBDT1BJRURfVElNRU9VVCA9IDE1MDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRvYy1jb3B5YCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vY29weS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9jb3B5LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0NvcHlDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29weSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChUVUlfQ09QWV9URVhUUykgcmVhZG9ubHkgdGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+KSB7fVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgY29waWVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29weSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcFRvKHRpbWVyKENPUElFRF9USU1FT1VUKS5waXBlKG1hcFRvKGZhbHNlKSwgc3RhcnRXaXRoKHRydWUpKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3B5JC5uZXh0KCk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgICpuZ0lmPVwidGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgIHR1aUJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgIHNpemU9XCJzXCJcbiAgICBjbGFzcz1cInQtY29weVwiXG4gICAgW3RpdGxlXT1cInRleHRzWzBdXCJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgIFtjbGFzcy50LWNvbnRlbnRfbW92ZWRdPVwiY29waWVkJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInQtaW5pdGlhbFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRleHRdPVwidGV4dHNbMF1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAge3sgdGV4dHNbMV0gfX1cbiAgICA8L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
@@ -15,7 +15,6 @@ import * as i4 from "@angular/common";
15
15
  import * as i5 from "@angular/forms";
16
16
  import * as i6 from "@taiga-ui/cdk";
17
17
  const MIN_COMPONENT_WIDTH = 104;
18
- // @dynamic
19
18
  export class TuiDocDemoComponent {
20
19
  constructor(isMobile, destroy$, renderer, platformId, locationRef, urlSerializer, texts) {
21
20
  this.isMobile = isMobile;
@@ -109,7 +108,7 @@ TuiDocDemoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
109
108
  provide: TuiModeDirective,
110
109
  useExisting: forwardRef(() => TuiDocDemoComponent),
111
110
  },
112
- ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "resizerText", first: true, predicate: ["resizerText"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 .5rem 1rem rgba(0,0,0,.16);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:.75rem;width:1px;background:var(--tui-base-05)}.t-resizer:before{transform:translate(.125rem)}.t-resizer:after{transform:translate(-.1875rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "mode", "direction", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i2.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiSelectDirective, selector: "tui-select" }, { type: i1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1.TuiHintControllerDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintMode", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i6.TuiDragDirective, selector: "[tuiDragStart], [tuiDragContinues], [tuiDragEnd]", outputs: ["tuiDragStart", "tuiDragContinues", "tuiDragEnd"] }], pipes: { "json": i4.JsonPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "resizerText", first: true, predicate: ["resizerText"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 .5rem 1rem rgba(0,0,0,.16);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:.75rem;width:1px;background:var(--tui-base-05)}.t-resizer:before{transform:translate(.125rem)}.t-resizer:after{transform:translate(-.1875rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i2.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiSelectDirective, selector: "tui-select" }, { type: i1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1.TuiHintControllerDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i6.TuiDragDirective, selector: "[tuiDragStart], [tuiDragContinues], [tuiDragEnd]", outputs: ["tuiDragStart", "tuiDragContinues", "tuiDragEnd"] }], pipes: { "json": i4.JsonPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDemoComponent, decorators: [{
114
113
  type: Component,
115
114
  args: [{
@@ -164,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
164
163
  type: HostListener,
165
164
  args: [`window:resize`]
166
165
  }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZGVtby9kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kZW1vL2RlbW8udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBRXJELE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBRWhDLFdBQVc7QUFjWCxNQUFNLE9BQU8sbUJBQW1CO0lBOEI1QixZQUNvQyxRQUFpQixFQUNMLFFBQTJCLEVBQ25DLFFBQW1CLEVB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V0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxrQkFBa0I7NENBbkNiLE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUztnQkFJSCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVM7Z0JBSUgsV0FBVztzQkFEM0IsU0FBUzt1QkFBQyxhQUFhO2dCQVF4QixPQUFPO3NCQUROLEtBQUs7Z0JBSUcsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxXQUFXO2dCQWdEekIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyLCBMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VybFNlcmlhbGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aU1vZGVEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N0YXJ0V2l0aCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0RPQ19ERU1PX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5cbmNvbnN0IE1JTl9DT01QT05FTlRfV0lEVEggPSAxMDQ7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kb2MtZGVtb2AsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2RlbW8udGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vZGVtby5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUdWlNb2RlRGlyZWN0aXZlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpRG9jRGVtb0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChgY29udGVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKGB3cmFwcGVyYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYHJlc2l6ZXJUZXh0YClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZXJUZXh0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIGluaXRpYWxYID0gMDtcbiAgICBwcml2YXRlIHdyYXBwZXJXaWR0aCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgICByZWFkb25seSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICB0ZXN0Rm9ybT86IEZvcm1Hcm91cDtcbiAgICB1cGRhdGVPblZhcmlhbnRzID0gW2BjaGFuZ2VgLCBgYmx1cmAsIGBzdWJtaXRgXTtcbiAgICB1cGRhdGVPbjogJ2NoYW5nZScgfCAnYmx1cicgfCAnc3VibWl0JyA9IGBjaGFuZ2VgO1xuICAgIGV4cGFuZGVkID0gZmFsc2U7XG4gICAgb3BhcXVlID0gdHJ1ZTtcbiAgICBtb2RlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIG1vZGU6IFR1aUJyaWdodG5lc3MgfCBudWxsID0gbnVsbDtcbiAgICByZWFkb25seSBjaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgVHVpQnJpZ2h0bmVzc1tdID0gW2BvbkxpZ2h0YCwgYG9uRGFya2BdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgQEluamVjdChMb2NhdGlvbikgbG9jYXRpb25SZWY6IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFVybFNlcmlhbGl6ZXIpIHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERU1PX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge1xuICAgICAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpO1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZE1vZGUgPSBsb2NhdGlvblJlZi5wYXRoKCkubWF0Y2goL3R1aU1vZGU9KG9uRGFya3xvbkxpZ2h0KS8pO1xuXG4gICAgICAgIGlmIChwYXJzZWRNb2RlICE9PSBudWxsICYmIHBhcnNlZE1vZGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5tb2RlQ29udHJvbC5zZXRWYWx1ZShwYXJzZWRNb2RlWzFdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW9kZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgodGhpcy5tb2RlQ29udHJvbC52YWx1ZSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobW9kZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHVybFNlcmlhbGl6ZXIucGFyc2UobG9jYXRpb25SZWYucGF0aCgpKTtcblxuICAgICAgICAgICAgICAgIHVybFRyZWUucXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnVybFRyZWUucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIHR1aU1vZGU6IG1vZGUsXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGxvY2F0aW9uUmVmLmdvKFN0cmluZyh1cmxUcmVlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSBtb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGB3aW5kb3c6cmVzaXplYClcbiAgICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVyVGV4dENvbnRlbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFJlc2l6ZXJUZXh0Q29udGVudCgpO1xuICAgIH1cblxuICAgIHNldFJlc2l6ZXJUZXh0Q29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQgfHwgIXRoaXMucmVzaXplclRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhZGRpbmdMZWZ0ID0gdGhpcy5pc0Jyb3dzZXJcbiAgICAgICAgICAgID8gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudCkucGFkZGluZ0xlZnRcbiAgICAgICAgICAgIDogYDBgO1xuICAgICAgICBjb25zdCB7b2Zmc2V0V2lkdGh9ID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5yZXNpemVyVGV4dC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gU3RyaW5nKFxuICAgICAgICAgICAgb2Zmc2V0V2lkdGggLSBwYXJzZUludChwYWRkaW5nTGVmdCB8fCBgMGAsIDEwKSAqIDIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25EcmFnU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsWCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgIHRoaXMud3JhcHBlcldpZHRoID0gdGhpcy53cmFwcGVyID8gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggOiAwO1xuICAgIH1cblxuICAgIG9uRHJhZ0NvbnRpbnVlcyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkZWx0YVggPSB0aGlzLmluaXRpYWxYIC0gZXZlbnQuY2xpZW50WDtcblxuICAgICAgICB0aGlzLnJlc2l6ZUNvbnRlbnQoZGVsdGFYKTtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVyVGV4dENvbnRlbnQoKTtcbiAgICB9XG5cbiAgICBvbkRyYWdFbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlcldpZHRoID0gdGhpcy53cmFwcGVyID8gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggOiAwO1xuICAgIH1cblxuICAgIHRvZ2dsZURldGFpbHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICB9XG5cbiAgICB1cGRhdGVPbkNoYW5nZSh1cGRhdGVPbjogJ2NoYW5nZScgfCAnYmx1cicgfCAnc3VibWl0Jyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU9uID0gdXBkYXRlT247XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NvbnRyb2wsIHVwZGF0ZU9ufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRlc3RGb3JtID0gbmV3IEZvcm1Hcm91cCh7dGVzdFZhbHVlOiBjb250cm9sfSwge3VwZGF0ZU9ufSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVDb250ZW50KGRlbHRhOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGB3aWR0aGAsXG4gICAgICAgICAgICB0dWlQeChNYXRoLm1heCh0aGlzLndyYXBwZXJXaWR0aCAtIGRlbHRhLCBNSU5fQ09NUE9ORU5UX1dJRFRIKSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwidC1iZy10b2dnbGVcIlxuICAgIFt0dWlNb2RlXT1cIm51bGxcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcD5cbiAgICAgICAge3sgdGV4dHNbMF0gfX1cbiAgICAgICAgPGFcbiAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgIHR1aU1vZGU9XCJvbkRhcmtcIlxuICAgICAgICAgICAgcm91dGVyTGluaz1cIi9kaXJlY3RpdmVzL21vZGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Y29kZT50dWlNb2RlPC9jb2RlPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNb2JpbGU7IGVsc2UgZGVza3RvcFwiPlxuICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cInNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LW1vZGVcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdHVpSGludENvbnRlbnRdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibW9kZUNvbnRyb2xcIlxuICAgICAgICA+XG4gICAgICAgICAgICB0dWlNb2RlXG4gICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgID48L3R1aS1kYXRhLWxpc3Qtd3JhcHBlcj5cbiAgICAgICAgPC90dWktc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVza3RvcD5cbiAgICAgICAgdHVpTW9kZTpcbiAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICBkZXNjcmliZUlkPVwiZm9ybVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJ0b29sdGlwXCJcbiAgICAgICAgPjwvdHVpLXRvb2x0aXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aUdyb3VwXG4gICAgICAgICAgICBjbGFzcz1cInQtZ3JvdXBcIlxuICAgICAgICAgICAgW2NvbGxhcHNlZF09XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1yYWRpby1ibG9ja1xuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBuYXRpdmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtpdGVtXT1cIm51bGxcIlxuICAgICAgICAgICAgICAgIFtoaWRlUmFkaW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm1vZGVDb250cm9sXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICA8L3R1aS1yYWRpby1ibG9jaz5cbiAgICAgICAgICAgIDx0dWktcmFkaW8tYmxvY2tcbiAgICAgICAgICAgICAgICBpdGVtPVwib25EYXJrXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgbmF0aXZlSWQ9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbaGlkZVJhZGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtb2RlQ29udHJvbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgb25EYXJrXG4gICAgICAgICAgICA8L3R1aS1yYWRpby1ibG9jaz5cbiAgICAgICAgICAgIDx0dWktcmFkaW8tYmxvY2tcbiAgICAgICAgICAgICAgICBpdGVtPVwib25MaWdodFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIG5hdGl2ZUlkPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dWktZ3JvdXBfX2F1dG8td2lkdGgtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2hpZGVSYWRpb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibW9kZUNvbnRyb2xcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIG9uTGlnaHRcbiAgICAgICAgICAgIDwvdHVpLXJhZGlvLWJsb2NrPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDx0dWktY2hlY2tib3gtbGFiZWxlZFxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIGNsYXNzPVwidC1jaGVja2JveFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwib3BhcXVlXCJcbiAgICA+XG4gICAgICAgIHt7IHRleHRzWzFdIH19XG4gICAgPC90dWktY2hlY2tib3gtbGFiZWxlZD5cbjwvZGl2PlxuPGRpdlxuICAgICN3cmFwcGVyXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFtjbGFzcy50LXdyYXBwZXJfZGFya109XCJtb2RlQ29udHJvbC52YWx1ZSA9PT0gJ29uRGFyaydcIlxuICAgIFtjbGFzcy50LXdyYXBwZXJfZ3JheV09XCJtb2RlQ29udHJvbC52YWx1ZSA9PT0gJ29uTGlnaHQnXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX3RyYW5zcGFyZW50XT1cIiFvcGFxdWVcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgI2NvbnRlbnRcbiAgICAgICAgaWQ9XCJkZW1vQ29udGVudFwiXG4gICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICA+XG4gICAgICAgIDxmb3JtXG4gICAgICAgICAgICAqbmdJZj1cInRlc3RGb3JtXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1mb3JtXCJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwidGVzdEZvcm1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpY29uUmlnaHRdPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbHMoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbMl0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uPlxuICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cInR1aUljb25DaGV2cm9uRG93blwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9yb3RhdGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWV4cGFuZFwiXG4gICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdHVpRXhwYW5kQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPHByZSBjbGFzcz1cInQtdmFsdWVcIj5Gb3JtIGRhdGE6IHt7IHRlc3RGb3JtLnZhbHVlIHwganNvbiB9fTwvcHJlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZvcm0tY29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ1cGRhdGVPblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlT25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlT25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidXBkYXRlT25WYXJpYW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLWRhdGEtbGlzdC13cmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0dWktZ3JvdXBfX2F1dG8td2lkdGgtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWV4cGFuZD5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJ0LXJlc2l6ZXJcIlxuICAgICAgICAodHVpRHJhZ1N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxuICAgICAgICAodHVpRHJhZ0NvbnRpbnVlcyk9XCJvbkRyYWdDb250aW51ZXMoJGV2ZW50KVwiXG4gICAgICAgICh0dWlEcmFnRW5kKT1cIm9uRHJhZ0VuZCgpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjcmVzaXplclRleHRcbiAgICAgICAgICAgIGNsYXNzPVwidC1yZXNpemVyLXRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZGVtby9kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kZW1vL2RlbW8udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBRXJELE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBZWhDLE1BQU0sT0FBTyxtQkFBbUI7SUE4QjVCLFlBQ29DLFFBQWlCLEVBQ0wsUUFBMkIsRUFDbkMsUUFBbUIsRUFDbEMsVUFBbUMs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bEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGtCQUFrQjs0Q0FuQ2IsT0FBTztzQkFEdkIsU0FBUzt1QkFBQyxTQUFTO2dCQUlILE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUztnQkFJSCxXQUFXO3NCQUQzQixTQUFTO3VCQUFDLGFBQWE7Z0JBUXhCLE9BQU87c0JBRE4sS0FBSztnQkFJRyxRQUFRO3NCQURoQixZQUFZO3VCQUFDLFdBQVc7Z0JBZ0R6QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNQbGF0Zm9ybUJyb3dzZXIsIExvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VXJsU2VyaWFsaXplcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgVHVpRGVzdHJveVNlcnZpY2UsIHR1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpTW9kZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3RhcnRXaXRoLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0RFTU9fVEVYVFN9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcblxuY29uc3QgTUlOX0NPTVBPTkVOVF9XSURUSCA9IDEwNDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktZG9jLWRlbW9gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9kZW1vLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2RlbW8uc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURvY0RlbW9Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoYGNvbnRlbnRgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGVudD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgd3JhcHBlcmApXG4gICAgcHJpdmF0ZSByZWFkb25seSB3cmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKGByZXNpemVyVGV4dGApXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVyVGV4dD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Jyb3dzZXI6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBpbml0aWFsWCA9IDA7XG4gICAgcHJpdmF0ZSB3cmFwcGVyV2lkdGggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB8IG51bGwgPSBudWxsO1xuXG4gICAgdGVzdEZvcm0/OiBGb3JtR3JvdXA7XG4gICAgdXBkYXRlT25WYXJpYW50cyA9IFtgY2hhbmdlYCwgYGJsdXJgLCBgc3VibWl0YF07XG4gICAgdXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcgPSBgY2hhbmdlYDtcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xuICAgIG9wYXF1ZSA9IHRydWU7XG4gICAgbW9kZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCA9IG51bGw7XG4gICAgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aUJyaWdodG5lc3NbXSA9IFtgb25MaWdodGAsIGBvbkRhcmtgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoTG9jYXRpb24pIGxvY2F0aW9uUmVmOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChVcmxTZXJpYWxpemVyKSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfREVNT19URVhUUykgcmVhZG9ubHkgdGV4dHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKTtcblxuICAgICAgICBjb25zdCBwYXJzZWRNb2RlID0gbG9jYXRpb25SZWYucGF0aCgpLm1hdGNoKC90dWlNb2RlPShvbkRhcmt8b25MaWdodCkvKTtcblxuICAgICAgICBpZiAocGFyc2VkTW9kZSAhPT0gbnVsbCAmJiBwYXJzZWRNb2RlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMubW9kZUNvbnRyb2wuc2V0VmFsdWUocGFyc2VkTW9kZVsxXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGVDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMubW9kZUNvbnRyb2wudmFsdWUpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1vZGUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybFRyZWUgPSB1cmxTZXJpYWxpemVyLnBhcnNlKGxvY2F0aW9uUmVmLnBhdGgoKSk7XG5cbiAgICAgICAgICAgICAgICB1cmxUcmVlLnF1ZXJ5UGFyYW1zID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi51cmxUcmVlLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICB0dWlNb2RlOiBtb2RlLFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBsb2NhdGlvblJlZi5nbyhTdHJpbmcodXJsVHJlZSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gbW9kZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgd2luZG93OnJlc2l6ZWApXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0UmVzaXplclRleHRDb250ZW50KCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVyVGV4dENvbnRlbnQoKTtcbiAgICB9XG5cbiAgICBzZXRSZXNpemVyVGV4dENvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZW50IHx8ICF0aGlzLnJlc2l6ZXJUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYWRkaW5nTGVmdCA9IHRoaXMuaXNCcm93c2VyXG4gICAgICAgICAgICA/IGdldENvbXB1dGVkU3R5bGUodGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQpLnBhZGRpbmdMZWZ0XG4gICAgICAgICAgICA6IGAwYDtcbiAgICAgICAgY29uc3Qge29mZnNldFdpZHRofSA9IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMucmVzaXplclRleHQubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IFN0cmluZyhcbiAgICAgICAgICAgIG9mZnNldFdpZHRoIC0gcGFyc2VJbnQocGFkZGluZ0xlZnQgfHwgYDBgLCAxMCkgKiAyLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbFggPSBldmVudC5jbGllbnRYO1xuICAgICAgICB0aGlzLndyYXBwZXJXaWR0aCA9IHRoaXMud3JhcHBlciA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICBvbkRyYWdDb250aW51ZXMoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVsdGFYID0gdGhpcy5pbml0aWFsWCAtIGV2ZW50LmNsaWVudFg7XG5cbiAgICAgICAgdGhpcy5yZXNpemVDb250ZW50KGRlbHRhWCk7XG4gICAgICAgIHRoaXMuc2V0UmVzaXplclRleHRDb250ZW50KCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJXaWR0aCA9IHRoaXMud3JhcHBlciA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICB0b2dnbGVEZXRhaWxzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgdXBkYXRlT25DaGFuZ2UodXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVPbiA9IHVwZGF0ZU9uO1xuICAgICAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjb250cm9sLCB1cGRhdGVPbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghY29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50ZXN0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe3Rlc3RWYWx1ZTogY29udHJvbH0sIHt1cGRhdGVPbn0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplQ29udGVudChkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy53cmFwcGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBgd2lkdGhgLFxuICAgICAgICAgICAgdHVpUHgoTWF0aC5tYXgodGhpcy53cmFwcGVyV2lkdGggLSBkZWx0YSwgTUlOX0NPTVBPTkVOVF9XSURUSCkpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtYmctdG9nZ2xlXCJcbiAgICBbdHVpTW9kZV09XCJudWxsXCJcbj5cbiAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXA+XG4gICAgICAgIHt7IHRleHRzWzBdIH19XG4gICAgICAgIDxhXG4gICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICB0dWlNb2RlPVwib25EYXJrXCJcbiAgICAgICAgICAgIHJvdXRlckxpbms9XCIvZGlyZWN0aXZlcy9tb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGNvZGU+dHVpTW9kZTwvY29kZT5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlOyBlbHNlIGRlc2t0b3BcIj5cbiAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1tb2RlXCJcbiAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgICAgICAgICAgW3R1aUhpbnRDb250ZW50XT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm1vZGVDb250cm9sXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgdHVpTW9kZVxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICA+PC90dWktZGF0YS1saXN0LXdyYXBwZXI+XG4gICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2Rlc2t0b3A+XG4gICAgICAgIHR1aU1vZGU6XG4gICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgZGVzY3JpYmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidG9vbHRpcFwiXG4gICAgICAgID48L3R1aS10b29sdGlwPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgY2xhc3M9XCJ0LWdyb3VwXCJcbiAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktcmFkaW8tYmxvY2tcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgbmF0aXZlSWQ9XCJmb3JtXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICBbaXRlbV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICBbaGlkZVJhZGlvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJtb2RlQ29udHJvbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgPC90dWktcmFkaW8tYmxvY2s+XG4gICAgICAgICAgICA8dHVpLXJhZGlvLWJsb2NrXG4gICAgICAgICAgICAgICAgaXRlbT1cIm9uRGFya1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIG5hdGl2ZUlkPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0dWktZ3JvdXBfX2F1dG8td2lkdGgtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2hpZGVSYWRpb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibW9kZUNvbnRyb2xcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIG9uRGFya1xuICAgICAgICAgICAgPC90dWktcmFkaW8tYmxvY2s+XG4gICAgICAgICAgICA8dHVpLXJhZGlvLWJsb2NrXG4gICAgICAgICAgICAgICAgaXRlbT1cIm9uTGlnaHRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBuYXRpdmVJZD1cImZvcm1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtoaWRlUmFkaW9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm1vZGVDb250cm9sXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBvbkxpZ2h0XG4gICAgICAgICAgICA8L3R1aS1yYWRpby1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8dHVpLWNoZWNrYm94LWxhYmVsZWRcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cInQtY2hlY2tib3hcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm9wYXF1ZVwiXG4gICAgPlxuICAgICAgICB7eyB0ZXh0c1sxXSB9fVxuICAgIDwvdHVpLWNoZWNrYm94LWxhYmVsZWQ+XG48L2Rpdj5cbjxkaXZcbiAgICAjd3JhcHBlclxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX2RhcmtdPVwibW9kZUNvbnRyb2wudmFsdWUgPT09ICdvbkRhcmsnXCJcbiAgICBbY2xhc3MudC13cmFwcGVyX2dyYXldPVwibW9kZUNvbnRyb2wudmFsdWUgPT09ICdvbkxpZ2h0J1wiXG4gICAgW2NsYXNzLnQtd3JhcHBlcl90cmFuc3BhcmVudF09XCIhb3BhcXVlXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICNjb250ZW50XG4gICAgICAgIGlkPVwiZGVtb0NvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgPlxuICAgICAgICA8Zm9ybVxuICAgICAgICAgICAgKm5nSWY9XCJ0ZXN0Rm9ybVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZm9ybVwiXG4gICAgICAgICAgICBbZm9ybUdyb3VwXT1cInRlc3RGb3JtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaWNvblJpZ2h0XT1cImljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXRhaWxzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzJdIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWljb25fcm90YXRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8dHVpLWV4cGFuZFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1leHBhbmRcIlxuICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9XCJ0LXZhbHVlXCI+Rm9ybSBkYXRhOiB7eyB0ZXN0Rm9ybS52YWx1ZSB8IGpzb24gfX08L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mb3JtLWNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidXBkYXRlT25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZU9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdHVpRGF0YUxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cInVwZGF0ZU9uVmFyaWFudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS1kYXRhLWxpc3Qtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1leHBhbmQ+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIGNsYXNzPVwidC1yZXNpemVyXCJcbiAgICAgICAgKHR1aURyYWdTdGFydCk9XCJvbkRyYWdTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKHR1aURyYWdDb250aW51ZXMpPVwib25EcmFnQ29udGludWVzKCRldmVudClcIlxuICAgICAgICAodHVpRHJhZ0VuZCk9XCJvbkRyYWdFbmQoKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI3Jlc2l6ZXJUZXh0XG4gICAgICAgICAgICBjbGFzcz1cInQtcmVzaXplci10ZXh0XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -2,7 +2,7 @@ import { Location } from '@angular/common';
2
2
  import { Directive, EventEmitter, Inject, Input, Output, TemplateRef, } from '@angular/core';
3
3
  import { ActivatedRoute, UrlSerializer } from '@angular/router';
4
4
  import { BehaviorSubject, Subject } from 'rxjs';
5
- import { coerceValue } from '../../utils/coerce-value';
5
+ import { tuiCoerceValue } from '../../utils/coerce-value';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "@angular/router";
@@ -65,7 +65,7 @@ export class TuiDocDocumentationPropertyConnectorDirective {
65
65
  }
66
66
  const value = !!propertyValueWithSuffix && this.documentationPropertyValues
67
67
  ? this.documentationPropertyValues[propertyValueWithSuffix]
68
- : coerceValue(propertyValue);
68
+ : tuiCoerceValue(propertyValue);
69
69
  this.onValueChange(value);
70
70
  }
71
71
  setQueryParam(value) {
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
115
115
  }], documentationPropertyValueChange: [{
116
116
  type: Output
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBVSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFFckQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFJOUIsNENBQTRDO0FBSzVDLE1BQU0sT0FBTyw2Q0FBNkM7SUE0QnRELFlBQ2tDLFFBQThDLEVBQ3pDLFdBQXFCLEVBQ2YsY0FBOEIsRUFDL0IsYUFBNEI7UUFIdEMsYUFBUSxHQUFSLFFBQVEsQ0FBc0M7UUFDekMsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUE1QnhFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUcvQiw4QkFBeUIsR0FBOEIsSUFBSSxDQUFDO1FBRzVELDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQU0vQixvQ0FBK0IsR0FBRyxLQUFLLENBQUM7UUFHeEMsZ0NBQTJCLEdBQXdCLElBQUksQ0FBQztRQUcvQyxxQ0FBZ0Ms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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixHQUFHLE1BQU0sQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxtQ0FDVCxJQUFJLENBQUMsV0FBVyxLQUNuQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsR0FDNUIsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzJJQWhIUSw2Q0FBNkMsa0JBNkIxQyxXQUFXLGFBQ1gsUUFBUSxhQUNSLGNBQWMsYUFDZCxhQUFhOytIQWhDaEIsNkNBQTZDOzRGQUE3Qyw2Q0FBNkM7a0JBSnpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLHVCQUF1QjtpQkFDcEM7OzBCQThCUSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsYUFBYTs0Q0E1QnpCLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLDBCQUEwQjtzQkFEekIsS0FBSztnQkFJTiwrQkFBK0I7c0JBRDlCLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUlHLGdDQUFnQztzQkFEeEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgVXJsU2VyaWFsaXplcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtjb2VyY2VWYWx1ZX0gZnJvbSAnLi4vLi4vdXRpbHMvY29lcmNlLXZhbHVlJztcblxuY29uc3QgU0VSSUFMSVpFRF9TVUZGSVggPSBgJGA7XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgPSAnaW5wdXQnIHwgJ291dHB1dCcgfCAnaW5wdXQtb3V0cHV0JyB8IG51bGw7XG5cbi8vIEBiYWQgVE9ETzogcmVmYWN0b3Igb3V0cHV0IGFuZCB2YWx1ZSBzeW5jXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYG5nLXRlbXBsYXRlW2RvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWVdYCxcbiAgICBleHBvcnRBczogYGRvY3VtZW50YXRpb25Qcm9wZXJ0eWAsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxUPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWUgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgZG9jdW1lbnRhdGlvblByb3BlcnR5TW9kZTogRG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUhOiBUO1xuXG4gICAgQElucHV0KClcbiAgICBkb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlczogcmVhZG9ubHkgVFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIHJlYWRvbmx5IGNoYW5nZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJlYWRvbmx5IGVtaXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUZW1wbGF0ZVJlZikgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgICAgICAgQEluamVjdChMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBASW5qZWN0KFVybFNlcmlhbGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VyaWFsaXplcjogVXJsU2VyaWFsaXplcixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJzZVBhcmFtcyh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICB9XG5cbiAgICBnZXQgYXR0ck5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgYGlucHV0YDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX1dYDtcbiAgICAgICAgICAgIGNhc2UgYG91dHB1dGA6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWV9KWA7XG4gICAgICAgICAgICBjYXNlIGBpbnB1dC1vdXRwdXRgOlxuICAgICAgICAgICAgICAgIHJldHVybiBgWygke3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX0pXWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzO1xuICAgIH1cblxuICAgIGdldCBzaG91bGRTaG93VmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlNb2RlICE9PSBgb3V0cHV0YDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZW1pdEV2ZW50KGV2ZW50OiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIC8vIEZvciBtb3JlIGNvbnZlbmllbnQgZGVidWdnaW5nXG4gICAgICAgIGNvbnNvbGUuaW5mbyh0aGlzLmF0dHJOYW1lLCBldmVudCk7XG5cbiAgICAgICAgdGhpcy5lbWl0cyQubmV4dCh0aGlzLmVtaXRzJC52YWx1ZSArIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VQYXJhbXMocGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gcGFyYW1zW3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZV07XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWVXaXRoU3VmZml4OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgPVxuICAgICAgICAgICAgcGFyYW1zW2Ake3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX0ke1NFUklBTElaRURfU1VGRklYfWBdO1xuXG4gICAgICAgIGlmICghcHJvcGVydHlWYWx1ZSAmJiAhcHJvcGVydHlWYWx1ZVdpdGhTdWZmaXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgICEhcHJvcGVydHlWYWx1ZVdpdGhTdWZmaXggJiYgdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcbiAgICAgICAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzW3Byb3BlcnR5VmFsdWVXaXRoU3VmZml4IGFzIG51bWJlcl1cbiAgICAgICAgICAgICAgICA6IGNvZXJjZVZhbHVlKHByb3BlcnR5VmFsdWUpO1xuXG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSh2YWx1ZSBhcyBUKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFF1ZXJ5UGFyYW0odmFsdWU6IFQgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0cmVlID0gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKTtcblxuICAgICAgICBjb25zdCBpc1ZhbHVlQXZhaWxhYmxlQnlLZXkgPSB2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdDtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRWYWx1ZSA9XG4gICAgICAgICAgICBpc1ZhbHVlQXZhaWxhYmxlQnlLZXkgJiYgdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcbiAgICAgICAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzLmluZGV4T2YodmFsdWUgYXMgVClcbiAgICAgICAgICAgICAgICA6IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IGlzVmFsdWVBdmFpbGFibGVCeUtleSA/IFNFUklBTElaRURfU1VGRklYIDogYGA7XG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lICsgc3VmZml4O1xuXG4gICAgICAgIHRyZWUucXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAuLi50cmVlLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgW3Byb3BOYW1lXTogY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxvY2F0aW9uUmVmLmdvKFN0cmluZyh0cmVlKSk7XG4gICAgfVxufVxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBVSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFFeEQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFJOUIsNENBQTRDO0FBSzVDLE1BQU0sT0FBTyw2Q0FBNkM7SUE0QnRELFlBQ2tDLFFBQThDLEVBQ3pDLFdBQXFCLEVBQ2YsY0FBOEIsRUFDL0IsYUFBNEI7UUFIdEMsYUFBUSxHQUFSLFFBQVEsQ0FBc0M7UUFDekMsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUE1QnhFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUcvQiw4QkFBeUIsR0FBOEIsSUFBSSxDQUFDO1FBRzVELDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQU0vQixvQ0FBK0IsR0FBRyxLQUFLLENBQUM7UUFHeEMsZ0NBQTJCLEdBQXdCLElBQUksQ0FBQztRQUcvQyxxQ0FBZ0Ms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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixHQUFHLE1BQU0sQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxtQ0FDVCxJQUFJLENBQUMsV0FBVyxLQUNuQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsR0FDNUIsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzJJQWhIUSw2Q0FBNkMsa0JBNkIxQyxXQUFXLGFBQ1gsUUFBUSxhQUNSLGNBQWMsYUFDZCxhQUFhOytIQWhDaEIsNkNBQTZDOzRGQUE3Qyw2Q0FBNkM7a0JBSnpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLHVCQUF1QjtpQkFDcEM7OzBCQThCUSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsYUFBYTs0Q0E1QnpCLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLDBCQUEwQjtzQkFEekIsS0FBSztnQkFJTiwrQkFBK0I7c0JBRDlCLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUlHLGdDQUFnQztzQkFEeEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgVXJsU2VyaWFsaXplcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHt0dWlDb2VyY2VWYWx1ZX0gZnJvbSAnLi4vLi4vdXRpbHMvY29lcmNlLXZhbHVlJztcblxuY29uc3QgU0VSSUFMSVpFRF9TVUZGSVggPSBgJGA7XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgPSAnaW5wdXQnIHwgJ291dHB1dCcgfCAnaW5wdXQtb3V0cHV0JyB8IG51bGw7XG5cbi8vIEBiYWQgVE9ETzogcmVmYWN0b3Igb3V0cHV0IGFuZCB2YWx1ZSBzeW5jXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYG5nLXRlbXBsYXRlW2RvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWVdYCxcbiAgICBleHBvcnRBczogYGRvY3VtZW50YXRpb25Qcm9wZXJ0eWAsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxUPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWUgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgZG9jdW1lbnRhdGlvblByb3BlcnR5TW9kZTogRG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUhOiBUO1xuXG4gICAgQElucHV0KClcbiAgICBkb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlczogcmVhZG9ubHkgVFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIHJlYWRvbmx5IGNoYW5nZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJlYWRvbmx5IGVtaXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUZW1wbGF0ZVJlZikgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgICAgICAgQEluamVjdChMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBASW5qZWN0KFVybFNlcmlhbGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VyaWFsaXplcjogVXJsU2VyaWFsaXplcixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJzZVBhcmFtcyh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICB9XG5cbiAgICBnZXQgYXR0ck5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgYGlucHV0YDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX1dYDtcbiAgICAgICAgICAgIGNhc2UgYG91dHB1dGA6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWV9KWA7XG4gICAgICAgICAgICBjYXNlIGBpbnB1dC1vdXRwdXRgOlxuICAgICAgICAgICAgICAgIHJldHVybiBgWygke3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX0pXWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzO1xuICAgIH1cblxuICAgIGdldCBzaG91bGRTaG93VmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlNb2RlICE9PSBgb3V0cHV0YDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZW1pdEV2ZW50KGV2ZW50OiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIC8vIEZvciBtb3JlIGNvbnZlbmllbnQgZGVidWdnaW5nXG4gICAgICAgIGNvbnNvbGUuaW5mbyh0aGlzLmF0dHJOYW1lLCBldmVudCk7XG5cbiAgICAgICAgdGhpcy5lbWl0cyQubmV4dCh0aGlzLmVtaXRzJC52YWx1ZSArIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VQYXJhbXMocGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gcGFyYW1zW3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZV07XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWVXaXRoU3VmZml4OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgPVxuICAgICAgICAgICAgcGFyYW1zW2Ake3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX0ke1NFUklBTElaRURfU1VGRklYfWBdO1xuXG4gICAgICAgIGlmICghcHJvcGVydHlWYWx1ZSAmJiAhcHJvcGVydHlWYWx1ZVdpdGhTdWZmaXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgICEhcHJvcGVydHlWYWx1ZVdpdGhTdWZmaXggJiYgdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcbiAgICAgICAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzW3Byb3BlcnR5VmFsdWVXaXRoU3VmZml4IGFzIG51bWJlcl1cbiAgICAgICAgICAgICAgICA6IHR1aUNvZXJjZVZhbHVlKHByb3BlcnR5VmFsdWUpO1xuXG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSh2YWx1ZSBhcyBUKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFF1ZXJ5UGFyYW0odmFsdWU6IFQgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0cmVlID0gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKTtcblxuICAgICAgICBjb25zdCBpc1ZhbHVlQXZhaWxhYmxlQnlLZXkgPSB2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdDtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRWYWx1ZSA9XG4gICAgICAgICAgICBpc1ZhbHVlQXZhaWxhYmxlQnlLZXkgJiYgdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcbiAgICAgICAgICAgICAgICA/IHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzLmluZGV4T2YodmFsdWUgYXMgVClcbiAgICAgICAgICAgICAgICA6IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IGlzVmFsdWVBdmFpbGFibGVCeUtleSA/IFNFUklBTElaRURfU1VGRklYIDogYGA7XG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lICsgc3VmZml4O1xuXG4gICAgICAgIHRyZWUucXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgICAuLi50cmVlLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgW3Byb3BOYW1lXTogY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxvY2F0aW9uUmVmLmdvKFN0cmluZyh0cmVlKSk7XG4gICAgfVxufVxuIl19