@taiga-ui/addon-doc 4.46.0 → 4.47.0-canary.fa64a58

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,3 +1,4 @@
1
+ import type { Type } from '@angular/core';
1
2
  import { ActivatedRoute } from '@angular/router';
2
3
  import type { TuiRawLoaderContent } from '@taiga-ui/addon-doc/types';
3
4
  import type { TuiContext } from '@taiga-ui/cdk/types';
@@ -34,7 +35,7 @@ export declare class TuiDocExample {
34
35
  componentName: string;
35
36
  set content(content: Record<string, TuiRawLoaderContent>);
36
37
  set component(content: Promise<{
37
- readonly default: any;
38
+ readonly default: Type<unknown>;
38
39
  }>);
39
40
  protected readonly visible: (files: Record<string, string>) => boolean;
40
41
  protected getTabTitle(fileName: string): PolymorpheusContent;
@@ -23,7 +23,7 @@ export declare class TuiDocNavigation {
23
23
  constructor();
24
24
  protected get canOpen(): boolean;
25
25
  protected get itemsWithoutSections(): TuiDocRoutePages;
26
- protected $pages(pages: any): readonly TuiDocRoutePage[];
26
+ protected $pages<T extends TuiDocRoutePage[]>(pages: T): readonly TuiDocRoutePage[];
27
27
  protected isActive(route: string): boolean;
28
28
  protected onGroupClick(index: number): void;
29
29
  protected closeMenu(): void;
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
115
115
  }], component: [{
116
116
  type: Input
117
117
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxxQkFBcUIsRUFDckIsYUFBYSxHQUNoQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztB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Z0JBSUssT0FBTztzQkFEakIsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtET0NVTUVOVCwgTmdGb3JPZiwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1dBX0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxuICAgIFRVSV9ET0NfSUNPTlMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlSYXdMb2FkZXJDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpUmF3TG9hZFJlY29yZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQWxlcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUZ1bGxzY3JlZW59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZnVsbHNjcmVlbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudCwgUG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIFJlcGxheVN1YmplY3QsIHN3aXRjaEFsbCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NDb2RlfSBmcm9tICcuLi9jb2RlJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX09QVElPTlN9IGZyb20gJy4vZXhhbXBsZS5vcHRpb25zJztcbmltcG9ydCB7VHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlfSBmcm9tICcuL2V4YW1wbGUtZ2V0LXRhYnMucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aURvY0NvZGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVHZXRUYWJzUGlwZSxcbiAgICAgICAgVHVpRnVsbHNjcmVlbixcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aU1hcHBlclBpcGUsXG4gICAgICAgIFR1aVRhYnMsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhhbXBsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9leGFtcGxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2NsYXNzLl9mdWxsc2l6ZV0nOiAnZnVsbHNpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KFdBX0xPQ0FUSU9OKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQgPSBpbmplY3QoVFVJX0NPUFlfVEVYVFMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50PlxuICAgID4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyJCQgPSBuZXcgUmVwbGF5U3ViamVjdDxQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBhbnl9Pj4oXG4gICAgICAgIDEsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmdWxsc2NyZWVuRW5hYmxlZCA9IGluamVjdChET0NVTUVOVCkuZnVsbHNjcmVlbkVuYWJsZWQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9ET0NfSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dHMgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29kZUVkaXRvciA9IGluamVjdChUVUlfRE9DX0NPREVfRURJVE9SLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29kZUFjdGlvbnMgPVxuICAgICAgICBpbmplY3Q8UmVhZG9ubHlBcnJheTxQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8c3RyaW5nPj4+PihcbiAgICAgICAgICAgIFRVSV9ET0NfQ09ERV9BQ1RJT05TLFxuICAgICAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiID0gdGhpcy50ZXh0c1t0aGlzLmRlZmF1bHRUYWJJbmRleF07XG4gICAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuICAgIHByb3RlY3RlZCBmdWxsc2NyZWVuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29weSA9IHRvU2lnbmFsKHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiAnJyxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwcm9jZXNzb3IgPSB0b1NpZ25hbChcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKHR1aVJhd0xvYWRSZWNvcmQpLFxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5wcm9jZXNzQ29udGVudCh2YWx1ZSkpLFxuICAgICAgICApLFxuICAgICAgICB7aW5pdGlhbFZhbHVlOiB7fSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz59LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGF6eUNvbXBvbmVudCA9IHRvU2lnbmFsKFxuICAgICAgICB0aGlzLmxhenlMb2FkZXIkJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoQWxsKCksXG4gICAgICAgICAgICBtYXAoKG1vZHVsZSkgPT4gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChtb2R1bGUuZGVmYXVsdCkpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoZWFkaW5nOiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmdWxsc2l6ZSA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykuZnVsbHNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbnRlbnQoY29udGVudDogUmVjb3JkPHN0cmluZywgVHVpUmF3TG9hZGVyQ29udGVudD4pIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb21wb25lbnQoY29udGVudDogUHJvbWlzZTx7cmVhZG9ubHkgZGVmYXVsdDogYW55fT4pIHtcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgcHJvdGVjdGVkIGdldFRhYlRpdGxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50YWJUaXRsZXMuZ2V0KGZpbGVOYW1lKSB8fCBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29weUV4YW1wbGVMaW5rKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoKHRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwpPy5ocmVmID8/ICcnKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtsYWJlbDogdGhpcy50ZXh0c1syXSwgYXBwZWFyYW5jZTogJ3Bvc2l0aXZlJ30pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC10aXRsZS1ibG9ja1wiPlxuICAgIDxoMlxuICAgICAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvaDI+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIHJvdXRlckxpbms9XCIuXCJcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInQtbGluay1hY3RpdmVcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGlua1wiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImNvcHkoKVwiXG4gICAgICAgIFtmcmFnbWVudF09XCJpZFwiXG4gICAgICAgIFtyZWxhdGl2ZVRvXT1cInJvdXRlLmZpcnN0Q2hpbGQgPz8gcm91dGVcIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie21hdHJpeFBhcmFtczogJ2V4YWN0JywgcXVlcnlQYXJhbXM6ICdleGFjdCcsIHBhdGhzOiAnZXhhY3QnLCBmcmFnbWVudDogJ2V4YWN0J31cIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKCRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgPlxuICAgICAgICAjXG4gICAgPC9hPlxuPC9kaXY+XG48aDNcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oMz5cblxuPGRpdlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbiAgICBbKHR1aUZ1bGxzY3JlZW4pXT1cImZ1bGxzY3JlZW5cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9jZXNzb3IoKSB8IHR1aURvY0V4YW1wbGVHZXRUYWJzOiBkZWZhdWx0VGFiIGFzIHRhYnNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ0YWJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnMtd3JhcHBlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc29yKCkgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtZWRpdG9yXCJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KHByb2Nlc3NvcigpKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImZ1bGxzY3JlZW5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJmdWxsc2NyZWVuID8gaWNvbnMuc2hyaW5rIDogaWNvbnMuZXhwYW5kXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZnVsbHNjcmVlbiA9ICFmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGdWxsc2NyZWVuXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZGVtb1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCAmJiBpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4ID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29tcG9uZW50KCkgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgIDx0dWktZG9jLWNvZGVcbiAgICAgICAgICAgICAgICAqdHVpTGV0PVwicHJvY2Vzc29yKClbdGFic1tpbmRleF0gfHwgMF0gfHwgJycgYXMgY29kZVwiXG4gICAgICAgICAgICAgICAgW2NvZGVdPVwiY29kZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCAmJiBpbmRleCAhPT0gZGVmYXVsdFRhYkluZGV4ID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvZGVBY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFjdGlvbiBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLWRvYy1jb2RlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxxQkFBcUIsRUFDckIsYUFBYSxHQUNoQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztB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QkFJSyxPQUFPO3NCQURqQixLQUFLO2dCQU1LLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge0RPQ1VNRU5ULCBOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7V0FfTE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICBUVUlfRE9DX0NPREVfRURJVE9SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfVEVYVFMsXG4gICAgVFVJX0RPQ19JQ09OUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVJhd0xvYWRlckNvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VHVpTGV0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbGV0JztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtUdWlBbGVydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYWxlcnQnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpRnVsbHNjcmVlbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9mdWxsc2NyZWVuJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VHVpTG9hZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xvYWRlcic7XG5pbXBvcnQge1R1aVRhYnN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7VFVJX0NPUFlfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcCwgUmVwbGF5U3ViamVjdCwgc3dpdGNoQWxsLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURvY0NvZGV9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OU30gZnJvbSAnLi9leGFtcGxlLm9wdGlvbnMnO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlR2V0VGFic1BpcGV9IGZyb20gJy4vZXhhbXBsZS1nZXQtdGFicy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpRG9jQ29kZSxcbiAgICAgICAgVHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlLFxuICAgICAgICBUdWlGdWxsc2NyZWVuLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpVGFicyxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4YW1wbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbY2xhc3MuX2Z1bGxzaXplXSc6ICdmdWxsc2l6ZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRXhhbXBsZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQgPSBpbmplY3QoQ2xpcGJvYXJkKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0cyA9IGluamVjdChUdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb24gPSBpbmplY3QoV0FfTE9DQVRJT04pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJCA9IGluamVjdChUVUlfQ09QWV9URVhUUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudCA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByYXdMb2FkZXIkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIFJlY29yZDxzdHJpbmcsIFR1aVJhd0xvYWRlckNvbnRlbnQ+XG4gICAgPih7fSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhenlMb2FkZXIkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFxuICAgICAgICBQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBUeXBlPHVua25vd24+fT5cbiAgICA+KDEpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZ1bGxzY3JlZW5FbmFibGVkID0gaW5qZWN0KERPQ1VNRU5UKS5mdWxsc2NyZWVuRW5hYmxlZDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0RPQ19JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfVEVYVFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2RlRWRpdG9yID0gaW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2RlQWN0aW9ucyA9XG4gICAgICAgIGluamVjdDxSZWFkb25seUFycmF5PFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxzdHJpbmc+Pj4+KFxuICAgICAgICAgICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWJJbmRleCA9IDA7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRUYWIgPSB0aGlzLnRleHRzW3RoaXMuZGVmYXVsdFRhYkluZGV4XTtcbiAgICBwcm90ZWN0ZWQgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG4gICAgcHJvdGVjdGVkIGZ1bGxzY3JlZW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3B5ID0gdG9TaWduYWwodGhpcy5jb3B5VGV4dHMkLnBpcGUobWFwKChbY29weV0pID0+IGNvcHkpKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6ICcnLFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb2Nlc3NvciA9IHRvU2lnbmFsKFxuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAodHVpUmF3TG9hZFJlY29yZCksXG4gICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgICAgICksXG4gICAgICAgIHtpbml0aWFsVmFsdWU6IHt9IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPn0sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYXp5Q29tcG9uZW50ID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMubGF6eUxvYWRlciQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hBbGwoKSxcbiAgICAgICAgICAgIG1hcCgobW9kdWxlKSA9PiBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KG1vZHVsZS5kZWZhdWx0KSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZ1bGxzaXplID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TKS5mdWxsc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29udGVudChjb250ZW50OiBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50Pikge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbXBvbmVudChjb250ZW50OiBQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBUeXBlPHVua25vd24+fT4pIHtcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgcHJvdGVjdGVkIGdldFRhYlRpdGxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50YWJUaXRsZXMuZ2V0KGZpbGVOYW1lKSB8fCBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29weUV4YW1wbGVMaW5rKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoKHRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwpPy5ocmVmID8/ICcnKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtsYWJlbDogdGhpcy50ZXh0c1syXSwgYXBwZWFyYW5jZTogJ3Bvc2l0aXZlJ30pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC10aXRsZS1ibG9ja1wiPlxuICAgIDxoMlxuICAgICAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvaDI+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIHJvdXRlckxpbms9XCIuXCJcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInQtbGluay1hY3RpdmVcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGlua1wiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImNvcHkoKVwiXG4gICAgICAgIFtmcmFnbWVudF09XCJpZFwiXG4gICAgICAgIFtyZWxhdGl2ZVRvXT1cInJvdXRlLmZpcnN0Q2hpbGQgPz8gcm91dGVcIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie21hdHJpeFBhcmFtczogJ2V4YWN0JywgcXVlcnlQYXJhbXM6ICdleGFjdCcsIHBhdGhzOiAnZXhhY3QnLCBmcmFnbWVudDogJ2V4YWN0J31cIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKCRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgPlxuICAgICAgICAjXG4gICAgPC9hPlxuPC9kaXY+XG48aDNcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oMz5cblxuPGRpdlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbiAgICBbKHR1aUZ1bGxzY3JlZW4pXT1cImZ1bGxzY3JlZW5cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9jZXNzb3IoKSB8IHR1aURvY0V4YW1wbGVHZXRUYWJzOiBkZWZhdWx0VGFiIGFzIHRhYnNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ0YWJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnMtd3JhcHBlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc29yKCkgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtZWRpdG9yXCJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KHByb2Nlc3NvcigpKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImZ1bGxzY3JlZW5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2ljb25TdGFydF09XCJmdWxsc2NyZWVuID8gaWNvbnMuc2hyaW5rIDogaWNvbnMuZXhwYW5kXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZnVsbHNjcmVlbiA9ICFmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGdWxsc2NyZWVuXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZGVtb1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCAmJiBpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4ID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29tcG9uZW50KCkgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgIDx0dWktZG9jLWNvZGVcbiAgICAgICAgICAgICAgICAqdHVpTGV0PVwicHJvY2Vzc29yKClbdGFic1tpbmRleF0gfHwgMF0gfHwgJycgYXMgY29kZVwiXG4gICAgICAgICAgICAgICAgW2NvZGVdPVwiY29kZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCAmJiBpbmRleCAhPT0gZGVmYXVsdFRhYkluZGV4ID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvZGVBY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFjdGlvbiBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLWRvYy1jb2RlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
203
203
  type: ViewChild,
204
204
  args: [TuiTextfieldDirective, { read: ElementRef }]
205
205
  }], filterItems: [], flattenSubPages: [] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0gsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3RCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUUs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LGtCQUFrQixFQUFFLHVCQUF1QjtxQkFDOUM7MEVBSWdCLFdBQVc7c0JBRDNCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQTBHNUMsV0FBVyxNQTRCWCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVCwgTmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWQsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RpdGxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlLCBTY3JvbGx9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIFRVSV9ET0NfSUNPTlMsXG4gICAgVFVJX0RPQ19QQUdFX0xPQURFRCxcbiAgICBUVUlfRE9DX1NFQVJDSF9FTkFCTEVELFxuICAgIFRVSV9ET0NfU0VBUkNIX1RFWFQsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlEb2NSb3V0ZVBhZ2UsIFR1aURvY1JvdXRlUGFnZXN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHt0dWlUcmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUdWlTaWRlYmFyRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMvc2lkZWJhcic7XG5pbXBvcnQge1R1aUF1dG9Gb2N1c30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMnO1xuaW1wb3J0IHt0dWlDb250cm9sVmFsdWUsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpUHVyZSwgdHVpVW5pcUJ5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUdWlFeHBhbmR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VHVpU2Nyb2xsYmFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1R1aVRleHRmaWVsZCwgVHVpVGV4dGZpZWxkRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1RVSV9DT01NT05fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUFjY29yZGlvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbic7XG5pbXBvcnQge1R1aUlucHV0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXQsIFBvbHltb3JwaGV1c1RlbXBsYXRlfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgZmlsdGVyLCBmcm9tRXZlbnQsIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgTkFWSUdBVElPTl9JVEVNUyxcbiAgICBOQVZJR0FUSU9OX0xBQkVMUyxcbiAgICBOQVZJR0FUSU9OX1BST1ZJREVSUyxcbiAgICBOQVZJR0FUSU9OX1RJVExFLFxufSBmcm9tICcuL25hdmlnYXRpb24ucHJvdmlkZXJzJztcbmltcG9ydCB7VHVpRG9jU2Nyb2xsSW50b1ZpZXdMaW5rfSBmcm9tICcuL3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbmF2aWdhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgICAgICBUdWlBY2NvcmRpb24sXG4gICAgICAgIFR1aUF1dG9Gb2N1cyxcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aURvY1Njcm9sbEludG9WaWV3TGluayxcbiAgICAgICAgVHVpRXhwYW5kLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBUdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpU2Nyb2xsYmFyLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IE5BVklHQVRJT05fUFJPVklERVJTLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5fb3Blbl0nOiAnbWVudU9wZW4nLFxuICAgICAgICAnKHdpbmRvdzprZXlkb3duKSc6ICdvbkZvY3VzU2VhcmNoKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb24ge1xuICAgIEBWaWV3Q2hpbGQoVHVpVGV4dGZpZWxkRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByb3RlY3RlZCBvcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgbWVudU9wZW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzaWRlYmFyID0gaW5qZWN0KFR1aVNpZGViYXJEaXJlY3RpdmUsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsYWJlbHMgPSBpbmplY3QoTkFWSUdBVElPTl9MQUJFTFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpdGVtcyA9IGluamVjdChOQVZJR0FUSU9OX0lURU1TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoVGV4dCA9IGluamVjdChUVUlfRE9DX1NFQVJDSF9URVhUKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoRW5hYmxlZCA9IGluamVjdChUVUlfRE9DX1NFQVJDSF9FTkFCTEVEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jSWNvbnMgPSBpbmplY3QoVFVJX0RPQ19JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuXG4gICAgcHJvdGVjdGVkIG9wZW5QYWdlc0FycjogYm9vbGVhbltdID0gW107XG4gICAgcHJvdGVjdGVkIG9wZW5QYWdlc0dyb3Vwc0FycjogYm9vbGVhbltdID0gW107XG4gICAgcHJvdGVjdGVkIGFjdGl2ZSA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSB0b1NpZ25hbChcbiAgICAgICAgdHVpQ29udHJvbFZhbHVlPHN0cmluZz4odGhpcy5zZWFyY2gpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHNlYXJjaCkgPT4gc2VhcmNoLnRyaW0oKS5sZW5ndGggPiAyKSxcbiAgICAgICAgICAgIG1hcCgoc2VhcmNoKSA9PiB0aGlzLmZpbHRlckl0ZW1zKHRoaXMuZmxhdHRlblN1YlBhZ2VzKHRoaXMuaXRlbXMpLCBzZWFyY2gpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogW119LFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlKTtcbiAgICAgICAgY29uc3QgcmVhZHlUb1Njcm9sbCQgPSBpbmplY3QoVFVJX0RPQ19QQUdFX0xPQURFRCk7XG5cbiAgICAgICAgaW5qZWN0KE5BVklHQVRJT05fVElUTEUpXG4gICAgICAgICAgICAucGlwZSh0dWlXYXRjaCgpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRpdGxlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRpdGxlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIFNjcm9sbCA9PiBldmVudCBpbnN0YW5jZW9mIFNjcm9sbCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7YW5jaG9yfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgJ29uc2Nyb2xsZW5kJyBpbiB0aGlzLmRvY1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBmcm9tRXZlbnQodGhpcy5kb2MsICdzY3JvbGxlbmQnKS5waXBlKG1hcCgoKSA9PiBhbmNob3IpKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBvZihhbmNob3IpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgaW5qZWN0KE5BVklHQVRJT05fVElUTEUpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHJlYWR5VG9TY3JvbGwkLnBpcGUoZmlsdGVyKEJvb2xlYW4pKSksXG4gICAgICAgICAgICApLFxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBtYXAoKFthbmNob3JdKSA9PiBhbmNob3IgfHwgJycpLFxuICAgICAgICAgICAgICAgIGZpbHRlcjxzdHJpbmc+KEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoYW5jaG9yKSA9PiB0aGlzLm5hdmlnYXRlVG9BbmNob3JMaW5rKGFuY2hvcikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnNlYXJjaC52YWx1ZT8ubGVuZ3RoID8/IDApID4gMjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGl0ZW1zV2l0aG91dFNlY3Rpb25zKCk6IFR1aURvY1JvdXRlUGFnZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDFdID8/IFtdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCAkcGFnZXMocGFnZXM6IGFueSk6IHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZVtdIHtcbiAgICAgICAgcmV0dXJuIHBhZ2VzIGFzIFR1aURvY1JvdXRlUGFnZVtdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc0FjdGl2ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByb3V0ZSA9PT0gdGhpcy5hY3RpdmU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uR3JvdXBDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XSA9ICF0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlYXJjaC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzU2VhcmNoKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50LmNvZGUgPT09ICdTbGFzaCcgJiZcbiAgICAgICAgICAgICF0aGlzLmRvYy5hY3RpdmVFbGVtZW50Py5tYXRjaGVzKCdpbnB1dCx0ZXh0YXJlYSxbY29udGVudGVkaXRhYmxlXScpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVySXRlbXMoXG4gICAgICAgIGl0ZW1zOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZVtdPixcbiAgICAgICAgc2VhcmNoOiBzdHJpbmcsXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKChzZWN0aW9uKSA9PlxuICAgICAgICAgICAgdHVpVW5pcUJ5KFxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZmlsdGVyKCh7dGl0bGUsIGtleXdvcmRzID0gJyd9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAga2V5d29yZHMgPSBrZXl3b3Jkcy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHR1aVRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXModHVpVHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2gucmVwbGFjZUFsbCgnLScsICcnKS5pbmNsdWRlcyh0aXRsZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHNlYXJjaC5yZXBsYWNlQWxsKC9cXHN8dHVpL2csICcnKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHNlYXJjaC5yZXBsYWNlQWxsKC9cXHN8dHVpL2csICcnKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaC5zcGxpdCgvXFxzLykuZmluZCgod29yZCkgPT4gdGl0bGUuaW5jbHVkZXMod29yZCkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZsYXR0ZW5TdWJQYWdlcyhcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZXNbXSxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5yZWR1Y2U8UmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VbXT4+KFxuICAgICAgICAgICAgKGFycmF5LCBpdGVtKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYXJyYXksXG4gICAgICAgICAgICAgICAgaXRlbS5yZWR1Y2U8cmVhZG9ubHkgVHVpRG9jUm91dGVQYWdlW10+KFxuICAgICAgICAgICAgICAgICAgICAocGFnZXMsIHBhZ2UpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAnc3ViUGFnZXMnIGluIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFsuLi5wYWdlcywgLi4ucGFnZS5zdWJQYWdlc11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFsuLi5wYWdlcywgcGFnZV0sXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0FjdGl2ZVJvdXRlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKHJvdXRlLCB7XG4gICAgICAgICAgICBwYXRoczogJ3N1YnNldCcsXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogJ3N1YnNldCcsXG4gICAgICAgICAgICBmcmFnbWVudDogJ2lnbm9yZWQnLFxuICAgICAgICAgICAgbWF0cml4UGFyYW1zOiAnaWdub3JlZCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkFjdGl2ZVBhZ2VHcm91cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChwYWdlcywgcGFnZXNJbmRleCkgPT4ge1xuICAgICAgICAgICAgcGFnZXMuZm9yRWFjaCgocGFnZSwgcGFnZUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCdyb3V0ZScgaW4gcGFnZSAmJiB0aGlzLmlzQWN0aXZlUm91dGUocGFnZS5yb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNBcnJbcGFnZXNJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHBhZ2Uucm91dGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCdzdWJQYWdlcycgaW4gcGFnZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlLnN1YlBhZ2VzLmZvckVhY2goKHN1YlBhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlUm91dGUoc3ViUGFnZS5yb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0FycltwYWdlc0luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbcGFnZXNJbmRleCAqIDEwMCArIHBhZ2VJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gc3ViUGFnZS5yb3V0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmF2aWdhdGVUb0FuY2hvckxpbmsoZnJhZ21lbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub2RlcyA9IGZyYWdtZW50ID8gdGhpcy5kb2MucXVlcnlTZWxlY3RvckFsbChgIyR7ZnJhZ21lbnR9YCkgOiBbXTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5vZGVzLmxlbmd0aCAmJiBub2Rlc1tub2Rlcy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVtdWxhdGUgOnRhcmdldCBldmVudFxuICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgICAgdGFyZ2V0LmhyZWYgPSBgJHt0aGlzLmRvYy5sb2NhdGlvbi5wYXRobmFtZX0jJHtmcmFnbWVudH1gO1xuICAgICAgICB0YXJnZXQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgdGFyZ2V0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgdGhpcy5kb2MuYm9keS5hcHBlbmRDaGlsZCh0YXJnZXQpO1xuICAgICAgICB0YXJnZXQuY2xpY2soKTtcbiAgICAgICAgdGFyZ2V0LnJlbW92ZSgpO1xuICAgIH1cbn1cbiIsIjx0dWktdGV4dGZpZWxkXG4gICAgKm5nSWY9XCJzZWFyY2hFbmFibGVkKClcIlxuICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgIFtpY29uU3RhcnRdPVwiZG9jSWNvbnMuc2VhcmNoXCJcbiAgICBbb3Blbl09XCJvcGVuKCkgJiYgY2FuT3BlblwiXG4gICAgKGtleXVwKT1cIm9wZW4uc2V0KGNhbk9wZW4gJiYgJGV2ZW50LmNvZGUgIT09ICdFc2NhcGUnKVwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib3Blbi5zZXQoJGV2ZW50KVwiXG4+XG4gICAgPGNvZGVcbiAgICAgICAgKm5nSWY9XCIhc2VhcmNoLnZhbHVlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNsYXNoXCJcbiAgICA+XG4gICAgICAgIC9cbiAgICA8L2NvZGU+XG4gICAgPGlucHV0XG4gICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICBjbGFzcz1cInQtcHJldmVudC1pb3Mtc2Nyb2xsXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgW3R1aUF1dG9Gb2N1c109XCIhIXNpZGViYXJcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbk9wZW5cIj5cbiAgICAgICAgPHR1aS1kYXRhLWxpc3QgKnR1aVRleHRmaWVsZERyb3Bkb3duPlxuICAgICAgICAgICAgPHR1aS1vcHQtZ3JvdXBcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZmlsdGVyZWQoKTsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbHNbaW5kZXhdIHx8ICcnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0ucm91dGUuaW5jbHVkZXMoJzovLycpOyBlbHNlIGludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cIml0ZW0ucmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbnRlcm5hbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cIml0ZW0ucmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLW9wdC1ncm91cD5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC90dWktdGV4dGZpZWxkPlxuXG48bmF2IGNsYXNzPVwidC1uYXZpZ2F0aW9uXCI+XG4gICAgPHR1aS1zY3JvbGxiYXIgY2xhc3M9XCJ0LXNjcm9sbGJhclwiPlxuICAgICAgICA8dHVpLWFjY29yZGlvblxuICAgICAgICAgICAgW2NsYXNzLnQtYWNjb3JkaW9uLXN0YW5kYWxvbmVdPVwiIXNlYXJjaEVuYWJsZWQoKVwiXG4gICAgICAgICAgICBbY2xvc2VPdGhlcnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3JvdW5kZWRdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLWFjY29yZGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsczsgaW5kZXggYXMgaW5kZXhcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBbYm9yZGVyc109XCJudWxsXCJcbiAgICAgICAgICAgICAgICBbb3Blbl09XCIhIW9wZW5QYWdlc0FycltpbmRleF1cIlxuICAgICAgICAgICAgICAgIChvcGVuQ2hhbmdlKT1cIm9wZW5QYWdlc0FycltpbmRleF0gPSAkZXZlbnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGxhYmVsIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSB0dWlBY2NvcmRpb25JdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtc2VjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zW2luZGV4XTsgaW5kZXggYXMgc3ViSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW0sIGluZGV4OiBpbmRleCAqIDEwMCArIHN1YkluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktYWNjb3JkaW9uLWl0ZW0+XG4gICAgICAgIDwvdHVpLWFjY29yZGlvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtaXRlbXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNXaXRob3V0U2VjdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwYWdlc1wiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDogaXRlbXMubGVuZ3RoIC0gMSArIGluZGV4fVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICNwYWdlc1xuICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxuICAgICAgICAgICAgbGV0LWl0ZW09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnN1YlBhZ2VzOyBlbHNlIHN1YlBhZ2VzVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0ucm91dGUuaW5jbHVkZXMoJzovLycpOyBlbHNlIGludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3VibGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJpdGVtLnJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ludGVybmFsPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInQtc3VibGlua19hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cIml0ZW0ucmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlEb2NTY3JvbGxJbnRvVmlld0xpbmtdPVwiaXNBY3RpdmUoaXRlbS5yb3V0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTWVudSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1YlBhZ2VzVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJzZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogZmFsc2V9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJQYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJsaW5rIHQtc3VibGlua19zdWJzZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkdyb3VwQ2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNoZXZyb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNoZXZyb25fYWN0aXZlXT1cIiEhb3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbnMubW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1leHBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1leHBhbmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cIiEhb3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LXNlY3Rpb24gdC1zZWN0aW9uX2JvcmRlcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViUGFnZSBvZiAkcGFnZXMoaXRlbS5zdWJQYWdlcylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3ViUGFnZS5yb3V0ZS5pbmNsdWRlcygnOi8vJyk7IGVsc2UgaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmsgdC1zdWJsaW5rX3NtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJzdWJQYWdlLnJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJzdWJQYWdlLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwic3ViUGFnZS50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YlBhZ2UudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJzdWJQYWdlLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJ0LXN1YmxpbmtfYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmsgdC1zdWJsaW5rX3NtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwic3ViUGFnZS5yZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmcmFnbWVudF09XCJzdWJQYWdlLmZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJzdWJQYWdlLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInN1YlBhZ2UudGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlEb2NTY3JvbGxJbnRvVmlld0xpbmtdPVwiaXNBY3RpdmUoc3ViUGFnZS5yb3V0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViUGFnZS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwic3ViUGFnZS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90dWktZXhwYW5kPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS1zY3JvbGxiYXI+XG48L25hdj5cblxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0gsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3RCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUUs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QixrQkFBa0IsRUFBRSx1QkFBdUI7cUJBQzlDOzBFQUlnQixXQUFXO3NCQUQzQixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkEwRzVDLFdBQVcsTUE0QlgsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1JvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgU2Nyb2xsfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0lDT05TLFxuICAgIFRVSV9ET0NfUEFHRV9MT0FERUQsXG4gICAgVFVJX0RPQ19TRUFSQ0hfRU5BQkxFRCxcbiAgICBUVUlfRE9DX1NFQVJDSF9URVhULFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpRG9jUm91dGVQYWdlLCBUdWlEb2NSb3V0ZVBhZ2VzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpVHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VHVpU2lkZWJhckRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL3NpZGViYXInO1xuaW1wb3J0IHtUdWlBdXRvRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzJztcbmltcG9ydCB7dHVpQ29udHJvbFZhbHVlLCB0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aVB1cmUsIHR1aVVuaXFCeX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VHVpRXhwYW5kfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2V4cGFuZCc7XG5pbXBvcnQge1R1aUljb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aVNjcm9sbGJhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXInO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGQsIFR1aVRleHRmaWVsZERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlBY2NvcmRpb259IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hY2NvcmRpb24nO1xuaW1wb3J0IHtUdWlJbnB1dE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCB7VHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzL3RleHRmaWVsZC1jb250cm9sbGVyJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0LCBQb2x5bW9ycGhldXNUZW1wbGF0ZX0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZpbHRlciwgZnJvbUV2ZW50LCBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIE5BVklHQVRJT05fSVRFTVMsXG4gICAgTkFWSUdBVElPTl9MQUJFTFMsXG4gICAgTkFWSUdBVElPTl9QUk9WSURFUlMsXG4gICAgTkFWSUdBVElPTl9USVRMRSxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURvY1Njcm9sbEludG9WaWV3TGlua30gZnJvbSAnLi9zY3JvbGwtaW50by12aWV3LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLW5hdmlnYXRpb24nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICAgICAgVHVpQWNjb3JkaW9uLFxuICAgICAgICBUdWlBdXRvRm9jdXMsXG4gICAgICAgIFR1aURhdGFMaXN0LFxuICAgICAgICBUdWlEb2NTY3JvbGxJbnRvVmlld0xpbmssXG4gICAgICAgIFR1aUV4cGFuZCxcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpSW5wdXRNb2R1bGUsXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aVNjcm9sbGJhcixcbiAgICAgICAgVHVpVGV4dGZpZWxkLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBOQVZJR0FUSU9OX1BST1ZJREVSUyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX29wZW5dJzogJ21lbnVPcGVuJyxcbiAgICAgICAgJyh3aW5kb3c6a2V5ZG93biknOiAnb25Gb2N1c1NlYXJjaCgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NOYXZpZ2F0aW9uIHtcbiAgICBAVmlld0NoaWxkKFR1aVRleHRmaWVsZERpcmVjdGl2ZSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoSW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICBwcm90ZWN0ZWQgb3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIG1lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2lkZWJhciA9IGluamVjdChUdWlTaWRlYmFyRGlyZWN0aXZlLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWxzID0gaW5qZWN0KE5BVklHQVRJT05fTEFCRUxTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMgPSBpbmplY3QoTkFWSUdBVElPTl9JVEVNUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlYXJjaFRleHQgPSBpbmplY3QoVFVJX0RPQ19TRUFSQ0hfVEVYVCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlYXJjaEVuYWJsZWQgPSBpbmplY3QoVFVJX0RPQ19TRUFSQ0hfRU5BQkxFRCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY0ljb25zID0gaW5qZWN0KFRVSV9ET0NfSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcblxuICAgIHByb3RlY3RlZCBvcGVuUGFnZXNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIHByb3RlY3RlZCBvcGVuUGFnZXNHcm91cHNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIHByb3RlY3RlZCBhY3RpdmUgPSAnJztcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlcmVkID0gdG9TaWduYWwoXG4gICAgICAgIHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmc+KHRoaXMuc2VhcmNoKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChzZWFyY2gpID0+IHNlYXJjaC50cmltKCkubGVuZ3RoID4gMiksXG4gICAgICAgICAgICBtYXAoKHNlYXJjaCkgPT4gdGhpcy5maWx0ZXJJdGVtcyh0aGlzLmZsYXR0ZW5TdWJQYWdlcyh0aGlzLml0ZW1zKSwgc2VhcmNoKSksXG4gICAgICAgICksXG4gICAgICAgIHtpbml0aWFsVmFsdWU6IFtdfSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IHRpdGxlU2VydmljZSA9IGluamVjdChUaXRsZSk7XG4gICAgICAgIGNvbnN0IHJlYWR5VG9TY3JvbGwkID0gaW5qZWN0KFRVSV9ET0NfUEFHRV9MT0FERUQpO1xuXG4gICAgICAgIGluamVjdChOQVZJR0FUSU9OX1RJVExFKVxuICAgICAgICAgICAgLnBpcGUodHVpV2F0Y2goKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0aXRsZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuQWN0aXZlUGFnZUdyb3VwKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBTY3JvbGwgPT4gZXZlbnQgaW5zdGFuY2VvZiBTY3JvbGwpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoe2FuY2hvcn0pID0+XG4gICAgICAgICAgICAgICAgICAgICdvbnNjcm9sbGVuZCcgaW4gdGhpcy5kb2NcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZnJvbUV2ZW50KHRoaXMuZG9jLCAnc2Nyb2xsZW5kJykucGlwZShtYXAoKCkgPT4gYW5jaG9yKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogb2YoYW5jaG9yKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGluamVjdChOQVZJR0FUSU9OX1RJVExFKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiByZWFkeVRvU2Nyb2xsJC5waXBlKGZpbHRlcihCb29sZWFuKSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgbWFwKChbYW5jaG9yXSkgPT4gYW5jaG9yIHx8ICcnKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI8c3RyaW5nPihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFuY2hvcikgPT4gdGhpcy5uYXZpZ2F0ZVRvQW5jaG9yTGluayhhbmNob3IpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5zZWFyY2gudmFsdWU/Lmxlbmd0aCA/PyAwKSA+IDI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpdGVtc1dpdGhvdXRTZWN0aW9ucygpOiBUdWlEb2NSb3V0ZVBhZ2VzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pdGVtcy5sZW5ndGggLSAxXSA/PyBbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgJHBhZ2VzPFQgZXh0ZW5kcyBUdWlEb2NSb3V0ZVBhZ2VbXT4ocGFnZXM6IFQpOiByZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VbXSB7XG4gICAgICAgIHJldHVybiBwYWdlcyBhcyBUdWlEb2NSb3V0ZVBhZ2VbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNBY3RpdmUocm91dGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcm91dGUgPT09IHRoaXMuYWN0aXZlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkdyb3VwQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF0gPSAhdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWFyY2guc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c1NlYXJjaChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5jb2RlID09PSAnU2xhc2gnICYmXG4gICAgICAgICAgICAhdGhpcy5kb2MuYWN0aXZlRWxlbWVudD8ubWF0Y2hlcygnaW5wdXQsdGV4dGFyZWEsW2NvbnRlbnRlZGl0YWJsZV0nKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZpbHRlckl0ZW1zKFxuICAgICAgICBpdGVtczogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VbXT4sXG4gICAgICAgIHNlYXJjaDogc3RyaW5nLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUm91dGVQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoc2VjdGlvbikgPT5cbiAgICAgICAgICAgIHR1aVVuaXFCeShcbiAgICAgICAgICAgICAgICBzZWN0aW9uLmZpbHRlcigoe3RpdGxlLCBrZXl3b3JkcyA9ICcnfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzID0ga2V5d29yZHMudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyhzZWFyY2gpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyhzZWFyY2gpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyh0dWlUcmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXQoc2VhcmNoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHR1aVRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoLnJlcGxhY2VBbGwoJy0nLCAnJykuaW5jbHVkZXModGl0bGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyhzZWFyY2gucmVwbGFjZUFsbCgvXFxzfHR1aS9nLCAnJykpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyhzZWFyY2gucmVwbGFjZUFsbCgvXFxzfHR1aS9nLCAnJykpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2guc3BsaXQoL1xccy8pLmZpbmQoKHdvcmQpID0+IHRpdGxlLmluY2x1ZGVzKHdvcmQpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmbGF0dGVuU3ViUGFnZXMoXG4gICAgICAgIGl0ZW1zOiByZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VzW10sXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NSb3V0ZVBhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlPFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUm91dGVQYWdlW10+PihcbiAgICAgICAgICAgIChhcnJheSwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgIGl0ZW0ucmVkdWNlPHJlYWRvbmx5IFR1aURvY1JvdXRlUGFnZVtdPihcbiAgICAgICAgICAgICAgICAgICAgKHBhZ2VzLCBwYWdlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1YlBhZ2VzJyBpbiBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBbLi4ucGFnZXMsIC4uLnBhZ2Uuc3ViUGFnZXNdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbLi4ucGFnZXMsIHBhZ2VdLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBY3RpdmVSb3V0ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5pc0FjdGl2ZShyb3V0ZSwge1xuICAgICAgICAgICAgcGF0aHM6ICdzdWJzZXQnLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6ICdzdWJzZXQnLFxuICAgICAgICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgICAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5BY3RpdmVQYWdlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgocGFnZXMsIHBhZ2VzSW5kZXgpID0+IHtcbiAgICAgICAgICAgIHBhZ2VzLmZvckVhY2goKHBhZ2UsIHBhZ2VJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgncm91dGUnIGluIHBhZ2UgJiYgdGhpcy5pc0FjdGl2ZVJvdXRlKHBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBwYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgnc3ViUGFnZXMnIGluIHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5zdWJQYWdlcy5mb3JFYWNoKChzdWJQYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZVJvdXRlKHN1YlBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNBcnJbcGFnZXNJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW3BhZ2VzSW5kZXggKiAxMDAgKyBwYWdlSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHN1YlBhZ2Uucm91dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5hdmlnYXRlVG9BbmNob3JMaW5rKGZyYWdtZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBmcmFnbWVudCA/IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoYCMke2ZyYWdtZW50fWApIDogW107XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBub2Rlcy5sZW5ndGggJiYgbm9kZXNbbm9kZXMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlbXVsYXRlIDp0YXJnZXQgZXZlbnRcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gICAgICAgIHRhcmdldC5ocmVmID0gYCR7dGhpcy5kb2MubG9jYXRpb24ucGF0aG5hbWV9IyR7ZnJhZ21lbnR9YDtcbiAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIHRoaXMuZG9jLmJvZHkuYXBwZW5kQ2hpbGQodGFyZ2V0KTtcbiAgICAgICAgdGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIHRhcmdldC5yZW1vdmUoKTtcbiAgICB9XG59XG4iLCI8dHVpLXRleHRmaWVsZFxuICAgICpuZ0lmPVwic2VhcmNoRW5hYmxlZCgpXCJcbiAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICBbaWNvblN0YXJ0XT1cImRvY0ljb25zLnNlYXJjaFwiXG4gICAgW29wZW5dPVwib3BlbigpICYmIGNhbk9wZW5cIlxuICAgIChrZXl1cCk9XCJvcGVuLnNldChjYW5PcGVuICYmICRldmVudC5jb2RlICE9PSAnRXNjYXBlJylcIlxuICAgIChvcGVuQ2hhbmdlKT1cIm9wZW4uc2V0KCRldmVudClcIlxuPlxuICAgIDxjb2RlXG4gICAgICAgICpuZ0lmPVwiIXNlYXJjaC52YWx1ZVwiXG4gICAgICAgIGNsYXNzPVwidC1zbGFzaFwiXG4gICAgPlxuICAgICAgICAvXG4gICAgPC9jb2RlPlxuICAgIDxpbnB1dFxuICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgY2xhc3M9XCJ0LXByZXZlbnQtaW9zLXNjcm9sbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgIFt0dWlBdXRvRm9jdXNdPVwiISFzaWRlYmFyXCJcbiAgICAvPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5PcGVuXCI+XG4gICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICAgICAgICAgIDx0dWktb3B0LWdyb3VwXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkKCk7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwibGFiZWxzW2luZGV4XSB8fCAnJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnJvdXRlLmluY2x1ZGVzKCc6Ly8nKTsgZWxzZSBpbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJpdGVtLnJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJpdGVtLnJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3R1aS1vcHQtZ3JvdXA+XG4gICAgICAgIDwvdHVpLWRhdGEtbGlzdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdHVpLXRleHRmaWVsZD5cblxuPG5hdiBjbGFzcz1cInQtbmF2aWdhdGlvblwiPlxuICAgIDx0dWktc2Nyb2xsYmFyIGNsYXNzPVwidC1zY3JvbGxiYXJcIj5cbiAgICAgICAgPHR1aS1hY2NvcmRpb25cbiAgICAgICAgICAgIFtjbGFzcy50LWFjY29yZGlvbi1zdGFuZGFsb25lXT1cIiFzZWFyY2hFbmFibGVkKClcIlxuICAgICAgICAgICAgW2Nsb3NlT3RoZXJzXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtyb3VuZGVkXT1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1hY2NvcmRpb24taXRlbVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBsYWJlbHM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgW2JvcmRlcnNdPVwibnVsbFwiXG4gICAgICAgICAgICAgICAgW29wZW5dPVwiISFvcGVuUGFnZXNBcnJbaW5kZXhdXCJcbiAgICAgICAgICAgICAgICAob3BlbkNoYW5nZSk9XCJvcGVuUGFnZXNBcnJbaW5kZXhdID0gJGV2ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBsYWJlbCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdHVpQWNjb3JkaW9uSXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1tpbmRleF07IGluZGV4IGFzIHN1YkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDogaW5kZXggKiAxMDAgKyBzdWJJbmRleH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWFjY29yZGlvbi1pdGVtPlxuICAgICAgICA8L3R1aS1hY2NvcmRpb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWl0ZW1zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zV2l0aG91dFNlY3Rpb25zOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFnZXNcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgaW5kZXg6IGl0ZW1zLmxlbmd0aCAtIDEgKyBpbmRleH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAjcGFnZXNcbiAgICAgICAgICAgIGxldC1pbmRleD1cImluZGV4XCJcbiAgICAgICAgICAgIGxldC1pdGVtPVwiaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5zdWJQYWdlczsgZWxzZSBzdWJQYWdlc1RlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnJvdXRlLmluY2x1ZGVzKCc6Ly8nKTsgZWxzZSBpbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiaXRlbS5yZWxcIlxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbnRlcm5hbD5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJ0LXN1YmxpbmtfYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJpdGVtLnJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpRG9jU2Nyb2xsSW50b1ZpZXdMaW5rXT1cImlzQWN0aXZlKGl0ZW0ucm91dGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWJQYWdlc1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3Vic2VjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IGZhbHNlfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uc3ViUGFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3VibGluayB0LXN1Ymxpbmtfc3Vic2VjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Hcm91cENsaWNrKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jaGV2cm9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jaGV2cm9uX2FjdGl2ZV09XCIhIW9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25zLm1vcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZXhwYW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCIhIW9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1zZWN0aW9uIHQtc2VjdGlvbl9ib3JkZXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YlBhZ2Ugb2YgJHBhZ2VzKGl0ZW0uc3ViUGFnZXMpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN1YlBhZ2Uucm91dGUuaW5jbHVkZXMoJzovLycpOyBlbHNlIGludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJsaW5rIHQtc3VibGlua19zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwic3ViUGFnZS5yZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwic3ViUGFnZS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInN1YlBhZ2UudGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJQYWdlLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwic3ViUGFnZS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ludGVybmFsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwidC1zdWJsaW5rX2FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJsaW5rIHQtc3VibGlua19zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cInN1YlBhZ2UucmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwic3ViUGFnZS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwic3ViUGFnZS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJzdWJQYWdlLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpRG9jU2Nyb2xsSW50b1ZpZXdMaW5rXT1cImlzQWN0aXZlKHN1YlBhZ2Uucm91dGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNZW51KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YlBhZ2UudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cInN1YlBhZ2UuaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLWV4cGFuZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90dWktc2Nyb2xsYmFyPlxuPC9uYXY+XG5cbjxuZy1jb250ZW50IC8+XG4iXX0=
@@ -1,8 +1,10 @@
1
+ import { tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
1
2
  function checkValueIsEmpty(value) {
2
- const nextValue = typeof value === 'string' ? value.trim() : value;
3
- return ['', NaN, null, undefined].includes(nextValue);
3
+ return tuiIsString(value)
4
+ ? value.trim() === ''
5
+ : value == null || Number.isNaN(value);
4
6
  }
5
7
  export function tuiCleanObject(object) {
6
8
  return JSON.parse(JSON.stringify(object, (_key, value) => checkValueIsEmpty(value) ? undefined : value));
7
9
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3V0aWxzL2NsZWFuLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxTQUFTLGlCQUFpQixDQUFJLEtBQXFCO0lBQy9DLE1BQU0sU0FBUyxHQUFRLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFeEUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBSSxNQUFTO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDYixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxLQUFjLEVBQUUsRUFBRSxDQUNwRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQy9DLENBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUdWlEZWVwUGFydGlhbDxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXT86IFRbS10gZXh0ZW5kcyBvYmplY3QgPyBUdWlEZWVwUGFydGlhbDxUW0tdPiA6IFRbS107XG59O1xuXG50eXBlIEVtcHR5VmFsdWUgPSAnJyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGNoZWNrVmFsdWVJc0VtcHR5PFQ+KHZhbHVlOiBFbXB0eVZhbHVlIHwgVCk6IHZhbHVlIGlzIEVtcHR5VmFsdWUge1xuICAgIGNvbnN0IG5leHRWYWx1ZTogYW55ID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnRyaW0oKSA6IHZhbHVlO1xuXG4gICAgcmV0dXJuIFsnJywgTmFOLCBudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKG5leHRWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDbGVhbk9iamVjdDxUPihvYmplY3Q6IFQpOiBUdWlEZWVwUGFydGlhbDxUPiB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KG9iamVjdCwgKF9rZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pID0+XG4gICAgICAgICAgICBjaGVja1ZhbHVlSXNFbXB0eSh2YWx1ZSkgPyB1bmRlZmluZWQgOiB2YWx1ZSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3V0aWxzL2NsZWFuLW9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFROUQsU0FBUyxpQkFBaUIsQ0FBSSxLQUFxQjtJQUMvQyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQ3JCLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksTUFBUztJQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsS0FBYyxFQUFFLEVBQUUsQ0FDcEQsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUMvQyxDQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuZXhwb3J0IHR5cGUgVHVpRGVlcFBhcnRpYWw8VD4gPSB7XG4gICAgW0sgaW4ga2V5b2YgVF0/OiBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gVHVpRGVlcFBhcnRpYWw8VFtLXT4gOiBUW0tdO1xufTtcblxudHlwZSBFbXB0eVZhbHVlID0gJycgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBjaGVja1ZhbHVlSXNFbXB0eTxUPih2YWx1ZTogRW1wdHlWYWx1ZSB8IFQpOiB2YWx1ZSBpcyBFbXB0eVZhbHVlIHtcbiAgICByZXR1cm4gdHVpSXNTdHJpbmcodmFsdWUpXG4gICAgICAgID8gdmFsdWUudHJpbSgpID09PSAnJ1xuICAgICAgICA6IHZhbHVlID09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNsZWFuT2JqZWN0PFQ+KG9iamVjdDogVCk6IFR1aURlZXBQYXJ0aWFsPFQ+IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkob2JqZWN0LCAoX2tleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT5cbiAgICAgICAgICAgIGNoZWNrVmFsdWVJc0VtcHR5KHZhbHVlKSA/IHVuZGVmaW5lZCA6IHZhbHVlLFxuICAgICAgICApLFxuICAgICk7XG59XG4iXX0=
@@ -6,4 +6,4 @@ export function tuiTryParseMarkdownCodeBlock(text = '') {
6
6
  .map(({ content }) => content.trim());
7
7
  return result.length ? result : [text];
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29kZS1ibG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy91dGlscy9wYXJzZS1jb2RlLWJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUVyQyxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFBSSxHQUFHLEVBQUU7SUFDbEQsTUFBTSxNQUFNLEdBQXVCLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNO1NBQ2hCLE1BQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLENBQUM7U0FDM0QsR0FBRyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFeEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYXJrZG93bkl0IGZyb20gJ21hcmtkb3duLWl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2sodGV4dCA9ICcnKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHRva2VuczogTWFya2Rvd25JdC5Ub2tlbltdID0gbmV3IE1hcmtkb3duSXQoKS5wYXJzZSh0ZXh0LCB7fSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9rZW5zXG4gICAgICAgIC5maWx0ZXIoKHt0YWcsIHR5cGV9KSA9PiB0YWcgPT09ICdjb2RlJyAmJiB0eXBlID09PSAnZmVuY2UnKVxuICAgICAgICAubWFwKCh7Y29udGVudH0pID0+IGNvbnRlbnQudHJpbSgpKTtcblxuICAgIHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0IDogW3RleHRdO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29kZS1ibG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy91dGlscy9wYXJzZS1jb2RlLWJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUVyQyxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFBSSxHQUFHLEVBQUU7SUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU07U0FDaEIsTUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQztTQUMzRCxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV4QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hcmtkb3duSXQgZnJvbSAnbWFya2Rvd24taXQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpVHJ5UGFyc2VNYXJrZG93bkNvZGVCbG9jayh0ZXh0ID0gJycpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdG9rZW5zID0gbmV3IE1hcmtkb3duSXQoKS5wYXJzZSh0ZXh0LCB7fSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9rZW5zXG4gICAgICAgIC5maWx0ZXIoKHt0YWcsIHR5cGV9KSA9PiB0YWcgPT09ICdjb2RlJyAmJiB0eXBlID09PSAnZmVuY2UnKVxuICAgICAgICAubWFwKCh7Y29udGVudH0pID0+IGNvbnRlbnQudHJpbSgpKTtcblxuICAgIHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0IDogW3RleHRdO1xufVxuIl19