@taiga-ui/kit 3.12.1 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +11 -5
  4. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -0
  8. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -0
  16. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -0
  18. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-slider.umd.js +79 -51
  20. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -2
  22. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -1
  24. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +578 -0
  26. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -0
  27. package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
  28. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-tag.umd.js +15 -4
  30. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-text-area.umd.js +27 -9
  32. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-tiles.umd.js +3 -2
  34. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  36. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -6
  38. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +404 -0
  40. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -0
  41. package/bundles/taiga-ui-kit-pipes.umd.js +10 -4
  42. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  43. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
  44. package/components/index.d.ts +1 -0
  45. package/components/input-count/input-count.component.d.ts +2 -0
  46. package/components/input-number/input-number.component.d.ts +2 -0
  47. package/components/input-slider/input-slider.component.d.ts +11 -6
  48. package/components/input-slider/input-slider.module.d.ts +2 -1
  49. package/components/input-tag/input-tag.component.d.ts +1 -0
  50. package/components/input-time/input-time.component.d.ts +1 -0
  51. package/components/items-with-more/index.d.ts +5 -0
  52. package/components/items-with-more/items-with-more.component.d.ts +14 -0
  53. package/components/items-with-more/items-with-more.directive.d.ts +8 -0
  54. package/components/items-with-more/items-with-more.module.d.ts +12 -0
  55. package/components/items-with-more/items-with-more.service.d.ts +17 -0
  56. package/components/items-with-more/more.directive.d.ts +7 -0
  57. package/components/items-with-more/package.json +10 -0
  58. package/components/items-with-more/taiga-ui-kit-components-items-with-more.d.ts +5 -0
  59. package/components/tag/tag.component.d.ts +5 -2
  60. package/components/text-area/text-area.component.d.ts +4 -1
  61. package/components/text-area/text-area.module.d.ts +2 -1
  62. package/components/tiles/tile-handle.directive.d.ts +1 -1
  63. package/esm2015/components/avatar/avatar.component.js +1 -1
  64. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +13 -7
  65. package/esm2015/components/files/file/file.component.js +1 -1
  66. package/esm2015/components/index.js +2 -1
  67. package/esm2015/components/input-count/input-count.component.js +3 -1
  68. package/esm2015/components/input-date/input-date.component.js +2 -2
  69. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  70. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  71. package/esm2015/components/input-number/input-number.component.js +3 -1
  72. package/esm2015/components/input-phone-international/input-phone-international.component.js +5 -1
  73. package/esm2015/components/input-slider/input-slider.component.js +36 -19
  74. package/esm2015/components/input-slider/input-slider.module.js +6 -2
  75. package/esm2015/components/input-tag/input-tag.component.js +6 -3
  76. package/esm2015/components/input-time/input-time.component.js +3 -2
  77. package/esm2015/components/items-with-more/index.js +6 -0
  78. package/esm2015/components/items-with-more/items-with-more.component.js +70 -0
  79. package/esm2015/components/items-with-more/items-with-more.directive.js +30 -0
  80. package/esm2015/components/items-with-more/items-with-more.module.js +36 -0
  81. package/esm2015/components/items-with-more/items-with-more.service.js +66 -0
  82. package/esm2015/components/items-with-more/more.directive.js +16 -0
  83. package/esm2015/components/items-with-more/taiga-ui-kit-components-items-with-more.js +5 -0
  84. package/esm2015/components/push/push.component.js +1 -1
  85. package/esm2015/components/tag/tag.component.js +13 -6
  86. package/esm2015/components/text-area/text-area.component.js +13 -6
  87. package/esm2015/components/text-area/text-area.module.js +6 -2
  88. package/esm2015/components/tiles/tile-handle.directive.js +5 -3
  89. package/esm2015/directives/project-class/project-class.directive.js +2 -7
  90. package/esm2015/pipes/index.js +2 -1
  91. package/esm2015/pipes/sort-countries/index.js +3 -0
  92. package/esm2015/pipes/sort-countries/sort-countries.module.js +16 -0
  93. package/esm2015/pipes/sort-countries/sort-countries.pipe.js +25 -0
  94. package/esm2015/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.js +5 -0
  95. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  96. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  97. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +12 -6
  98. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  99. package/fesm2015/taiga-ui-kit-components-files.js +1 -1
  100. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  101. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -0
  102. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  103. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  104. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  105. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  106. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  107. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  108. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  109. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -0
  110. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  111. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +4 -0
  112. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  113. package/fesm2015/taiga-ui-kit-components-input-slider.js +39 -19
  114. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  115. package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -2
  116. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  117. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -1
  118. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  119. package/fesm2015/taiga-ui-kit-components-items-with-more.js +203 -0
  120. package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -0
  121. package/fesm2015/taiga-ui-kit-components-push.js +1 -1
  122. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  123. package/fesm2015/taiga-ui-kit-components-tag.js +12 -5
  124. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  125. package/fesm2015/taiga-ui-kit-components-text-area.js +17 -6
  126. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  127. package/fesm2015/taiga-ui-kit-components-tiles.js +4 -2
  128. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
  129. package/fesm2015/taiga-ui-kit-components.js +1 -0
  130. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  131. package/fesm2015/taiga-ui-kit-directives-project-class.js +1 -6
  132. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  133. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js +45 -0
  134. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js.map +1 -0
  135. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  136. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  137. package/package.json +4 -4
  138. package/pipes/index.d.ts +1 -0
  139. package/pipes/sort-countries/index.d.ts +2 -0
  140. package/pipes/sort-countries/package.json +10 -0
  141. package/pipes/sort-countries/sort-countries.module.d.ts +7 -0
  142. package/pipes/sort-countries/sort-countries.pipe.d.ts +11 -0
  143. package/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.d.ts +5 -0
@@ -0,0 +1,14 @@
1
+ import { QueryList, TemplateRef } from '@angular/core';
2
+ import { TuiContextWithImplicit } from '@taiga-ui/cdk';
3
+ import { Observable } from 'rxjs';
4
+ import { TuiItemsWithMoreDirective } from './items-with-more.directive';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TuiItemsWithMoreComponent {
7
+ readonly directive: TuiItemsWithMoreDirective;
8
+ readonly lastVisibleIndex$: Observable<number>;
9
+ readonly items: QueryList<TemplateRef<unknown>>;
10
+ readonly more?: TemplateRef<TuiContextWithImplicit<number>>;
11
+ constructor(directive: TuiItemsWithMoreDirective, lastVisibleIndex$: Observable<number>);
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemsWithMoreComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiItemsWithMoreComponent, "tui-items-with-more", never, {}, {}, ["more", "items"], never>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import { AbstractTuiController } from '@taiga-ui/cdk';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiItemsWithMoreDirective extends AbstractTuiController {
4
+ itemsLimit: number;
5
+ required: number;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemsWithMoreDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiItemsWithMoreDirective, "tui-items-with-more", never, { "itemsLimit": "itemsLimit"; "required": "required"; }, {}, never>;
8
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./items-with-more.component";
3
+ import * as i2 from "./items-with-more.directive";
4
+ import * as i3 from "./more.directive";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@taiga-ui/cdk";
7
+ import * as i6 from "@taiga-ui/kit/directives";
8
+ export declare class TuiItemsWithMoreModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemsWithMoreModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiItemsWithMoreModule, [typeof i1.TuiItemsWithMoreComponent, typeof i2.TuiItemsWithMoreDirective, typeof i3.TuiMoreDirective], [typeof i4.CommonModule, typeof i5.TuiItemModule, typeof i5.TuiLetModule, typeof i6.TuiProjectClassModule], [typeof i1.TuiItemsWithMoreComponent, typeof i2.TuiItemsWithMoreDirective, typeof i3.TuiMoreDirective, typeof i5.TuiItemDirective]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiItemsWithMoreModule>;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { ElementRef, NgZone } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { TuiItemsWithMoreDirective } from './items-with-more.directive';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiItemsWithMoreService extends Observable<number> {
6
+ private readonly ngZone;
7
+ private readonly elementRef;
8
+ private readonly mutation$;
9
+ private readonly resize$;
10
+ private readonly directive;
11
+ readonly stream$: Observable<number>;
12
+ constructor(ngZone: NgZone, elementRef: ElementRef<HTMLElement>, mutation$: Observable<unknown>, resize$: Observable<unknown>, directive: TuiItemsWithMoreDirective);
13
+ private getOverflowIndex;
14
+ private get max();
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemsWithMoreService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiItemsWithMoreService>;
17
+ }
@@ -0,0 +1,7 @@
1
+ import { TuiContextWithImplicit } from '@taiga-ui/cdk';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiMoreDirective {
4
+ static ngTemplateContextGuard(_dir: TuiMoreDirective, _ctx: unknown): _ctx is TuiContextWithImplicit<number>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiMoreDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiMoreDirective, "[tuiMore]", never, {}, {}, never>;
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-kit-components-items-with-more.umd.js",
3
+ "module": "../../fesm2015/taiga-ui-kit-components-items-with-more.js",
4
+ "es2015": "../../fesm2015/taiga-ui-kit-components-items-with-more.js",
5
+ "esm2015": "../../esm2015/components/items-with-more/taiga-ui-kit-components-items-with-more.js",
6
+ "fesm2015": "../../fesm2015/taiga-ui-kit-components-items-with-more.js",
7
+ "typings": "taiga-ui-kit-components-items-with-more.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/kit/components/items-with-more"
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/kit/components/items-with-more" />
5
+ export * from './index';
@@ -1,5 +1,6 @@
1
1
  import { ElementRef, EventEmitter } from '@angular/core';
2
- import { TuiBrightness, TuiSizeL, TuiSizeS, TuiSizeXS } from '@taiga-ui/core';
2
+ import { TuiContextWithImplicit } from '@taiga-ui/cdk';
3
+ import { TuiBrightness, TuiSizeL, TuiSizeS, TuiSizeXS, TuiTextfieldController } from '@taiga-ui/core';
3
4
  import { TuiStatus } from '@taiga-ui/kit/types';
4
5
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
6
  import { Observable } from 'rxjs';
@@ -9,6 +10,7 @@ export declare class TuiTagComponent {
9
10
  private readonly elementRef;
10
11
  readonly mode$: Observable<TuiBrightness | null>;
11
12
  private readonly options;
13
+ readonly controller: TuiTextfieldController;
12
14
  value: string;
13
15
  editable: boolean;
14
16
  separator: RegExp | string;
@@ -25,11 +27,12 @@ export declare class TuiTagComponent {
25
27
  editing: boolean;
26
28
  editedText: string | null;
27
29
  set input(input: ElementRef<HTMLInputElement>);
28
- constructor(elementRef: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, options: TuiTagOptions);
30
+ constructor(elementRef: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, options: TuiTagOptions, controller: TuiTextfieldController);
29
31
  get backgroundColor(): string | null;
30
32
  get canRemove(): boolean;
31
33
  get displayText(): string;
32
34
  get loaderSize(): TuiSizeXS;
35
+ get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
33
36
  get hasIcon(): boolean;
34
37
  edit(event: Event): void;
35
38
  remove(event: Event): void;
@@ -1,7 +1,8 @@
1
1
  import { ChangeDetectorRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
- import { AbstractTuiControl, TuiFocusableElementAccessor } from '@taiga-ui/cdk';
3
+ import { AbstractTuiControl, TuiContextWithImplicit, TuiFocusableElementAccessor } from '@taiga-ui/cdk';
4
4
  import { TuiBrightness, TuiHintOptionsDirective, TuiSizeL, TuiSizeS, TuiTextfieldController } from '@taiga-ui/core';
5
+ import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
6
  import { Observable } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare const DEFAULT_ROWS = 20;
@@ -29,6 +30,7 @@ export declare class TuiTextAreaComponent extends AbstractTuiControl<string> imp
29
30
  get hasValue(): boolean;
30
31
  get hasCounter(): boolean;
31
32
  get hasPlaceholder(): boolean;
33
+ get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
32
34
  get hasExampleText(): boolean;
33
35
  get computeMaxHeight(): number | null;
34
36
  get placeholderRaised(): boolean;
@@ -39,6 +41,7 @@ export declare class TuiTextAreaComponent extends AbstractTuiControl<string> imp
39
41
  onMouseDown(event: MouseEvent): void;
40
42
  protected getFallbackValue(): string;
41
43
  private get lineHeight();
44
+ private get placeholderRaisable();
42
45
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaComponent, [{ optional: true; self: true; }, null, null, null, null, null, { optional: true; }]>;
43
46
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextAreaComponent, "tui-text-area", never, { "rows": "rows"; "maxLength": "maxLength"; "expandable": "expandable"; }, {}, ["textfield"], ["*", "textarea"]>;
44
47
  }
@@ -5,8 +5,9 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/forms";
6
6
  import * as i5 from "@taiga-ui/cdk";
7
7
  import * as i6 from "@taiga-ui/core";
8
+ import * as i7 from "@tinkoff/ng-polymorpheus";
8
9
  export declare class TuiTextAreaModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextAreaModule, [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.TuiFocusableModule, typeof i6.TuiScrollbarModule, typeof i6.TuiTooltipModule, typeof i6.TuiWrapperModule, typeof i6.TuiSvgModule, typeof i6.TuiPrimitiveTextfieldModule], [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective, typeof i6.TuiTextfieldComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextAreaModule, [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.TuiFocusableModule, typeof i6.TuiScrollbarModule, typeof i6.TuiTooltipModule, typeof i6.TuiWrapperModule, typeof i6.TuiSvgModule, typeof i6.TuiPrimitiveTextfieldModule, typeof i7.PolymorpheusModule], [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective, typeof i6.TuiTextfieldComponent]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiTextAreaModule>;
12
13
  }
@@ -5,7 +5,7 @@ export declare class TuiTileHandleDirective {
5
5
  private x;
6
6
  private y;
7
7
  constructor(tile: TuiTileComponent);
8
- onStart({ x, y, pointerId, target }: PointerEvent): void;
8
+ onStart(event: PointerEvent): void;
9
9
  onPointer(x?: number, y?: number): void;
10
10
  onMove(x: number, y: number): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTileHandleDirective, never>;
@@ -49,7 +49,7 @@ export class TuiAvatarComponent {
49
49
  }
50
50
  }
51
51
  TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
52
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
53
  __decorate([
54
54
  tuiDefaultProp()
55
55
  ], TuiAvatarComponent.prototype, "size", void 0);
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';
3
3
  import { tuiDefaultProp } from '@taiga-ui/cdk';
4
- import { tuiAsDataListAccessor, TuiTextfieldSizeDirective } from '@taiga-ui/core';
4
+ import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiAsDataListAccessor, } from '@taiga-ui/core';
5
5
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
6
6
  import { AbstractTuiDataListWrapper } from './data-list-wrapper';
7
7
  import * as i0 from "@angular/core";
@@ -15,8 +15,11 @@ export class TuiDataListWrapperComponent extends AbstractTuiDataListWrapper {
15
15
  this.items = [];
16
16
  }
17
17
  }
18
- TuiDataListWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListWrapperComponent, deps: [{ token: TUI_ITEMS_HANDLERS }, { token: TuiTextfieldSizeDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
19
- TuiDataListWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: { items: "items" }, providers: [tuiAsDataListAccessor(TuiDataListWrapperComponent)], usesInheritance: true, ngImport: i0, template: "<!-- TODO: remove $any in 4.0 -->\n<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"$any(size)\"\n>\n <button\n *ngFor=\"let item of items\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n automation-id=\"tui-data-list-wrapper__loader\"\n class=\"t-loader\"\n ></tui-loader>\n</ng-template>\n", styles: [":host{display:block}.t-loader{margin:.75rem 0}\n"], components: [{ type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiElementDirective, selector: "[tuiElement]", exportAs: ["elementRef"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ TuiDataListWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListWrapperComponent, deps: [{ token: TUI_ITEMS_HANDLERS }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
19
+ TuiDataListWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: { items: "items" }, providers: [
20
+ tuiAsDataListAccessor(TuiDataListWrapperComponent),
21
+ TEXTFIELD_CONTROLLER_PROVIDER,
22
+ ], usesInheritance: true, ngImport: i0, template: "<!-- TODO: remove $any in 4.0 -->\n<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"$any(size)\"\n>\n <button\n *ngFor=\"let item of items\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n automation-id=\"tui-data-list-wrapper__loader\"\n class=\"t-loader\"\n ></tui-loader>\n</ng-template>\n", styles: [":host{display:block}.t-loader{margin:.75rem 0}\n"], components: [{ type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiElementDirective, selector: "[tuiElement]", exportAs: ["elementRef"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
23
  __decorate([
21
24
  tuiDefaultProp()
22
25
  ], TuiDataListWrapperComponent.prototype, "items", void 0);
@@ -27,17 +30,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
27
30
  templateUrl: `./data-list-wrapper.template.html`,
28
31
  styleUrls: [`./data-list-wrapper.style.less`],
29
32
  changeDetection: ChangeDetectionStrategy.OnPush,
30
- providers: [tuiAsDataListAccessor(TuiDataListWrapperComponent)],
33
+ providers: [
34
+ tuiAsDataListAccessor(TuiDataListWrapperComponent),
35
+ TEXTFIELD_CONTROLLER_PROVIDER,
36
+ ],
31
37
  }]
32
38
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
39
  type: Inject,
34
40
  args: [TUI_ITEMS_HANDLERS]
35
- }] }, { type: i1.TuiTextfieldSizeDirective, decorators: [{
41
+ }] }, { type: i1.TuiTextfieldController, decorators: [{
36
42
  type: Optional
37
43
  }, {
38
44
  type: Inject,
39
- args: [TuiTextfieldSizeDirective]
45
+ args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
40
46
  }] }]; }, propDecorators: { items: [{
41
47
  type: Input
42
48
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LXdyYXBwZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBUy9ELE1BQU0sT0FBTywyQkFBK0IsU0FBUSwwQkFBNkI7SUFLN0UsWUFDZ0MsYUFBa0MsRUFHOUQsVUFBNEM7UUFFNUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxJQUFJLEtBQUksR0FBRyxDQUFDLENBQUM7UUFSbEQsVUFBSyxHQUF3QixFQUFFLENBQUM7SUFTaEMsQ0FBQzs7eUhBWlEsMkJBQTJCLGtCQU14QixrQkFBa0IsYUFFbEIseUJBQXlCOzZHQVI1QiwyQkFBMkIsMEZBRnpCLENBQUMscUJBQXFCLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxpRENabkUscTBCQTRCQTtBRFhJO0lBREMsY0FBYyxFQUFFOzBEQUNlOzRGQUh2QiwyQkFBMkI7a0JBUHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQzdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsNkJBQTZCLENBQUM7aUJBQ2xFOzswQkFPUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzRDQUxyQyxLQUFLO3NCQUZKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0QWNjZXNzb3IsIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTLCBUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlEYXRhTGlzdFdyYXBwZXJ9IGZyb20gJy4vZGF0YS1saXN0LXdyYXBwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kYXRhLWxpc3Qtd3JhcHBlcjpub3QoW2xhYmVsc10pYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vZGF0YS1saXN0LXdyYXBwZXIudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vZGF0YS1saXN0LXdyYXBwZXIuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRGF0YUxpc3RBY2Nlc3NvcihUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnQpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3RUdWlEYXRhTGlzdFdyYXBwZXI8VD4ge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVFtdIHwgbnVsbCA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUpXG4gICAgICAgIGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcihpdGVtc0hhbmRsZXJzLCBjb250cm9sbGVyPy5zaXplIHx8IGBtYCk7XG4gICAgfVxufVxuIiwiPCEtLSBUT0RPOiByZW1vdmUgJGFueSBpbiA0LjAgLS0+XG48dHVpLWRhdGEtbGlzdFxuICAgICpuZ0lmPVwiaXRlbXM7IGVsc2UgbG9hZGluZ1wiXG4gICAgW2VtcHR5Q29udGVudF09XCJlbXB0eUNvbnRlbnRcIlxuICAgIFtzaXplXT1cIiRhbnkoc2l6ZSlcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgICAjZWxlbWVudFJlZj1cImVsZW1lbnRSZWZcIlxuICAgICAgICB0dWlFbGVtZW50XG4gICAgICAgIHR1aU9wdGlvblxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRhdGEtbGlzdC13cmFwcGVyX19vcHRpb25cIlxuICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBnZXRDb250ZXh0KGl0ZW0sIGVsZW1lbnRSZWYpXCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvdHVpLWRhdGEtbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8dHVpLWxvYWRlclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRhdGEtbGlzdC13cmFwcGVyX19sb2FkZXJcIlxuICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICA+PC90dWktbG9hZGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LXdyYXBwZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLHFCQUFxQixHQUV4QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBWS9ELE1BQU0sT0FBTywyQkFBK0IsU0FBUSwwQkFBNkI7SUFLN0UsWUFDZ0MsYUFBa0MsRUFHOUQsVUFBeUM7UUFFekMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxJQUFJLEtBQUksR0FBRyxDQUFDLENBQUM7UUFSbEQsVUFBSyxHQUF3QixFQUFFLENBQUM7SUFTaEMsQ0FBQzs7eUhBWlEsMkJBQTJCLGtCQU14QixrQkFBa0IsYUFFbEIsZ0NBQWdDOzZHQVJuQywyQkFBMkIsMEZBTHpCO1FBQ1AscUJBQXFCLENBQUMsMkJBQTJCLENBQUM7UUFDbEQsNkJBQTZCO0tBQ2hDLGlEQ3BCTCxxMEJBNEJBO0FESEk7SUFEQyxjQUFjLEVBQUU7MERBQ2U7NEZBSHZCLDJCQUEyQjtrQkFWdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDN0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCxxQkFBcUIsNkJBQTZCO3dCQUNsRCw2QkFBNkI7cUJBQ2hDO2lCQUNKOzswQkFPUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZ0NBQWdDOzRDQUw1QyxLQUFLO3NCQUZKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICB0dWlBc0RhdGFMaXN0QWNjZXNzb3IsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlMsIFR1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnLi9kYXRhLWxpc3Qtd3JhcHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRhdGEtbGlzdC13cmFwcGVyOm5vdChbbGFiZWxzXSlgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9kYXRhLWxpc3Qtd3JhcHBlci50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9kYXRhLWxpc3Qtd3JhcHBlci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRGF0YUxpc3RBY2Nlc3NvcihUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdFR1aURhdGFMaXN0V3JhcHBlcjxUPiB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zOiByZWFkb25seSBUW10gfCBudWxsID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVRFTVNfSEFORExFUlMpIGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcihpdGVtc0hhbmRsZXJzLCBjb250cm9sbGVyPy5zaXplIHx8IGBtYCk7XG4gICAgfVxufVxuIiwiPCEtLSBUT0RPOiByZW1vdmUgJGFueSBpbiA0LjAgLS0+XG48dHVpLWRhdGEtbGlzdFxuICAgICpuZ0lmPVwiaXRlbXM7IGVsc2UgbG9hZGluZ1wiXG4gICAgW2VtcHR5Q29udGVudF09XCJlbXB0eUNvbnRlbnRcIlxuICAgIFtzaXplXT1cIiRhbnkoc2l6ZSlcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgICAjZWxlbWVudFJlZj1cImVsZW1lbnRSZWZcIlxuICAgICAgICB0dWlFbGVtZW50XG4gICAgICAgIHR1aU9wdGlvblxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRhdGEtbGlzdC13cmFwcGVyX19vcHRpb25cIlxuICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBnZXRDb250ZXh0KGl0ZW0sIGVsZW1lbnRSZWYpXCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvdHVpLWRhdGEtbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8dHVpLWxvYWRlclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRhdGEtbGlzdC13cmFwcGVyX19sb2FkZXJcIlxuICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICA+PC90dWktbG9hZGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -105,7 +105,7 @@ export class TuiFileComponent {
105
105
  }
106
106
  }
107
107
  TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
108
- TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
109
109
  __decorate([
110
110
  tuiDefaultProp()
111
111
  ], TuiFileComponent.prototype, "file", void 0);
@@ -35,6 +35,7 @@ export * from '@taiga-ui/kit/components/input-tag';
35
35
  export * from '@taiga-ui/kit/components/input-time';
36
36
  export * from '@taiga-ui/kit/components/input-year';
37
37
  export * from '@taiga-ui/kit/components/island';
38
+ export * from '@taiga-ui/kit/components/items-with-more';
38
39
  export * from '@taiga-ui/kit/components/line-clamp';
39
40
  export * from '@taiga-ui/kit/components/marker-icon';
40
41
  export * from '@taiga-ui/kit/components/multi-select';
@@ -60,4 +61,4 @@ export * from '@taiga-ui/kit/components/text-area';
60
61
  export * from '@taiga-ui/kit/components/tiles';
61
62
  export * from '@taiga-ui/kit/components/toggle';
62
63
  export * from '@taiga-ui/kit/components/tree';
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Fycm93JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hdmF0YXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZWQtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoZWNrYm94JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGVja2JveC1ibG9jayc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hlY2tib3gtbGFiZWxlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY29tYm8tYm94JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9kYXRhLWxpc3Qtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWNvcHknO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWNvdW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWZpbGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1pbmxpbmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQteWVhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaXNsYW5kJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9saW5lLWNsYW1wJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tYXJrZXItaWNvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3Qtb3B0aW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wZGYtdmlld2VyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wcm9ncmVzcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHVzaCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhZGlvLWJsb2NrJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpby1ncm91cCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGFiZWxlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhdGluZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3Qtb3B0aW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGV4dC1hcmVhJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90aWxlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90cmVlJztcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2F2YXRhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlZC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYXJvdXNlbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hlY2tib3gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoZWNrYm94LWJsb2NrJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGVja2JveC1sYWJlbGVkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb21iby1ib3gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9maWxlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtY29weSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWlubGluZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXNsaWRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC15ZWFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pc2xhbmQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2l0ZW1zLXdpdGgtbW9yZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbWFya2VyLWljb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGRmLXZpZXdlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1c2gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhZGlvJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpby1ibG9jayc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhZGlvLWxhYmVsZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zdGVwcGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWJzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWcnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RleHQtYXJlYSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGlsZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RvZ2dsZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdHJlZSc7XG4iXX0=
@@ -24,7 +24,9 @@ export class TuiInputCountComponent extends AbstractTuiControl {
24
24
  this.min = this.options.min;
25
25
  this.max = this.options.max;
26
26
  this.hideButtons = this.options.hideButtons;
27
+ /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */
27
28
  this.prefix = ``;
29
+ /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */
28
30
  this.postfix = this.options.postfix;
29
31
  }
30
32
  getMask(allowNegative) {
@@ -248,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
248
250
  type: HostBinding,
249
251
  args: [`attr.data-size`]
250
252
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBRWYsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJMUQsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBWXBGLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGtCQUEwQjtJQThCbEMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxVQUFrQixFQUVsQixhQUF3QyxFQUVoRCxXQUF5QyxFQUNWLFFBQWlCLEVBRWhELE9BQTZCLEVBRXJCLFlBQXFDO1FBRXRE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TU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLE9BQU87c0JBRk4sS0FBSztnQkEwQk4sT0FBTyxNQVlILGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMscUJBQXFCO2dCQW9COUIsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICB0dWlGb3JtYXROdW1iZXIsXG4gICAgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUExVU19NSU5VU19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfQ09VTlRfT1BUSU9OUywgVHVpSW5wdXRDb3VudE9wdGlvbnN9IGZyb20gJy4vaW5wdXQtY291bnQtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWNvdW50YCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtY291bnQuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dENvdW50Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q291bnRDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q291bnRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPiwgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaWRlQnV0dG9ucyA9IHRoaXMub3B0aW9ucy5oaWRlQnV0dG9ucztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gdGhpcy5vcHRpb25zLnBvc3RmaXg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1BMVVNfTUlOVVNfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IG1pbnVzVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NPVU5UX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0Q291bnRPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldE1hc2soYWxsb3dOZWdhdGl2ZTogYm9vbGVhbik6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGlkZS1idXR0b25zYClcbiAgICBnZXQgYnV0dG9uc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZUJ1dHRvbnMgfHwgdGhpcy5hcHBlYXJhbmNlID09PSBgdGFibGVgO1xuICAgIH1cblxuICAgIGdldCBpY29uVXAoKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLnVwO1xuICAgIH1cblxuICAgIGdldCBpY29uRG93bigpOiBQb2x5bW9ycGhldXNDb250ZW50PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93bjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQgPyB0aGlzLm5hdGl2ZVZhbHVlIDogdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbnVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPD0gdGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBwbHVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPj0gdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXNhYmxlZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5vbkJsdXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcFZhbHVlKHRoaXMubmF0aXZlTnVtYmVyVmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKTtcblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBkZWNyZWFzZVZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAodGhpcy52YWx1ZSB8fCAwKSAtIHRoaXMuc3RlcDtcblxuICAgICAgICB0aGlzLnNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgaW5jcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgKyB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBgQXJyb3dVcGA6XG4gICAgICAgICAgICBjYXNlIGBVcGA6XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYEFycm93RG93bmA6XG4gICAgICAgICAgICBjYXNlIGBEb3duYDpcbiAgICAgICAgICAgICAgICB0aGlzLmRlY3JlYXNlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IpLmpvaW4oYGApLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0dWlDbGFtcChuZXdWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcFZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gTWF0aC5taW4odmFsdWUsIHRoaXMubWF4KTtcblxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgubWF4KHRoaXMubmF0aXZlTnVtYmVyVmFsdWUgfHwgMCwgdGhpcy5taW4pO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQudmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB0aGlzLm51bWJlckZvcm1hdCk7XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgW3ByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtwb3N0Zml4XT1cInBvc3RmaXhcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0ZXh0TWFza109XCJnZXRNYXNrKG1pbiA8IDApXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFidXR0b25zSGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbnVzVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fcGx1cy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX3BsdXNcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25VcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwib3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbHVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25CdXR0b25Nb3VzZURvd24oJGV2ZW50LCBwbHVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fbWludXMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9taW51c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRvd25cIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cIm9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1pbnVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRG93bigkZXZlbnQsIG1pbnVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBRWYsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJMUQsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBWXBGLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGtCQUEwQjtJQWdDbEMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxVQUFrQixFQUVsQixhQUF3QyxFQUVoRCxXQUF5QyxFQUNWLFFBQWlCLEVBRWhELE9BQTZCLEVBRXJCLFlBQXFDO1FBRXRE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O2dCQU1OLFdBQVc7c0JBRlYsS0FBSztnQkFPTixNQUFNO3NCQUZMLEtBQUs7Z0JBT04sT0FBTztzQkFGTixLQUFLO2dCQTBCTixPQUFPLE1BWUgsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBb0I5QixJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICB0dWlDcmVhdGVOdW1iZXJNYXNrLFxuICAgIHR1aUZvcm1hdE51bWJlcixcbiAgICBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9QTFVTX01JTlVTX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DT1VOVF9PUFRJT05TLCBUdWlJbnB1dENvdW50T3B0aW9uc30gZnJvbSAnLi9pbnB1dC1jb3VudC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtY291bnRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC1jb3VudC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1jb3VudC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0Q291bnRDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRDb3VudENvbXBvbmVudCksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3VudENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW1pdGl2ZVRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwID0gdGhpcy5vcHRpb25zLnN0ZXA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gdGhpcy5vcHRpb25zLm1pbjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpZGVCdXR0b25zID0gdGhpcy5vcHRpb25zLmhpZGVCdXR0b25zO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUHJlZml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9IGBgO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUG9zdGZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gdGhpcy5vcHRpb25zLnBvc3RmaXg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1BMVVNfTUlOVVNfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IG1pbnVzVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NPVU5UX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0Q291bnRPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldE1hc2soYWxsb3dOZWdhdGl2ZTogYm9vbGVhbik6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGlkZS1idXR0b25zYClcbiAgICBnZXQgYnV0dG9uc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZUJ1dHRvbnMgfHwgdGhpcy5hcHBlYXJhbmNlID09PSBgdGFibGVgO1xuICAgIH1cblxuICAgIGdldCBpY29uVXAoKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLnVwO1xuICAgIH1cblxuICAgIGdldCBpY29uRG93bigpOiBQb2x5bW9ycGhldXNDb250ZW50PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93bjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQgPyB0aGlzLm5hdGl2ZVZhbHVlIDogdGhpcy5mb3JtYXROdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbnVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPD0gdGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBwbHVzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSB8fCAodHVpSXNQcmVzZW50KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUgPj0gdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXNhYmxlZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5vbkJsdXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB0aGlzLmNhcFZhbHVlKHRoaXMubmF0aXZlTnVtYmVyVmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIoY2FwcGVkKTtcblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcbiAgICB9XG5cbiAgICBkZWNyZWFzZVZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAodGhpcy52YWx1ZSB8fCAwKSAtIHRoaXMuc3RlcDtcblxuICAgICAgICB0aGlzLnNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgaW5jcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgKyB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBgQXJyb3dVcGA6XG4gICAgICAgICAgICBjYXNlIGBVcGA6XG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYEFycm93RG93bmA6XG4gICAgICAgICAgICBjYXNlIGBEb3duYDpcbiAgICAgICAgICAgICAgICB0aGlzLmRlY3JlYXNlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IpLmpvaW4oYGApLFxuICAgICAgICAgICAgMTAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0dWlDbGFtcChuZXdWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcFZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gTWF0aC5taW4odmFsdWUsIHRoaXMubWF4KTtcblxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IE1hdGgubWF4KHRoaXMubmF0aXZlTnVtYmVyVmFsdWUgfHwgMCwgdGhpcy5taW4pO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQudmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB0aGlzLm51bWJlckZvcm1hdCk7XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgW3ByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtwb3N0Zml4XT1cInBvc3RmaXhcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0ZXh0TWFza109XCJnZXRNYXNrKG1pbiA8IDApXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFidXR0b25zSGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbnVzVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fcGx1cy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX3BsdXNcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25VcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwib3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbHVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25CdXR0b25Nb3VzZURvd24oJGV2ZW50LCBwbHVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fbWludXMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9taW51c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRvd25cIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cIm9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1pbnVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRG93bigkZXZlbnQsIG1pbnVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=