@taiga-ui/addon-doc 4.8.0 → 4.8.1-canary.f683230

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.
@@ -1,18 +1,20 @@
1
- import { NgForOf, TitleCasePipe } from '@angular/common';
1
+ import { NgForOf, NgIf, TitleCasePipe } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
3
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
4
  import { TuiButton } from '@taiga-ui/core/components/button';
5
5
  import { TuiDataList } from '@taiga-ui/core/components/data-list';
6
6
  import { tuiScrollbarOptionsProvider } from '@taiga-ui/core/components/scrollbar';
7
7
  import { TuiTextfield } from '@taiga-ui/core/components/textfield';
8
- import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
9
8
  import { TuiFlagPipe } from '@taiga-ui/core/pipes/flag';
10
9
  import { TuiLanguageSwitcherService } from '@taiga-ui/i18n/utils';
10
+ import { TuiBadge } from '@taiga-ui/kit/components/badge';
11
+ import { TuiBadgedContent } from '@taiga-ui/kit/components/badged-content';
11
12
  import { TuiButtonSelect } from '@taiga-ui/kit/directives/button-select';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@angular/forms";
14
- import * as i2 from "@taiga-ui/core/components/data-list";
15
- import * as i3 from "@taiga-ui/core/components/textfield";
15
+ import * as i2 from "@taiga-ui/kit/components/badged-content";
16
+ import * as i3 from "@taiga-ui/core/components/data-list";
17
+ import * as i4 from "@taiga-ui/core/components/textfield";
16
18
  class TuiDocLanguageSwitcher {
17
19
  constructor() {
18
20
  this.switcher = inject(TuiLanguageSwitcherService);
@@ -47,24 +49,26 @@ class TuiDocLanguageSwitcher {
47
49
  this.open = false;
48
50
  }
49
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n>\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n</button>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiButtonSelect, selector: "button[tuiButtonSelect]" }, { kind: "component", type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i2.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i2.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i3.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<tui-badged-content>\n <img\n *ngIf=\"flags.get(language.value ?? '') | tuiFlag as flag\"\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flag\"\n />\n\n <button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiBadgedContentDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }, { kind: "component", type: i2.TuiBadgedContentComponent, selector: "tui-badged-content" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiButtonSelect, selector: "button[tuiButtonSelect]" }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i4.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
53
  }
52
54
  export { TuiDocLanguageSwitcher };
53
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, decorators: [{
54
56
  type: Component,
55
57
  args: [{ standalone: true, selector: 'tui-doc-language-switcher', imports: [
56
58
  NgForOf,
59
+ NgIf,
57
60
  ReactiveFormsModule,
58
61
  TitleCasePipe,
62
+ TuiBadge,
63
+ TuiBadgedContent,
59
64
  TuiButton,
60
65
  TuiButtonSelect,
61
66
  TuiDataList,
62
- TuiDropdown,
63
67
  TuiFlagPipe,
64
68
  TuiTextfield,
65
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n>\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n</button>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}\n"] }]
69
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<tui-badged-content>\n <img\n *ngIf=\"flags.get(language.value ?? '') | tuiFlag as flag\"\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flag\"\n />\n\n <button\n appearance=\"whiteblock\"\n iconStart=\"@tui.languages\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"] }]
66
70
  }] });
67
71
  function capitalize(value) {
68
72
  return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
69
73
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRXZFLE1BbUJhLHNCQUFzQjtJQW5CbkM7UUFvQnVCLGFBQVEsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxhQUFRLEdBQUcsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUV4RSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRVAsVUFBSyxHQUFHLElBQUksR0FBRyxDQUFxQztZQUNoRSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUNmLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztZQUNuQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7U0FDdkIsQ0FBQyxDQUFDO1FBRWEsVUFBSyxHQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztLQU81RTtJQUxVLE9BQU8sQ0FBQyxJQUFxQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOytHQWxDUSxzQkFBc0I7bUdBQXRCLHNCQUFzQix3RUFGcEIsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLDBCQzlCN0QsdXpCQTZCQSxpTURaUSxPQUFPLGtIQUNQLG1CQUFtQixxVEFDbkIsYUFBYSxrREFDYixTQUFTLG9JQUNULGVBQWUsc1pBR2YsV0FBVzs7U0FRTixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFuQmxDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1Qjt3QkFDTCxPQUFPO3dCQUNQLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixTQUFTO3dCQUNULGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTtxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7O0FBdUM3RCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQzdCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBUaXRsZUNhc2VQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7dHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1R1aVRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUZsYWdQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mbGFnJztcbmltcG9ydCB0eXBlIHtUdWlDb3VudHJ5SXNvQ29kZSwgVHVpTGFuZ3VhZ2VOYW1lfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQge1R1aUxhbmd1YWdlU3dpdGNoZXJTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi91dGlscyc7XG5pbXBvcnQge1R1aUJ1dHRvblNlbGVjdH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2J1dHRvbi1zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1sYW5ndWFnZS1zd2l0Y2hlcicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUaXRsZUNhc2VQaXBlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUJ1dHRvblNlbGVjdCxcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlGbGFnUGlwZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luZGV4Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luZGV4Lmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlTY3JvbGxiYXJPcHRpb25zUHJvdmlkZXIoe21vZGU6ICdob3Zlcid9KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0xhbmd1YWdlU3dpdGNoZXIge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzd2l0Y2hlciA9IGluamVjdChUdWlMYW5ndWFnZVN3aXRjaGVyU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhbmd1YWdlID0gbmV3IEZvcm1Db250cm9sKGNhcGl0YWxpemUodGhpcy5zd2l0Y2hlci5sYW5ndWFnZSkpO1xuXG4gICAgcHJvdGVjdGVkIG9wZW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBmbGFncyA9IG5ldyBNYXA8VHVpTGFuZ3VhZ2VOYW1lLCBUdWlDb3VudHJ5SXNvQ29kZT4oW1xuICAgICAgICBbJ2JlbGFydXNpYW4nLCAnQlknXSxcbiAgICAgICAgWydjaGluZXNlJywgJ0NOJ10sXG4gICAgICAgIFsnZHV0Y2gnLCAnTkwnXSxcbiAgICAgICAgWydlbmdsaXNoJywgJ0dCJ10sXG4gICAgICAgIFsnZnJlbmNoJywgJ0ZSJ10sXG4gICAgICAgIFsnZ2VybWFuJywgJ0RFJ10sXG4gICAgICAgIFsnaGVicmV3JywgJ0lMJ10sXG4gICAgICAgIFsnaXRhbGlhbicsICdJVCddLFxuICAgICAgICBbJ2phcGFuJywgJ0pQJ10sXG4gICAgICAgIFsna2F6YWtoJywgJ0taJ10sXG4gICAgICAgIFsna29yZWFuJywgJ0tSJ10sXG4gICAgICAgIFsnbWFsYXknLCAnTVknXSxcbiAgICAgICAgWydwb2xpc2gnLCAnUEwnXSxcbiAgICAgICAgWydwb3J0dWd1ZXNlJywgJ1BUJ10sXG4gICAgICAgIFsncnVzc2lhbicsICdSVSddLFxuICAgICAgICBbJ3NwYW5pc2gnLCAnRVMnXSxcbiAgICAgICAgWyd0dXJraXNoJywgJ1RSJ10sXG4gICAgICAgIFsndWtyYWluaWFuJywgJ1VBJ10sXG4gICAgICAgIFsndmlldG5hbWVzZScsICdWTiddLFxuICAgIF0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWVzOiBUdWlMYW5ndWFnZU5hbWVbXSA9IEFycmF5LmZyb20odGhpcy5mbGFncy5rZXlzKCkpO1xuXG4gICAgcHVibGljIHNldExhbmcobGFuZzogVHVpTGFuZ3VhZ2VOYW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2Uuc2V0VmFsdWUobGFuZyk7XG4gICAgICAgIHRoaXMuc3dpdGNoZXIuc2V0TGFuZ3VhZ2UobGFuZyk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt2YWx1ZS5zbGljZSgxKX1gO1xufVxuIiwiPGJ1dHRvblxuICAgIGFwcGVhcmFuY2U9XCJ3aGl0ZWJsb2NrXCJcbiAgICBpY29uU3RhcnQ9XCJAdHVpLmxhbmd1YWdlc1wiXG4gICAgc2l6ZT1cInNcIlxuICAgIHR1aUJ1dHRvblNlbGVjdFxuICAgIHR1aUljb25CdXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwibGFuZ3VhZ2VcIlxuPlxuICAgIExhbmd1YWdlXG4gICAgPHR1aS1kYXRhLWxpc3QgKnR1aVRleHRmaWVsZERyb3Bkb3duPlxuICAgICAgICA8dHVpLW9wdC1ncm91cCBsYWJlbD1cIkxhbmd1YWdlIG9mIGNvbXBvbmVudHNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbmFtZSBvZiBuYW1lc1wiXG4gICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm5hbWUgfCB0aXRsZWNhc2VcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRMYW5nKG5hbWUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJmbGFncy5nZXQobmFtZSkgfCB0dWlGbGFnXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHt7IG5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3R1aS1vcHQtZ3JvdXA+XG4gICAgPC90dWktZGF0YS1saXN0PlxuPC9idXR0b24+XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFFdkUsTUFxQmEsc0JBQXNCO0lBckJuQztRQXNCdUIsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXhFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFUCxVQUFLLEdBQUcsSUFBSSxHQUFHLENBQXFDO1lBQ2hFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUNwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUNmLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1lBQ25CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztTQUN2QixDQUFDLENBQUM7UUFFYSxVQUFLLEdBQXNCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBTzVFO0lBTFUsT0FBTyxDQUFDLElBQXFCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7K0dBbENRLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdFQUZwQixDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsMEJDakM3RCw2cENBd0NBLHlQRHRCUSxPQUFPLG1IQUNQLElBQUksNEZBQ0osbUJBQW1CLHFUQUNuQixhQUFhLGtEQUNiLFFBQVEscVJBRVIsU0FBUyxvSUFDVCxlQUFlLHNaQUVmLFdBQVc7O1NBUU4sc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBckJsQyxTQUFTO2lDQUNNLElBQUksWUFDTiwyQkFBMkIsV0FDNUI7d0JBQ0wsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxZQUFZO3FCQUNmLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsMkJBQTJCLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQzs7QUF1QzdELFNBQVMsVUFBVSxDQUFDLEtBQWE7SUFDN0IsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRm9yT2YsIE5nSWYsIFRpdGxlQ2FzZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlEYXRhTGlzdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHt0dWlTY3JvbGxiYXJPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUZsYWdQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mbGFnJztcbmltcG9ydCB0eXBlIHtUdWlDb3VudHJ5SXNvQ29kZSwgVHVpTGFuZ3VhZ2VOYW1lfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQge1R1aUxhbmd1YWdlU3dpdGNoZXJTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi91dGlscyc7XG5pbXBvcnQge1R1aUJhZGdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHtUdWlCYWRnZWRDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2VkLWNvbnRlbnQnO1xuaW1wb3J0IHtUdWlCdXR0b25TZWxlY3R9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9idXR0b24tc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbGFuZ3VhZ2Utc3dpdGNoZXInLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVGl0bGVDYXNlUGlwZSxcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFR1aUJhZGdlZENvbnRlbnQsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpQnV0dG9uU2VsZWN0LFxuICAgICAgICBUdWlEYXRhTGlzdCxcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyKHttb2RlOiAnaG92ZXInfSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NMYW5ndWFnZVN3aXRjaGVyIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3dpdGNoZXIgPSBpbmplY3QoVHVpTGFuZ3VhZ2VTd2l0Y2hlclNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYW5ndWFnZSA9IG5ldyBGb3JtQ29udHJvbChjYXBpdGFsaXplKHRoaXMuc3dpdGNoZXIubGFuZ3VhZ2UpKTtcblxuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmxhZ3MgPSBuZXcgTWFwPFR1aUxhbmd1YWdlTmFtZSwgVHVpQ291bnRyeUlzb0NvZGU+KFtcbiAgICAgICAgWydiZWxhcnVzaWFuJywgJ0JZJ10sXG4gICAgICAgIFsnY2hpbmVzZScsICdDTiddLFxuICAgICAgICBbJ2R1dGNoJywgJ05MJ10sXG4gICAgICAgIFsnZW5nbGlzaCcsICdHQiddLFxuICAgICAgICBbJ2ZyZW5jaCcsICdGUiddLFxuICAgICAgICBbJ2dlcm1hbicsICdERSddLFxuICAgICAgICBbJ2hlYnJldycsICdJTCddLFxuICAgICAgICBbJ2l0YWxpYW4nLCAnSVQnXSxcbiAgICAgICAgWydqYXBhbicsICdKUCddLFxuICAgICAgICBbJ2themFraCcsICdLWiddLFxuICAgICAgICBbJ2tvcmVhbicsICdLUiddLFxuICAgICAgICBbJ21hbGF5JywgJ01ZJ10sXG4gICAgICAgIFsncG9saXNoJywgJ1BMJ10sXG4gICAgICAgIFsncG9ydHVndWVzZScsICdQVCddLFxuICAgICAgICBbJ3J1c3NpYW4nLCAnUlUnXSxcbiAgICAgICAgWydzcGFuaXNoJywgJ0VTJ10sXG4gICAgICAgIFsndHVya2lzaCcsICdUUiddLFxuICAgICAgICBbJ3VrcmFpbmlhbicsICdVQSddLFxuICAgICAgICBbJ3ZpZXRuYW1lc2UnLCAnVk4nXSxcbiAgICBdKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lczogVHVpTGFuZ3VhZ2VOYW1lW10gPSBBcnJheS5mcm9tKHRoaXMuZmxhZ3Mua2V5cygpKTtcblxuICAgIHB1YmxpYyBzZXRMYW5nKGxhbmc6IFR1aUxhbmd1YWdlTmFtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhbmd1YWdlLnNldFZhbHVlKGxhbmcpO1xuICAgICAgICB0aGlzLnN3aXRjaGVyLnNldExhbmd1YWdlKGxhbmcpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7dmFsdWUuc2xpY2UoMSl9YDtcbn1cbiIsIjx0dWktYmFkZ2VkLWNvbnRlbnQ+XG4gICAgPGltZ1xuICAgICAgICAqbmdJZj1cImZsYWdzLmdldChsYW5ndWFnZS52YWx1ZSA/PyAnJykgfCB0dWlGbGFnIGFzIGZsYWdcIlxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR1aUJhZGdlXG4gICAgICAgIHR1aVNsb3Q9XCJib3R0b21cIlxuICAgICAgICBbc3JjXT1cImZsYWdcIlxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJ3aGl0ZWJsb2NrXCJcbiAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5sYW5ndWFnZXNcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR1aUJ1dHRvblNlbGVjdFxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwibGFuZ3VhZ2VcIlxuICAgID5cbiAgICAgICAgTGFuZ3VhZ2VcbiAgICAgICAgPHR1aS1kYXRhLWxpc3QgKnR1aVRleHRmaWVsZERyb3Bkb3duPlxuICAgICAgICAgICAgPHR1aS1vcHQtZ3JvdXAgbGFiZWw9XCJMYW5ndWFnZSBvZiBjb21wb25lbnRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbmFtZSBvZiBuYW1lc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm5hbWUgfCB0aXRsZWNhc2VcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0TGFuZyhuYW1lKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJmbGFncy5nZXQobmFtZSkgfCB0dWlGbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge3sgbmFtZSB8IHRpdGxlY2FzZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC90dWktb3B0LWdyb3VwPlxuICAgICAgICA8L3R1aS1kYXRhLWxpc3Q+XG4gICAgPC9idXR0b24+XG48L3R1aS1iYWRnZWQtY29udGVudD5cbiJdfQ==
@@ -3,17 +3,18 @@ import { ChangeDetectionStrategy, Component, ContentChildren, inject, Input, } f
3
3
  import { RouterLink, RouterLinkActive } from '@angular/router';
4
4
  import { TUI_DOC_DEFAULT_TABS } from '@taiga-ui/addon-doc/tokens';
5
5
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
- import { TuiItem } from '@taiga-ui/cdk/directives/item';
7
6
  import { TuiReplacePipe } from '@taiga-ui/cdk/pipes/replace';
8
7
  import { TuiAutoColorPipe } from '@taiga-ui/core/pipes/auto-color';
9
8
  import { TuiChip } from '@taiga-ui/kit/components/chip';
10
9
  import { TuiTabs } from '@taiga-ui/kit/components/tabs';
11
10
  import { TuiDocSeeAlso } from '../internal/see-also';
12
11
  import { TuiDocSourceCode } from '../internal/source-code/source-code.component';
12
+ import { TuiDocLanguageSwitcher } from '../language-switcher';
13
13
  import { PAGE_PROVIDERS, PAGE_SEE_ALSO } from './page.providers';
14
14
  import { TuiDocPageTabConnector } from './page-tab.directive';
15
15
  import * as i0 from "@angular/core";
16
- import * as i1 from "@taiga-ui/kit/components/tabs";
16
+ import * as i1 from "@taiga-ui/cdk/directives/item";
17
+ import * as i2 from "@taiga-ui/kit/components/tabs";
17
18
  class TuiDocPage {
18
19
  constructor() {
19
20
  this.defaultTabs = inject(TUI_DOC_DEFAULT_TABS);
@@ -33,7 +34,7 @@ class TuiDocPage {
33
34
  return !!this.seeAlso.length && this.activeItemIndex === 0;
34
35
  }
35
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-block-size:7.25rem;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);min-block-size:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.t-title{min-inline-size:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-top:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:inline-end;margin-left:1.5rem}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-source-code{align-self:flex-end;line-height:2.75rem;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: TuiAutoColorPipe, name: "tuiAutoColor" }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "component", type: TuiDocSeeAlso, selector: "tui-doc-see-also", inputs: ["seeAlso"] }, { kind: "component", type: TuiDocSourceCode, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { kind: "directive", type: TuiItem, selector: "[tuiItem]" }, { kind: "pipe", type: TuiReplacePipe, name: "tuiReplace" }, { kind: "directive", type: i1.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i1.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocPage, isStandalone: true, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", tags: "tags", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnector }], ngImport: i0, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-block-size:7.25rem;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);min-block-size:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.t-title{min-inline-size:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-top:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:inline-end;margin-left:1.5rem}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-left:auto}.t-source-code{block-size:3.125rem}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: TuiAutoColorPipe, name: "tuiAutoColor" }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "component", type: TuiDocLanguageSwitcher, selector: "tui-doc-language-switcher" }, { kind: "component", type: TuiDocSeeAlso, selector: "tui-doc-see-also", inputs: ["seeAlso"] }, { kind: "component", type: TuiDocSourceCode, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { kind: "pipe", type: TuiReplacePipe, name: "tuiReplace" }, { kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "directive", type: i2.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i2.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
38
  }
38
39
  export { TuiDocPage };
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocPage, decorators: [{
@@ -46,12 +47,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
46
47
  RouterLinkActive,
47
48
  TuiAutoColorPipe,
48
49
  TuiChip,
50
+ TuiDocLanguageSwitcher,
49
51
  TuiDocSeeAlso,
50
52
  TuiDocSourceCode,
51
- TuiItem,
52
53
  TuiReplacePipe,
53
54
  TuiTabs,
54
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-block-size:7.25rem;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);min-block-size:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.t-title{min-inline-size:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-top:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:inline-end;margin-left:1.5rem}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-source-code{align-self:flex-end;line-height:2.75rem;margin-left:auto}\n"] }]
55
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-chip\n *ngIf=\"!!deprecated || deprecated === ''\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_deprecated\"\n >\n deprecated\n </tui-chip>\n <tui-chip\n *ngIf=\"package\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"package | tuiAutoColor\"\n >\n {{ package }}\n </tui-chip>\n <tui-chip\n *ngFor=\"let tag of tags\"\n appearance=\"custom\"\n size=\"xs\"\n class=\"t-tag t-tag_package\"\n [style.background]=\"tag | tuiAutoColor\"\n >\n {{ tag }}\n </tui-chip>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n\n <div\n *ngIf=\"package || path || type\"\n class=\"t-right-side\"\n >\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n />\n\n <tui-doc-language-switcher />\n </div>\n</header>\n<div class=\"t-content\">\n <ng-content />\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n />\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n />\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-block-size:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-block-size:7.25rem;color:var(--tui-text-primary);box-shadow:inset 0 -1px 0 0 var(--tui-border-normal);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-header{font:var(--tui-font-heading-4);min-block-size:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.t-title{min-inline-size:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-status-negative);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0;box-shadow:none}@media screen and (max-width: 47.9625em){.t-tabs{margin-top:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width: 47.9625em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-inline-size:18.75rem;inline-size:30%;float:inline-end;margin-left:1.5rem}@media screen and (max-width: 47.9625em){.t-see-also{float:none;inline-size:100%;margin:0 0 1.5rem}}.t-right-side{display:flex;gap:1rem;align-items:center;align-self:center;margin-left:auto}.t-source-code{block-size:3.125rem}\n"] }]
55
56
  }], propDecorators: { header: [{
56
57
  type: Input
57
58
  }], package: [{
@@ -68,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
68
69
  type: ContentChildren,
69
70
  args: [TuiDocPageTabConnector]
70
71
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRTVELE1Bc0JhLFVBQVU7SUF0QnZCO1FBdUJ1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixPQUFFLEdBQUcsR0FBRyxDQUFDO1FBR3JCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFHWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLFNBQUksR0FBYSxFQUFFLENBQUM7UUFHcEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLGVBQVUsR0FBaUIsS0FBSyxDQUFDO1FBR3hCLGtCQUFhLEdBQXNDLFdBQVcsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNYLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FLbkQ7SUFIRyxJQUFXLFdBQVc7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0EvQlEsVUFBVTttR0FBVixVQUFVLGlMQUZSLGNBQWMsd0RBeUJSLHNCQUFzQiw2QkNwRTNDLHFxRUF1RUEscXhDRDVDUSxPQUFPLG1IQUNQLElBQUksNkZBQ0osZ0JBQWdCLG9KQUNoQixVQUFVLDROQUNWLGdCQUFnQix5TUFDaEIsZ0JBQWdCLHFEQUNoQixPQUFPLGlGQUNQLGFBQWEsa0ZBQ2IsZ0JBQWdCLCtHQUNoQixPQUFPLGlEQUNQLGNBQWM7O1NBUVQsVUFBVTs0RkFBVixVQUFVO2tCQXRCdEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxPQUFPO3FCQUNWLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLGNBQWM7OEJBUWxCLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJVSxhQUFhO3NCQUQ1QixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfREVGQVVMVF9UQUJTfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmltcG9ydCB7VHVpUmVwbGFjZVBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvcmVwbGFjZSc7XG5pbXBvcnQge1R1aUF1dG9Db2xvclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL2F1dG8tY29sb3InO1xuaW1wb3J0IHtUdWlDaGlwfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hpcCc7XG5pbXBvcnQge1R1aVRhYnN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWJzJztcblxuaW1wb3J0IHtUdWlEb2NTZWVBbHNvfSBmcm9tICcuLi9pbnRlcm5hbC9zZWUtYWxzbyc7XG5pbXBvcnQge1R1aURvY1NvdXJjZUNvZGV9IGZyb20gJy4uL2ludGVybmFsL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQge1BBR0VfUFJPVklERVJTLCBQQUdFX1NFRV9BTFNPfSBmcm9tICcuL3BhZ2UucHJvdmlkZXJzJztcbmltcG9ydCB7VHVpRG9jUGFnZVRhYkNvbm5lY3Rvcn0gZnJvbSAnLi9wYWdlLXRhYi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1wYWdlJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIFR1aUF1dG9Db2xvclBpcGUsXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgIFR1aURvY1NlZUFsc28sXG4gICAgICAgIFR1aURvY1NvdXJjZUNvZGUsXG4gICAgICAgIFR1aUl0ZW0sXG4gICAgICAgIFR1aVJlcGxhY2VQaXBlLFxuICAgICAgICBUdWlUYWJzLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBQQUdFX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jUGFnZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWJzID0gaW5qZWN0KFRVSV9ET0NfREVGQVVMVF9UQUJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnJvbSA9IC8gL2c7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwYWNrYWdlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGF0aCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVwcmVjYXRlZDogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY1BhZ2VUYWJDb25uZWN0b3IpXG4gICAgcHVibGljIHJlYWRvbmx5IHRhYkNvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NQYWdlVGFiQ29ubmVjdG9yPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHVibGljIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG4gICAgcHVibGljIHJlYWRvbmx5IHNlZUFsc28gPSBpbmplY3QoUEFHRV9TRUVfQUxTTyk7XG5cbiAgICBwdWJsaWMgZ2V0IHNob3dTZWVBbHNvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNlZUFsc28ubGVuZ3RoICYmIHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSAwO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cInQtdGl0bGVcIj5cbiAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgIDx0dWktY2hpcFxuICAgICAgICAgICAgKm5nSWY9XCIhIWRlcHJlY2F0ZWQgfHwgZGVwcmVjYXRlZCA9PT0gJydcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19kZXByZWNhdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgZGVwcmVjYXRlZFxuICAgICAgICA8L3R1aS1jaGlwPlxuICAgICAgICA8dHVpLWNoaXBcbiAgICAgICAgICAgICpuZ0lmPVwicGFja2FnZVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFnIHQtdGFnX3BhY2thZ2VcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwicGFja2FnZSB8IHR1aUF1dG9Db2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhY2thZ2UgfX1cbiAgICAgICAgPC90dWktY2hpcD5cbiAgICAgICAgPHR1aS1jaGlwXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3NcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInRhZyB8IHR1aUF1dG9Db2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICA8L3R1aS1jaGlwPlxuICAgIDwvaDE+XG4gICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAqbmdJZj1cInRhYkNvbm5lY3RvcnMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJDb25uZWN0b3JzOyBmaXJzdCBhcyBmaXJzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIucGFnZVRhYiB8fCBkZWZhdWx0VGFic1tpbmRleF0gYXMgdGFiTmFtZVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImZpcnN0ID8gJy4vJyA6ICh0YWJOYW1lIHwgdHVpUmVwbGFjZTogZnJvbSA6IHRvKVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IGZpcnN0fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0YWJOYW1lIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuICAgIDx0dWktZG9jLXNvdXJjZS1jb2RlXG4gICAgICAgIGNsYXNzPVwidC1zb3VyY2UtY29kZVwiXG4gICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgICAgW3BhY2thZ2VdPVwicGFja2FnZVwiXG4gICAgICAgIFtwYXRoXT1cInBhdGhcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAvPlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8dHVpLWRvYy1zZWUtYWxzb1xuICAgICAgICAqbmdJZj1cInNob3dTZWVBbHNvXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNlZS1hbHNvXCJcbiAgICAgICAgW3NlZUFsc29dPVwic2VlQWxzb1wiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi50ZW1wbGF0ZVwiXG4gICAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRTVELE1Bc0JhLFVBQVU7SUF0QnZCO1FBdUJ1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixPQUFFLEdBQUcsR0FBRyxDQUFDO1FBR3JCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFHWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLFNBQUksR0FBYSxFQUFFLENBQUM7UUFHcEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLGVBQVUsR0FBaUIsS0FBSyxDQUFDO1FBR3hCLGtCQUFhLEdBQXNDLFdBQVcsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNYLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FLbkQ7SUFIRyxJQUFXLFdBQVc7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0EvQlEsVUFBVTttR0FBVixVQUFVLGlMQUZSLGNBQWMsd0RBeUJSLHNCQUFzQiw2QkNwRTNDLG8xRUErRUEsMDBDRHBEUSxPQUFPLG1IQUNQLElBQUksNkZBQ0osZ0JBQWdCLG9KQUNoQixVQUFVLDROQUNWLGdCQUFnQix5TUFDaEIsZ0JBQWdCLHFEQUNoQixPQUFPLGlGQUNQLHNCQUFzQixzRUFDdEIsYUFBYSxrRkFDYixnQkFBZ0IsMEdBQ2hCLGNBQWM7O1NBUVQsVUFBVTs0RkFBVixVQUFVO2tCQXRCdEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxPQUFPO3FCQUNWLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLGNBQWM7OEJBUWxCLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJVSxhQUFhO3NCQUQ1QixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfREVGQVVMVF9UQUJTfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJlcGxhY2VQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3JlcGxhY2UnO1xuaW1wb3J0IHtUdWlBdXRvQ29sb3JQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9hdXRvLWNvbG9yJztcbmltcG9ydCB7VHVpQ2hpcH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5cbmltcG9ydCB7VHVpRG9jU2VlQWxzb30gZnJvbSAnLi4vaW50ZXJuYWwvc2VlLWFsc28nO1xuaW1wb3J0IHtUdWlEb2NTb3VyY2VDb2RlfSBmcm9tICcuLi9pbnRlcm5hbC9zb3VyY2UtY29kZS9zb3VyY2UtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEb2NMYW5ndWFnZVN3aXRjaGVyfSBmcm9tICcuLi9sYW5ndWFnZS1zd2l0Y2hlcic7XG5pbXBvcnQge1BBR0VfUFJPVklERVJTLCBQQUdFX1NFRV9BTFNPfSBmcm9tICcuL3BhZ2UucHJvdmlkZXJzJztcbmltcG9ydCB7VHVpRG9jUGFnZVRhYkNvbm5lY3Rvcn0gZnJvbSAnLi9wYWdlLXRhYi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1wYWdlJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIFR1aUF1dG9Db2xvclBpcGUsXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgIFR1aURvY0xhbmd1YWdlU3dpdGNoZXIsXG4gICAgICAgIFR1aURvY1NlZUFsc28sXG4gICAgICAgIFR1aURvY1NvdXJjZUNvZGUsXG4gICAgICAgIFR1aVJlcGxhY2VQaXBlLFxuICAgICAgICBUdWlUYWJzLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBQQUdFX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jUGFnZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWJzID0gaW5qZWN0KFRVSV9ET0NfREVGQVVMVF9UQUJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnJvbSA9IC8gL2c7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwYWNrYWdlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGF0aCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVwcmVjYXRlZDogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY1BhZ2VUYWJDb25uZWN0b3IpXG4gICAgcHVibGljIHJlYWRvbmx5IHRhYkNvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NQYWdlVGFiQ29ubmVjdG9yPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHVibGljIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG4gICAgcHVibGljIHJlYWRvbmx5IHNlZUFsc28gPSBpbmplY3QoUEFHRV9TRUVfQUxTTyk7XG5cbiAgICBwdWJsaWMgZ2V0IHNob3dTZWVBbHNvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNlZUFsc28ubGVuZ3RoICYmIHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSAwO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cInQtdGl0bGVcIj5cbiAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgIDx0dWktY2hpcFxuICAgICAgICAgICAgKm5nSWY9XCIhIWRlcHJlY2F0ZWQgfHwgZGVwcmVjYXRlZCA9PT0gJydcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19kZXByZWNhdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgZGVwcmVjYXRlZFxuICAgICAgICA8L3R1aS1jaGlwPlxuICAgICAgICA8dHVpLWNoaXBcbiAgICAgICAgICAgICpuZ0lmPVwicGFja2FnZVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFnIHQtdGFnX3BhY2thZ2VcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwicGFja2FnZSB8IHR1aUF1dG9Db2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhY2thZ2UgfX1cbiAgICAgICAgPC90dWktY2hpcD5cbiAgICAgICAgPHR1aS1jaGlwXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3NcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInRhZyB8IHR1aUF1dG9Db2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICA8L3R1aS1jaGlwPlxuICAgIDwvaDE+XG4gICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAqbmdJZj1cInRhYkNvbm5lY3RvcnMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJDb25uZWN0b3JzOyBmaXJzdCBhcyBmaXJzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIucGFnZVRhYiB8fCBkZWZhdWx0VGFic1tpbmRleF0gYXMgdGFiTmFtZVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImZpcnN0ID8gJy4vJyA6ICh0YWJOYW1lIHwgdHVpUmVwbGFjZTogZnJvbSA6IHRvKVwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IGZpcnN0fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0YWJOYW1lIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBhY2thZ2UgfHwgcGF0aCB8fCB0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXJpZ2h0LXNpZGVcIlxuICAgID5cbiAgICAgICAgPHR1aS1kb2Mtc291cmNlLWNvZGVcbiAgICAgICAgICAgIGNsYXNzPVwidC1zb3VyY2UtY29kZVwiXG4gICAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFtwYXRoXT1cInBhdGhcIlxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHR1aS1kb2MtbGFuZ3VhZ2Utc3dpdGNoZXIgLz5cbiAgICA8L2Rpdj5cbjwvaGVhZGVyPlxuPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IC8+XG4gICAgPHR1aS1kb2Mtc2VlLWFsc29cbiAgICAgICAgKm5nSWY9XCJzaG93U2VlQWxzb1wiXG4gICAgICAgIGNsYXNzPVwidC1zZWUtYWxzb1wiXG4gICAgICAgIFtzZWVBbHNvXT1cInNlZUFsc29cIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbm5lY3RvcnM7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGVtcGxhdGVcIlxuICAgICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=