@taiga-ui/addon-mobile 4.10.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/sheet-dialog/sheet-dialog.component.d.ts +1 -13
- package/components/sheet-dialog/sheet-dialog.options.d.ts +5 -2
- package/components/sheet-dialog/sheet-dialog.service.d.ts +3 -0
- package/directives/index.d.ts +1 -0
- package/directives/responsive-dialog/index.d.ts +2 -0
- package/directives/responsive-dialog/responsive-dialog.directive.d.ts +7 -0
- package/directives/responsive-dialog/responsive-dialog.service.d.ts +22 -0
- package/esm2022/components/mobile-calendar/mobile-calendar.component.mjs +1 -1
- package/esm2022/components/mobile-calendar/mobile-calendar.providers.mjs +4 -4
- package/esm2022/components/mobile-calendar-dropdown/mobile-calendar-dropdown.component.mjs +4 -3
- package/esm2022/components/sheet-dialog/sheet-dialog.component.mjs +21 -63
- package/esm2022/components/sheet-dialog/sheet-dialog.options.mjs +2 -1
- package/esm2022/components/sheet-dialog/sheet-dialog.service.mjs +21 -2
- package/esm2022/components/tab-bar/tab-bar-item.directive.mjs +3 -3
- package/esm2022/directives/dropdown-mobile/dropdown-mobile.component.mjs +2 -2
- package/esm2022/directives/index.mjs +2 -1
- package/esm2022/directives/responsive-dialog/index.mjs +3 -0
- package/esm2022/directives/responsive-dialog/responsive-dialog.directive.mjs +21 -0
- package/esm2022/directives/responsive-dialog/responsive-dialog.service.mjs +34 -0
- package/esm2022/directives/responsive-dialog/taiga-ui-addon-mobile-directives-responsive-dialog.mjs +5 -0
- package/esm2022/services/keyboard.service.mjs +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs +3 -2
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs +3 -3
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs +42 -63
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs +2 -2
- package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-responsive-dialog.mjs +57 -0
- package/fesm2022/taiga-ui-addon-mobile-directives-responsive-dialog.mjs.map +1 -0
- package/fesm2022/taiga-ui-addon-mobile-directives.mjs +1 -0
- package/fesm2022/taiga-ui-addon-mobile-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-services.mjs.map +1 -1
- package/package.json +12 -6
- package/styles/android/app-bar.less +4 -4
- package/styles/common/button.less +8 -8
- package/styles/{ios → common}/search.less +0 -1
- package/styles/taiga-ui-mobile.less +17 -16
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import type { AfterViewInit } from '@angular/core';
|
|
2
2
|
import type { TuiPopover } from '@taiga-ui/cdk/services';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
3
|
import type { TuiSheetDialogOptions } from './sheet-dialog.options';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class TuiSheetDialogComponent<I> implements AfterViewInit {
|
|
7
|
-
private readonly
|
|
8
|
-
private readonly stopsRefs;
|
|
6
|
+
private readonly stops;
|
|
9
7
|
private readonly el;
|
|
10
|
-
private readonly speed;
|
|
11
8
|
private pointers;
|
|
12
9
|
protected readonly slideInTop: {
|
|
13
10
|
value: string;
|
|
@@ -16,19 +13,10 @@ export declare class TuiSheetDialogComponent<I> implements AfterViewInit {
|
|
|
16
13
|
duration: number;
|
|
17
14
|
};
|
|
18
15
|
};
|
|
19
|
-
protected readonly stuck$: BehaviorSubject<boolean>;
|
|
20
|
-
protected readonly stuck$$: import("rxjs").Subscription;
|
|
21
|
-
protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
|
|
22
|
-
protected readonly closeWord$: import("rxjs").Observable<string>;
|
|
23
16
|
protected readonly context: TuiPopover<TuiSheetDialogOptions<I>, any>;
|
|
24
17
|
ngAfterViewInit(): void;
|
|
25
|
-
protected get offset(): number;
|
|
26
|
-
protected get closeable(): boolean;
|
|
27
|
-
protected get isSmall(): boolean;
|
|
28
18
|
protected close(): void;
|
|
29
19
|
protected onPointerChange(delta: number): void;
|
|
30
|
-
private get sheetTop();
|
|
31
|
-
private getStops;
|
|
32
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSheetDialogComponent<any>, never>;
|
|
33
21
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiSheetDialogComponent<any>, "tui-sheet-dialog", never, {}, {}, never, never, true, never>;
|
|
34
22
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Provider } from '@angular/core';
|
|
2
|
+
import type { TuiPopover } from '@taiga-ui/cdk/services';
|
|
2
3
|
import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
4
|
+
import type { Observable } from 'rxjs';
|
|
3
5
|
export interface TuiSheetDialogOptions<I = undefined> {
|
|
4
|
-
readonly closeable: boolean;
|
|
6
|
+
readonly closeable: Observable<boolean> | boolean;
|
|
5
7
|
readonly data: I;
|
|
6
8
|
readonly initial: number;
|
|
7
|
-
readonly label: PolymorpheusContent
|
|
9
|
+
readonly label: PolymorpheusContent<TuiPopover<TuiSheetDialogOptions<I>, any>>;
|
|
8
10
|
readonly offset: number;
|
|
9
11
|
readonly stops: readonly string[];
|
|
12
|
+
readonly bar: boolean;
|
|
10
13
|
}
|
|
11
14
|
export declare const TUI_SHEET_DIALOG_DEFAULT_OPTIONS: TuiSheetDialogOptions;
|
|
12
15
|
/**
|
|
@@ -2,6 +2,9 @@ import { TuiPopoverService } from '@taiga-ui/cdk/services';
|
|
|
2
2
|
import type { TuiSheetDialogOptions } from './sheet-dialog.options';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiSheetDialogService extends TuiPopoverService<TuiSheetDialogOptions<any>> {
|
|
5
|
+
private readonly theme;
|
|
6
|
+
private initial;
|
|
7
|
+
protected readonly $: import("rxjs").Subscription;
|
|
5
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSheetDialogService, never>;
|
|
6
9
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiSheetDialogService>;
|
|
7
10
|
}
|
package/directives/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from '@taiga-ui/addon-mobile/directives/dropdown-mobile';
|
|
2
2
|
export * from '@taiga-ui/addon-mobile/directives/elastic-sticky';
|
|
3
|
+
export * from '@taiga-ui/addon-mobile/directives/responsive-dialog';
|
|
3
4
|
export * from '@taiga-ui/addon-mobile/directives/ripple';
|
|
4
5
|
export * from '@taiga-ui/addon-mobile/directives/sidebar';
|
|
5
6
|
export * from '@taiga-ui/addon-mobile/directives/touchable';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
|
|
2
|
+
import type { TuiResponsiveDialogOptions } from './responsive-dialog.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TuiResponsiveDialog extends TuiPopoverDirective<TuiResponsiveDialogOptions> {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiResponsiveDialog, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiResponsiveDialog, "ng-template[tuiResponsiveDialog]", never, { "options": { "alias": "tuiResponsiveDialogOptions"; "required": false; }; "open": { "alias": "tuiResponsiveDialog"; "required": false; }; }, { "openChange": "tuiResponsiveDialogChange"; }, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { TuiSheetDialogOptions } from '@taiga-ui/addon-mobile/components/sheet-dialog';
|
|
2
|
+
import type { TuiDialogContext, TuiDialogOptions } from '@taiga-ui/core/components/dialog';
|
|
3
|
+
import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
4
|
+
import type { Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export interface TuiResponsiveDialogOptions<I = undefined> extends Omit<TuiDialogOptions<I>, 'label'>, TuiSheetDialogOptions<unknown> {
|
|
7
|
+
readonly data: I extends void ? undefined : I & {
|
|
8
|
+
button?: string;
|
|
9
|
+
};
|
|
10
|
+
readonly label: PolymorpheusContent;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Same as `TuiDialogService` but automatically switches to `TuiSheetDialogService` on mobile
|
|
14
|
+
*/
|
|
15
|
+
export declare class TuiResponsiveDialogService {
|
|
16
|
+
private readonly isMobile;
|
|
17
|
+
private readonly dialogs;
|
|
18
|
+
private readonly sheets;
|
|
19
|
+
open<G = void>(content: PolymorpheusContent<TuiDialogContext<G> & TuiResponsiveDialogOptions<any>>, options?: Partial<TuiResponsiveDialogOptions<any>>): Observable<G>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiResponsiveDialogService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TuiResponsiveDialogService>;
|
|
22
|
+
}
|
|
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
297
297
|
}], value: [{
|
|
298
298
|
type: Input
|
|
299
299
|
}] } });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDL0YsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxvQkFBb0IsR0FDdkIsTUFBTSwyQkFB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QVM7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRVMsVUFBVSxDQUFDLEdBQVc7UUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDcEI7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xEO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFdBQVcsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENB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LEdBQUc7c0JBRFQsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsTUFBTTtnQkFJUyxPQUFPO3NCQUR0QixNQUFNO2dCQU1TLFdBQVc7c0JBRDFCLE1BQU07Z0JBc0NPLEtBQUs7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gICAgQ2RrVmlydHVhbEZvck9mLFxuICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge0FzeW5jUGlwZSwgRE9DVU1FTlQsIE5nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJTaGVldH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1zaGVldCc7XG5pbXBvcnQge1R1aVJpcHBsZSwgVHVpVG91Y2hhYmxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBNT05USFNfSU5fWUVBUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG4gICAgdHVpWm9uZWZyZWUsXG4gICAgdHVpWm9uZWZyZWVTY2hlZHVsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlNYXBwZXJQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL21hcHBlcic7XG5pbXBvcnQge1RVSV9JU19FMkUsIFRVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlciwgVHVpTWFwcGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aU1vbnRoUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvbW9udGgnO1xuaW1wb3J0IHtUdWlPcmRlcldlZWtEYXlzUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvb3JkZXItd2Vlay1kYXlzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTlNfU1BFRUQsXG4gICAgVFVJX0NMT1NFX1dPUkQsXG4gICAgVFVJX0NPTU1PTl9JQ09OUyxcbiAgICBUVUlfU0hPUlRfV0VFS19EQVlTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXREdXJhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9DQU5DRUxfV09SRCxcbiAgICBUVUlfQ0hPT1NFX0RBWV9PUl9SQU5HRV9URVhUUyxcbiAgICBUVUlfRE9ORV9XT1JELFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvZ2dsZURheX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQgdHlwZSB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQmVoYXZpb3JTdWJqZWN0LFxuICAgIGRlYm91bmNlVGltZSxcbiAgICBkZWxheSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgaWRlbnRpdHksXG4gICAgbWFwLFxuICAgIG1lcmdlTWFwLFxuICAgIHJhY2UsXG4gICAgc2tpcCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGltZXIsXG4gICAgd2luZG93VG9nZ2xlLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBSQU5HRSxcbiAgICBTQ1JPTExfREVCT1VOQ0VfVElNRSxcbiAgICBTVEFSVElOR19ZRUFSLFxuICAgIFlFQVJTX0lOX1JPVyxcbn0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXIuY29uc3QnO1xuaW1wb3J0IHtcbiAgICBUVUlfTU9CSUxFX0NBTEVOREFSX1BST1ZJREVSUyxcbiAgICBUVUlfVkFMVUVfU1RSRUFNLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5wcm92aWRlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLW1vYmlsZS1jYWxlbmRhcicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gICAgICAgIENka1ZpcnR1YWxGb3JPZixcbiAgICAgICAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aU1hcHBlclBpcGUsXG4gICAgICAgIFR1aU1vYmlsZUNhbGVuZGFyU2hlZXQsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICAgICAgVHVpT3JkZXJXZWVrRGF5c1BpcGUsXG4gICAgICAgIFR1aVJpcHBsZSxcbiAgICAgICAgVHVpVG91Y2hhYmxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX01PQklMRV9DQUxFTkRBUl9QUk9WSURFUlMsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9pb3NdJzogJ2lzSU9TJyxcbiAgICAgICAgJ1tjbGFzcy5faW5pdGlhbGl6ZWRdJzogJ2luaXRpYWxpemVkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3llYXJzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHllYXJzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgQFZpZXdDaGlsZCgnbW9udGhzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vbnRoc1Njcm9sbFJlZj86IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGxcbiAgICA+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcbiAgICBwcml2YXRlIGFjdGl2ZVllYXIgPSAwO1xuICAgIHByaXZhdGUgYWN0aXZlTW9udGggPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVlZCA9IGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNFMkUgPSBpbmplY3QoVFVJX0lTX0UyRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZVdvcmQkID0gaW5qZWN0KFRVSV9DTE9TRV9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuY2VsV29yZCQgPSBpbmplY3QoVFVJX0NBTkNFTF9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9uZVdvcmQkID0gaW5qZWN0KFRVSV9ET05FX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1bm9yZGVyZWRXZWVrRGF5cyQgPSBpbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNob29zZURheU9yUmFuZ2VUZXh0cyQgPSBpbmplY3QoVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgeWVhcnMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IFJBTkdFfSwgKF8sIGkpID0+IGkgKyBTVEFSVElOR19ZRUFSKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9udGhzID0gQXJyYXkuZnJvbShcbiAgICAgICAge2xlbmd0aDogUkFOR0UgKiAxMn0sXG4gICAgICAgIChfLCBpKSA9PlxuICAgICAgICAgICAgbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoaSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgaSAlIE1PTlRIU19JTl9ZRUFSLFxuICAgICAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2luZ2xlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IFRVSV9GQUxTRV9IQU5ETEVSO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXVxuICAgID4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy50b1N0cmluZygpID09PSBiPy50b1N0cmluZygpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoVFVJX1ZBTFVFX1NUUkVBTSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB0aGlzLmluaXRpYWxZZWFyO1xuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gdGhpcy5pbml0aWFsTW9udGg7XG5cbiAgICAgICAgLy8gVmlydHVhbCBzY3JvbGwgaGFzIG5vdCB5ZXQgcmVuZGVyZWQgaXRlbXMgZXZlbiBpbiBuZ0FmdGVyVmlld0luaXRcbiAgICAgICAgdGhpcy53YWl0U2Nyb2xsZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlWWVhciA9PT0geWVhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KHllYXIpO1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcignc21vb3RoJyk7XG5cbiAgICAgICAgdGltZXIoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUodGhpcy5uZ1pvbmUpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCkpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy52YWx1ZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB2YWx1ZSgpOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlJC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHllYXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gWUVBUlNfSU5fUk9XO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aVZhbHVlKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdHVpVG9nZ2xlRGF5KHRoaXMudmFsdWUsIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFR1aURheVJhbmdlLnNvcnQodGhpcy52YWx1ZSwgZGF5KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UgJiYgIXRoaXMudmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gVHVpRGF5UmFuZ2Uuc29ydCh0aGlzLnZhbHVlLmZyb20sIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0U3RhdGUoaW5kZXg6IG51bWJlcik6ICdhY3RpdmUnIHwgJ2FkamFjZW50JyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXggLSAxKSB8fCB0aGlzLmlzWWVhckFjdGl2ZShpbmRleCArIDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FkamFjZW50JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gU2tpcHBpbmcgaW5pdGlhbCBjYWxsYmFjayB3aGVyZSBpbmRleCA9PT0gMFxuICAgICAgICBpZiAoIW1vbnRoIHx8IHRoaXMuYWN0aXZlTW9udGggPT09IG1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGg7XG5cbiAgICAgICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMubW9udGhUb1llYXIobW9udGgpO1xuXG4gICAgICAgIGlmIChhY3RpdmVZZWFyID09PSB0aGlzLmFjdGl2ZVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgW1R1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sIFR1aURheSwgVHVpRGF5XSxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PlxuICAgID4gPSAoZGlzYWJsZWRJdGVtSGFuZGxlciwgbWluLCBtYXgpID0+IChpdGVtKSA9PlxuICAgICAgICBpdGVtLmRheUJlZm9yZShtaW4pIHx8XG4gICAgICAgIChtYXggIT09IG51bGwgJiYgaXRlbS5kYXlBZnRlcihtYXgpKSB8fFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pO1xuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RheS55ZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uWzBdPy55ZWFyID8/IHRoaXMudG9kYXkueWVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvLnllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkubW9udGggKyAodGhpcy50b2RheS55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tb250aCArICh0aGlzLnZhbHVlLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZT8uWzBdPy5tb250aCA/PyB0aGlzLnRvZGF5Lm1vbnRoKSArXG4gICAgICAgICAgICAgICAgKCh0aGlzLnZhbHVlPy5bMF0/LnllYXIgPz8gdGhpcy50b2RheS55ZWFyKSAtIFNUQVJUSU5HX1lFQVIpICpcbiAgICAgICAgICAgICAgICAgICAgTU9OVEhTX0lOX1lFQVJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZS50by5tb250aCArICh0aGlzLnZhbHVlLnRvLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc011bHRpVmFsdWUoZGF5OiBhbnkpOiBkYXkgaXMgcmVhZG9ubHkgVHVpRGF5W10gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gIShkYXkgaW5zdGFuY2VvZiBUdWlEYXkpICYmICEoZGF5IGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpICYmIHRoaXMubXVsdGk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRZZWFyc1ZpZXdwb3J0U2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyc1Njcm9sbFJlZj8uZ2V0Vmlld3BvcnRTaXplKCkgfHwgMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZpZXdwb3J0RGltZW5zaW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXJzU2Nyb2xsUmVmPy5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgICAgICB0aGlzLm1vbnRoc1Njcm9sbFJlZj8uY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxhdGVJbml0KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0WWVhcnNWaWV3cG9ydFNpemUoKSA+IDAgPyBpZGVudGl0eSA6IGRlbGF5KDIwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0U2Nyb2xsZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnREaW1lbnNpb24oKTtcblxuICAgICAgICB0aGlzLm1vbnRoc1Njcm9sbFJlZj8uc2Nyb2xsZWRJbmRleENoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVsYXkodHVpR2V0RHVyYXRpb24odGhpcy5zcGVlZCkpLFxuICAgICAgICAgICAgICAgIHRoaXMubGF0ZUluaXQoKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydERpbWVuc2lvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFllYXJTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRNb250aFNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRZZWFyU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7eWVhcnNTY3JvbGxSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIXllYXJzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgICAgICAge3Bhc3NpdmU6IHRydWV9LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB0b3VjaGVuZCQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaGVuZCcsXG4gICAgICAgICAgICB7cGFzc2l2ZTogdHJ1ZX0sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNsaWNrJCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWZyZXNoIGFjdGl2ZVllYXJcbiAgICAgICAgeWVhcnNTY3JvbGxSZWZcbiAgICAgICAgICAgIC5lbGVtZW50U2Nyb2xsZWQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gSWdub3JlIHNtb290aCBzY3JvbGwgcmVzdWx0aW5nIGZyb20gY2xpY2sgb24gdGhlIGV4YWN0IHllYXJcbiAgICAgICAgICAgICAgICB3aW5kb3dUb2dnbGUodG91Y2hzdGFydCQsICgpID0+IGNsaWNrJCksXG4gICAgICAgICAgICAgICAgbWVyZ2VNYXAoKHgpID0+IHgpLFxuICAgICAgICAgICAgICAgIC8vIERlbGF5IGlzIHJlcXVpcmVkIHRvIHJ1biBtb250aHMgc2Nyb2xsIGluIHRoZSBuZXh0IGZyYW1lIHRvIHByZXZlbnQgZmxpY2tlclxuICAgICAgICAgICAgICAgIGRlbGF5KDApLFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYubWVhc3VyZVNjcm9sbE9mZnNldCgpIC8gdGhpcy55ZWFyV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICApICtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoWUVBUlNfSU5fUk9XIC8gMikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgU1RBUlRJTkdfWUVBUixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoYWN0aXZlWWVhcikgPT4gYWN0aXZlWWVhciAhPT0gdGhpcy5hY3RpdmVZZWFyKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVllYXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoICs9IHRoaXMuZ2V0TW9udGhPZmZzZXQoYWN0aXZlWWVhcik7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0gYWN0aXZlWWVhcjtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNtb290aCBzY3JvbGwgdG8gYWN0aXZlWWVhciBhZnRlciBzY3JvbGxpbmcgaXMgZG9uZVxuICAgICAgICB0b3VjaHN0YXJ0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRvdWNoZW5kJCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgIHJhY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50U2Nyb2xsZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKFNDUk9MTF9ERUJPVU5DRV9USU1FLCB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSkpLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NST0xMX0RFQk9VTkNFX1RJTUUgKiAyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRvdWNoc3RhcnQkKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcignc21vb3RoJykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE1vbnRoU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7bW9udGhzU2Nyb2xsUmVmfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFtb250aHNTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdWNoc3RhcnQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgICAgICAge3Bhc3NpdmU6IHRydWV9LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB0b3VjaGVuZCQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIG1vbnRoc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hlbmQnLFxuICAgICAgICAgICAge3Bhc3NpdmU6IHRydWV9LFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFNtb290aCBzY3JvbGwgdG8gdGhlIGNsb3Nlc3QgbW9udGggYWZ0ZXIgc2Nyb2xsaW5nIGlzIGRvbmVcbiAgICAgICAgdG91Y2hzdGFydCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRTY3JvbGxlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIoU0NST0xMX0RFQk9VTkNFX1RJTUUsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQ1JPTExfREVCT1VOQ0VfVElNRSAqIDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodG91Y2hzdGFydCQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgnc21vb3RoJykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2Nyb2xsVG9BY3RpdmVZZWFyKGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvciA9ICdhdXRvJyk6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXJzU2Nyb2xsUmVmPy5zY3JvbGxUb0luZGV4KFxuICAgICAgICAgICAgTWF0aC5tYXgodGhpcy5hY3RpdmVZZWFyIC0gU1RBUlRJTkdfWUVBUiAtIDIsIDApLFxuICAgICAgICAgICAgdGhpcy5pc0UyRSA/ICdhdXRvJyA6IGJlaGF2aW9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2Nyb2xsVG9BY3RpdmVNb250aChiZWhhdmlvcjogU2Nyb2xsQmVoYXZpb3IgPSAnYXV0bycpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWY/LnNjcm9sbFRvSW5kZXgoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoLFxuICAgICAgICAgICAgdGhpcy5pc0UyRSA/ICdhdXRvJyA6IGJlaGF2aW9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNZZWFyQWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZVllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb250aFRvWWVhcihtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgobW9udGggKyAxKSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIgLSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9udGhPZmZzZXQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh5ZWFyIC0gdGhpcy5hY3RpdmVZZWFyKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgIH1cbn1cbiIsIjxoZWFkZXJcbiAgICAqbmdJZj1cImNob29zZURheU9yUmFuZ2VUZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tb2JpbGUtY2FsZW5kYXJfX2NhbmNlbFwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHVpUmlwcGxlXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xvc2VcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXMuJV09XCIxMDBcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGNsb3NlV29yZCQgfCBhc3luYyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpTGlua1xuICAgICAgICB0dWlUb3VjaGFibGU9XCJvcGFjaXR5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rIHQtbGlua19jbG9zZVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgID5cbiAgICAgICAge3sgY2FuY2VsV29yZCQgfCBhc3luYyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxoMlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLW1vYmlsZS1jYWxlbmRhcl9fbGFiZWxcIlxuICAgICAgICBjbGFzcz1cInQtbGFiZWxcIlxuICAgID5cbiAgICAgICAge3sgc2luZ2xlID8gdGV4dHNbMF0gOiBtdWx0aSA/IHRleHRzWzJdIDogdGV4dHNbMV0gfX1cbiAgICA8L2gyPlxuICAgIDxidXR0b25cbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tb2JpbGUtY2FsZW5kYXJfX2NvbmZpcm1cIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR1aVRvdWNoYWJsZT1cIm9wYWNpdHlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwib25Db25maXJtKClcIlxuICAgID5cbiAgICAgICAge3sgZG9uZVdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbjwvaGVhZGVyPlxuPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICN5ZWFyc1Njcm9sbFJlZlxuICAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgY2xhc3M9XCJ0LXllYXJzXCJcbiAgICBbaXRlbVNpemVdPVwieWVhcldpZHRoXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwidC15ZWFycy13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGluZGV4IG9mIHllYXJzXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXllYXJcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJnZXRTdGF0ZShpbmRleClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNldFllYXIoaW5kZXgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaW5kZXggfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjxkaXYgY2xhc3M9XCJ0LXdlZWtcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2YgdW5vcmRlcmVkV2Vla0RheXMkIHwgdHVpT3JkZXJXZWVrRGF5cyB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRheVwiXG4gICAgPlxuICAgICAgICB7eyBkYXkgfX1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICNtb250aHNTY3JvbGxSZWZcbiAgICBjbGFzcz1cInQtbW9udGhzXCJcbiAgICAoc2Nyb2xsZWRJbmRleENoYW5nZSk9XCJvbk1vbnRoQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxzZWN0aW9uXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgdGVtcGxhdGVDYWNoZVNpemU6IDEwXCJcbiAgICAgICAgY2xhc3M9XCJ0LW1vbnRoLXdyYXBwZXJcIlxuICAgID5cbiAgICAgICAgPGgyIGNsYXNzPVwidC1tb250aFwiPnt7IG1vbnRoIHwgdHVpTW9udGggfCBhc3luYyB9fTwvaDI+XG4gICAgICAgIDx0dWktbW9iaWxlLWNhbGVuZGFyLXNoZWV0XG4gICAgICAgICAgICBjbGFzcz1cInQtY2FsZW5kYXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlciB8IHR1aU1hcHBlcjogZGlzYWJsZWRJdGVtSGFuZGxlck1hcHBlciA6IG1pbiA6IG1heFwiXG4gICAgICAgICAgICBbbW9udGhdPVwibW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbjwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuIl19
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDL0YsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxvQkFBb0IsR0FDdkIsTUFBTSwyQkFB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QVM7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRVMsVUFBVSxDQUFDLEdBQVc7UUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDcEI7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xEO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFdBQVcsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLENB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LEdBQUc7c0JBRFQsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsTUFBTTtnQkFJUyxPQUFPO3NCQUR0QixNQUFNO2dCQU1TLFdBQVc7c0JBRDFCLE1BQU07Z0JBc0NPLEtBQUs7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gICAgQ2RrVmlydHVhbEZvck9mLFxuICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge0FzeW5jUGlwZSwgRE9DVU1FTlQsIE5nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJTaGVldH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1zaGVldCc7XG5pbXBvcnQge1R1aVJpcHBsZSwgVHVpVG91Y2hhYmxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBNT05USFNfSU5fWUVBUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG4gICAgdHVpWm9uZWZyZWUsXG4gICAgdHVpWm9uZWZyZWVTY2hlZHVsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlNYXBwZXJQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL21hcHBlcic7XG5pbXBvcnQge1RVSV9JU19FMkUsIFRVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlciwgVHVpTWFwcGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aU1vbnRoUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvbW9udGgnO1xuaW1wb3J0IHtUdWlPcmRlcldlZWtEYXlzUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvb3JkZXItd2Vlay1kYXlzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTlNfU1BFRUQsXG4gICAgVFVJX0NMT1NFX1dPUkQsXG4gICAgVFVJX0NPTU1PTl9JQ09OUyxcbiAgICBUVUlfU0hPUlRfV0VFS19EQVlTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXREdXJhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9DQU5DRUxfV09SRCxcbiAgICBUVUlfQ0hPT1NFX0RBWV9PUl9SQU5HRV9URVhUUyxcbiAgICBUVUlfRE9ORV9XT1JELFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvZ2dsZURheX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQgdHlwZSB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQmVoYXZpb3JTdWJqZWN0LFxuICAgIGRlYm91bmNlVGltZSxcbiAgICBkZWxheSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgaWRlbnRpdHksXG4gICAgbWFwLFxuICAgIG1lcmdlTWFwLFxuICAgIHJhY2UsXG4gICAgc2tpcCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGltZXIsXG4gICAgd2luZG93VG9nZ2xlLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBSQU5HRSxcbiAgICBTQ1JPTExfREVCT1VOQ0VfVElNRSxcbiAgICBTVEFSVElOR19ZRUFSLFxuICAgIFlFQVJTX0lOX1JPVyxcbn0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXIuY29uc3QnO1xuaW1wb3J0IHtcbiAgICBUVUlfTU9CSUxFX0NBTEVOREFSX1BST1ZJREVSUyxcbiAgICBUVUlfVkFMVUVfU1RSRUFNLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5wcm92aWRlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLW1vYmlsZS1jYWxlbmRhcicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gICAgICAgIENka1ZpcnR1YWxGb3JPZixcbiAgICAgICAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aU1hcHBlclBpcGUsXG4gICAgICAgIFR1aU1vYmlsZUNhbGVuZGFyU2hlZXQsXG4gICAgICAgIFR1aU1vbnRoUGlwZSxcbiAgICAgICAgVHVpT3JkZXJXZWVrRGF5c1BpcGUsXG4gICAgICAgIFR1aVJpcHBsZSxcbiAgICAgICAgVHVpVG91Y2hhYmxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX01PQklMRV9DQUxFTkRBUl9QUk9WSURFUlMsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9pb3NdJzogJ2lzSU9TJyxcbiAgICAgICAgJ1tjbGFzcy5faW5pdGlhbGl6ZWRdJzogJ2luaXRpYWxpemVkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3llYXJzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHllYXJzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgQFZpZXdDaGlsZCgnbW9udGhzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vbnRoc1Njcm9sbFJlZj86IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGxcbiAgICA+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcbiAgICBwcml2YXRlIGFjdGl2ZVllYXIgPSAwO1xuICAgIHByaXZhdGUgYWN0aXZlTW9udGggPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVlZCA9IGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNFMkUgPSBpbmplY3QoVFVJX0lTX0UyRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZVdvcmQkID0gaW5qZWN0KFRVSV9DTE9TRV9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuY2VsV29yZCQgPSBpbmplY3QoVFVJX0NBTkNFTF9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9uZVdvcmQkID0gaW5qZWN0KFRVSV9ET05FX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1bm9yZGVyZWRXZWVrRGF5cyQgPSBpbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNob29zZURheU9yUmFuZ2VUZXh0cyQgPSBpbmplY3QoVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgeWVhcnMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IFJBTkdFfSwgKF8sIGkpID0+IGkgKyBTVEFSVElOR19ZRUFSKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9udGhzID0gQXJyYXkuZnJvbShcbiAgICAgICAge2xlbmd0aDogUkFOR0UgKiAxMn0sXG4gICAgICAgIChfLCBpKSA9PlxuICAgICAgICAgICAgbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoaSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgaSAlIE1PTlRIU19JTl9ZRUFSLFxuICAgICAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2luZ2xlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IFRVSV9GQUxTRV9IQU5ETEVSO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXVxuICAgID4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy50b1N0cmluZygpID09PSBiPy50b1N0cmluZygpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoVFVJX1ZBTFVFX1NUUkVBTSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB0aGlzLmluaXRpYWxZZWFyO1xuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gdGhpcy5pbml0aWFsTW9udGg7XG5cbiAgICAgICAgLy8gVmlydHVhbCBzY3JvbGwgaGFzIG5vdCB5ZXQgcmVuZGVyZWQgaXRlbXMgZXZlbiBpbiBuZ0FmdGVyVmlld0luaXRcbiAgICAgICAgdGhpcy53YWl0U2Nyb2xsZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlWWVhciA9PT0geWVhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KHllYXIpO1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcignc21vb3RoJyk7XG5cbiAgICAgICAgdGltZXIoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUodGhpcy5uZ1pvbmUpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCkpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy52YWx1ZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB2YWx1ZSgpOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlJC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHllYXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gWUVBUlNfSU5fUk9XO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aVZhbHVlKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdHVpVG9nZ2xlRGF5KHRoaXMudmFsdWUsIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFR1aURheVJhbmdlLnNvcnQodGhpcy52YWx1ZSwgZGF5KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UgJiYgIXRoaXMudmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gVHVpRGF5UmFuZ2Uuc29ydCh0aGlzLnZhbHVlLmZyb20sIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0U3RhdGUoaW5kZXg6IG51bWJlcik6ICdhY3RpdmUnIHwgJ2FkamFjZW50JyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXggLSAxKSB8fCB0aGlzLmlzWWVhckFjdGl2ZShpbmRleCArIDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FkamFjZW50JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gU2tpcHBpbmcgaW5pdGlhbCBjYWxsYmFjayB3aGVyZSBpbmRleCA9PT0gMFxuICAgICAgICBpZiAoIW1vbnRoIHx8IHRoaXMuYWN0aXZlTW9udGggPT09IG1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGg7XG5cbiAgICAgICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMubW9udGhUb1llYXIobW9udGgpO1xuXG4gICAgICAgIGlmIChhY3RpdmVZZWFyID09PSB0aGlzLmFjdGl2ZVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgW1R1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sIFR1aURheSwgVHVpRGF5XSxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PlxuICAgID4gPSAoZGlzYWJsZWRJdGVtSGFuZGxlciwgbWluLCBtYXgpID0+IChpdGVtKSA9PlxuICAgICAgICBpdGVtLmRheUJlZm9yZShtaW4pIHx8XG4gICAgICAgIChtYXggIT09IG51bGwgJiYgaXRlbS5kYXlBZnRlcihtYXgpKSB8fFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pO1xuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RheS55ZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uWzBdPy55ZWFyID8/IHRoaXMudG9kYXkueWVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvLnllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkubW9udGggKyAodGhpcy50b2RheS55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tb250aCArICh0aGlzLnZhbHVlLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZT8uWzBdPy5tb250aCA/PyB0aGlzLnRvZGF5Lm1vbnRoKSArXG4gICAgICAgICAgICAgICAgKCh0aGlzLnZhbHVlPy5bMF0/LnllYXIgPz8gdGhpcy50b2RheS55ZWFyKSAtIFNUQVJUSU5HX1lFQVIpICpcbiAgICAgICAgICAgICAgICAgICAgTU9OVEhTX0lOX1lFQVJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZS50by5tb250aCArICh0aGlzLnZhbHVlLnRvLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc011bHRpVmFsdWUoZGF5OiB1bmtub3duKTogZGF5IGlzIHJlYWRvbmx5IFR1aURheVtdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuICEoZGF5IGluc3RhbmNlb2YgVHVpRGF5KSAmJiAhKGRheSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSAmJiB0aGlzLm11bHRpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0WWVhcnNWaWV3cG9ydFNpemUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcnNTY3JvbGxSZWY/LmdldFZpZXdwb3J0U2l6ZSgpIHx8IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3cG9ydERpbWVuc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyc1Njcm9sbFJlZj8uY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWY/LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsYXRlSW5pdCgpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFllYXJzVmlld3BvcnRTaXplKCkgPiAwID8gaWRlbnRpdHkgOiBkZWxheSgyMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdFNjcm9sbGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0RGltZW5zaW9uKCk7XG5cbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWY/LnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlbGF5KHR1aUdldER1cmF0aW9uKHRoaXMuc3BlZWQpKSxcbiAgICAgICAgICAgICAgICB0aGlzLmxhdGVJbml0KCksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnREaW1lbnNpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRZZWFyU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0TW9udGhTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0WWVhclNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3llYXJzU2Nyb2xsUmVmfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF5ZWFyc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG91Y2hzdGFydCQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hlbmQnLFxuICAgICAgICAgICAge3Bhc3NpdmU6IHRydWV9LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjbGljayQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdjbGljaycsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBhY3RpdmVZZWFyXG4gICAgICAgIHllYXJzU2Nyb2xsUmVmXG4gICAgICAgICAgICAuZWxlbWVudFNjcm9sbGVkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBzbW9vdGggc2Nyb2xsIHJlc3VsdGluZyBmcm9tIGNsaWNrIG9uIHRoZSBleGFjdCB5ZWFyXG4gICAgICAgICAgICAgICAgd2luZG93VG9nZ2xlKHRvdWNoc3RhcnQkLCAoKSA9PiBjbGljayQpLFxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKCh4KSA9PiB4KSxcbiAgICAgICAgICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byBydW4gbW9udGhzIHNjcm9sbCBpbiB0aGUgbmV4dCBmcmFtZSB0byBwcmV2ZW50IGZsaWNrZXJcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLm1lYXN1cmVTY3JvbGxPZmZzZXQoKSAvIHRoaXMueWVhcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKFlFQVJTX0lOX1JPVyAvIDIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGFjdGl2ZVllYXIpID0+IGFjdGl2ZVllYXIgIT09IHRoaXMuYWN0aXZlWWVhciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY3RpdmVZZWFyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KGFjdGl2ZVllYXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIGFjdGl2ZVllYXIgYWZ0ZXIgc2Nyb2xsaW5nIGlzIGRvbmVcbiAgICAgICAgdG91Y2hzdGFydCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFNjcm9sbGVkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lcihTQ1JPTExfREVCT1VOQ0VfVElNRSwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpKSxcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FICogMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaHN0YXJ0JCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoJ3Ntb290aCcpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRNb250aFNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge21vbnRoc1Njcm9sbFJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbW9udGhzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoZW5kJyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIHRoZSBjbG9zZXN0IG1vbnRoIGFmdGVyIHNjcm9sbGluZyBpcyBkb25lXG4gICAgICAgIHRvdWNoc3RhcnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdG91Y2hlbmQkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoc1Njcm9sbFJlZi5lbGVtZW50U2Nyb2xsZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKFNDUk9MTF9ERUJPVU5DRV9USU1FLCB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSkpLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NST0xMX0RFQk9VTkNFX1RJTUUgKiAyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRvdWNoc3RhcnQkKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoJ3Ntb290aCcpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvQWN0aXZlWWVhcihiZWhhdmlvcjogU2Nyb2xsQmVoYXZpb3IgPSAnYXV0bycpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyc1Njcm9sbFJlZj8uc2Nyb2xsVG9JbmRleChcbiAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuYWN0aXZlWWVhciAtIFNUQVJUSU5HX1lFQVIgLSAyLCAwKSxcbiAgICAgICAgICAgIHRoaXMuaXNFMkUgPyAnYXV0bycgOiBiZWhhdmlvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvQWN0aXZlTW9udGgoYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yID0gJ2F1dG8nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmPy5zY3JvbGxUb0luZGV4KFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCxcbiAgICAgICAgICAgIHRoaXMuaXNFMkUgPyAnYXV0bycgOiBiZWhhdmlvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzWWVhckFjdGl2ZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVZZWFyO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW9udGhUb1llYXIobW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKG1vbnRoICsgMSkgLyBNT05USFNfSU5fWUVBUikgKyBTVEFSVElOR19ZRUFSIC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vbnRoT2Zmc2V0KHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoeWVhciAtIHRoaXMuYWN0aXZlWWVhcikgKiBNT05USFNfSU5fWUVBUjtcbiAgICB9XG59XG4iLCI8aGVhZGVyXG4gICAgKm5nSWY9XCJjaG9vc2VEYXlPclJhbmdlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgIGNsYXNzPVwidC1oZWFkZXJcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbW9iaWxlLWNhbGVuZGFyX19jYW5jZWxcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR1aVJpcHBsZVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5jbG9zZVwiXG4gICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzLiVdPVwiMTAwXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgPlxuICAgICAgICB7eyBjbG9zZVdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUxpbmtcbiAgICAgICAgdHVpVG91Y2hhYmxlPVwib3BhY2l0eVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGluayB0LWxpbmtfY2xvc2VcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGNhbmNlbFdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8aDJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tb2JpbGUtY2FsZW5kYXJfX2xhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxhYmVsXCJcbiAgICA+XG4gICAgICAgIHt7IHNpbmdsZSA/IHRleHRzWzBdIDogbXVsdGkgPyB0ZXh0c1syXSA6IHRleHRzWzFdIH19XG4gICAgPC9oMj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbW9iaWxlLWNhbGVuZGFyX19jb25maXJtXCJcbiAgICAgICAgdHVpTGlua1xuICAgICAgICB0dWlUb3VjaGFibGU9XCJvcGFjaXR5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGRvbmVXb3JkJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG48L2hlYWRlcj5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAjeWVhcnNTY3JvbGxSZWZcbiAgICBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgIGNsYXNzPVwidC15ZWFyc1wiXG4gICAgW2l0ZW1TaXplXT1cInllYXJXaWR0aFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInQteWVhcnMtd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBpbmRleCBvZiB5ZWFyc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC15ZWFyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiZ2V0U3RhdGUoaW5kZXgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGluZGV4IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG48ZGl2IGNsYXNzPVwidC13ZWVrXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHVub3JkZXJlZFdlZWtEYXlzJCB8IHR1aU9yZGVyV2Vla0RheXMgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwidC1kYXlcIlxuICAgID5cbiAgICAgICAge3sgZGF5IH19XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAjbW9udGhzU2Nyb2xsUmVmXG4gICAgY2xhc3M9XCJ0LW1vbnRoc1wiXG4gICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwib25Nb250aENoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8c2VjdGlvblxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBtb250aCBvZiBtb250aHM7IHRlbXBsYXRlQ2FjaGVTaXplOiAxMFwiXG4gICAgICAgIGNsYXNzPVwidC1tb250aC13cmFwcGVyXCJcbiAgICA+XG4gICAgICAgIDxoMiBjbGFzcz1cInQtbW9udGhcIj57eyBtb250aCB8IHR1aU1vbnRoIHwgYXN5bmMgfX08L2gyPlxuICAgICAgICA8dHVpLW1vYmlsZS1jYWxlbmRhci1zaGVldFxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNhbGVuZGFyXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXIgfCB0dWlNYXBwZXI6IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXIgOiBtaW4gOiBtYXhcIlxuICAgICAgICAgICAgW21vbnRoXT1cIm1vbnRoXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoZGF5Q2xpY2spPVwib25EYXlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L3NlY3Rpb24+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';
|
|
2
|
-
import {
|
|
2
|
+
import { Optional } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { tuiWatch } from '@taiga-ui/cdk/observables';
|
|
5
5
|
import { TuiScrollService } from '@taiga-ui/cdk/services';
|
|
@@ -21,8 +21,8 @@ export const TUI_MOBILE_CALENDAR_PROVIDERS = [
|
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
provide: TUI_VALUE_STREAM,
|
|
24
|
-
deps: [[new Optional(), TUI_CALENDAR_DATE_STREAM]
|
|
25
|
-
useFactory: (value
|
|
24
|
+
deps: [[new Optional(), TUI_CALENDAR_DATE_STREAM]],
|
|
25
|
+
useFactory: (value$) => (value$ || EMPTY).pipe(tuiWatch(), takeUntilDestroyed()),
|
|
26
26
|
},
|
|
27
27
|
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsRUFBa0MsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBZTtJQUNyRCxnQkFBZ0I7SUFDaEI7UUFDSSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxRQUFRLEVBQUUseUJBQXlCO0tBQ3RDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2xELFVBQVUsRUFBRSxDQUNSLE1BQTZDLEVBQ2YsRUFBRSxDQUNoQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztLQUMvRDtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1ZJUlRVQUxfU0NST0xMX1NUUkFURUdZfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5UmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpV2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlTY3JvbGxTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VNUFRZfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhclN0cmF0ZWd5fSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5zdHJhdGVneSc7XG5cbi8qKlxuICogU3RyZWFtIGZvciB1cGRhdGluZyB2YWx1ZVxuICovXG5leHBvcnQgY29uc3QgVFVJX1ZBTFVFX1NUUkVBTSA9IHR1aUNyZWF0ZVRva2VuPE9ic2VydmFibGU8VHVpRGF5UmFuZ2UgfCBudWxsPj4oKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aVNjcm9sbFNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBWSVJUVUFMX1NDUk9MTF9TVFJBVEVHWSxcbiAgICAgICAgZGVwczogW1RVSV9JU19JT1MsIFR1aVNjcm9sbFNlcnZpY2VdLFxuICAgICAgICB1c2VDbGFzczogVHVpTW9iaWxlQ2FsZW5kYXJTdHJhdGVneSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1ZBTFVFX1NUUkVBTSxcbiAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgVFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNXV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+ID0+XG4gICAgICAgICAgICAodmFsdWUkIHx8IEVNUFRZKS5waXBlKHR1aVdhdGNoKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKSxcbiAgICB9LFxuXTtcbiJdfQ==
|
|
@@ -75,10 +75,11 @@ class TuiMobileCalendarDropdown {
|
|
|
75
75
|
this.keyboard.show();
|
|
76
76
|
}
|
|
77
77
|
confirm(value) {
|
|
78
|
+
const normalizedValue = this.range ? this.selectedPeriod : value;
|
|
78
79
|
if (this.control) {
|
|
79
|
-
this.control.value =
|
|
80
|
+
this.control.value = normalizedValue;
|
|
80
81
|
}
|
|
81
|
-
this.observer?.next(
|
|
82
|
+
this.observer?.next(normalizedValue);
|
|
82
83
|
this.close();
|
|
83
84
|
}
|
|
84
85
|
calculateDisabledItemHandler(disabledItemHandler, value, minLength) {
|
|
@@ -107,4 +108,4 @@ export function tuiProvideMobileCalendar() {
|
|
|
107
108
|
useValue: TuiMobileCalendarDropdown,
|
|
108
109
|
};
|
|
109
110
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FB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U0FBUyxDQUFDOztBQXdHOUI7SUFEUCxPQUFPOzZFQU9QO1NBdkdRLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQWRyQyxTQUFTO2lDQUNNLElBQUksWUFDTiw4QkFBOEIsV0FDL0IsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxrQkFDdEIsQ0FBQyxhQUFhLENBQUMsUUFDekI7d0JBQ0Ysa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IsY0FBYyxFQUFFLFdBQVc7cUJBQzlCOzBFQW1HTyw0QkFBNEI7QUFheEMsTUFBTSxVQUFVLHdCQUF3QjtJQUNwQyxPQUFPO1FBQ0gsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixRQUFRLEVBQUUseUJBQXlCO0tBQ3RDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhcic7XG5pbXBvcnQge1R1aUtleWJvYXJkU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVksIFR1aURheSwgVHVpRGF5UmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R1aUZhZGVJbiwgdHVpU2xpZGVJblRvcH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldER1cmF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICBUVUlfREFZX0NBUFNfTUFQUEVSLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHtUVUlfTU9CSUxFX0NBTEVOREFSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge2luamVjdENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHR5cGUge09ic2VydmVyfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlNb2JpbGVDYWxlbmRhckRhdGEge1xuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI/OiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+O1xuICAgIG1heD86IFR1aURheSB8IG51bGw7XG4gICAgbWluPzogVHVpRGF5IHwgbnVsbDtcbiAgICBtdWx0aT86IGJvb2xlYW47XG4gICAgc2luZ2xlPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24nLFxuICAgIGltcG9ydHM6IFtUdWlNb2JpbGVDYWxlbmRhcl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wLCB0dWlGYWRlSW5dLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpQWN0aXZlWm9uZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW0B0dWlTbGlkZUluVG9wXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW0B0dWlGYWRlSW5dJzogJ2FuaW1hdGlvbicsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93biB7XG4gICAgLy8gVE9ETzogUmV3b3JrIHRvIHVzZSBUdWlEcm9wZG93bk9wZW5EaXJlY3RpdmUgc28gdGhlIGZvY3VzIHJldHVybnMgdG8gdGhlIGZpZWxkIG9uIGNsb3NpbmdcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleWJvYXJkID0gaW5qZWN0KFR1aUtleWJvYXJkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0Q29udGV4dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyPzogT2JzZXJ2ZXI8YW55PiA9IHRoaXMuY29udGV4dD8uJGltcGxpY2l0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YTogVHVpTW9iaWxlQ2FsZW5kYXJEYXRhID0gdGhpcy5jb250ZXh0Py5kYXRhIHx8IHt9O1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZFBlcmlvZDogVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBzdGFydDogJzEwMHZoJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiB0dWlHZXREdXJhdGlvbihpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpKSxcbiAgICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gVE9ETzogUmVmYWN0b3IgdG8gcHJvcGVyIERhdGUsIERhdGVNdWx0aSBhbmQgRGF0ZVJhbmdlIGNvbXBvbmVudHMgYWZ0ZXIgdGhleSBhcmUgYWRkZWQgdG8ga2l0XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2w6IGFueSA9IGluamVjdChUdWlDb250cm9sLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmFuZ2UgPSB0aGlzLmlzKCd0dWktaW5wdXQtZGF0ZS1yYW5nZScpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtdWx0aSA9IHRoaXMuZGF0YS5tdWx0aSB8fCB0aGlzLmlzKCd0dWktaW5wdXQtZGF0ZVttdWx0aXBsZV0nKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2luZ2xlID1cbiAgICAgICAgdGhpcy5kYXRhLnNpbmdsZSB8fCB0aGlzLmlzKCd0dWktaW5wdXQtZGF0ZTpub3QoW211bHRpcGxlXSknKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmtleWJvYXJkLmhpZGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF4KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmRhdGEubWF4IHx8XG4gICAgICAgICAgICAodGhpcy5yYW5nZVxuICAgICAgICAgICAgICAgID8gVFVJX0RBWV9DQVBTX01BUFBFUihcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWF4LFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QsXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udHJvbD8ubWF4KSB8fFxuICAgICAgICAgICAgVFVJX0xBU1RfREFZXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbigpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kYXRhLm1pbiB8fFxuICAgICAgICAgICAgKHRoaXMucmFuZ2VcbiAgICAgICAgICAgICAgICA/IFRVSV9EQVlfQ0FQU19NQVBQRVIoXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udHJvbD8ubWluKSB8fFxuICAgICAgICAgICAgVFVJX0ZJUlNUX0RBWVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSBuZXcgVHVpRGF5UmFuZ2UodmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXIoKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgICAgICB0aGlzLmRhdGEuZGlzYWJsZWRJdGVtSGFuZGxlciB8fFxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZWRJdGVtSGFuZGxlciB8fFxuICAgICAgICAgICAgICAgIFRVSV9GQUxTRV9IQU5ETEVSLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8ubWluTGVuZ3RoID8/IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duPy50b2dnbGUoZmFsc2UpO1xuICAgICAgICB0aGlzLm9ic2VydmVyPy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmtleWJvYXJkLnNob3coKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlybSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlcj8ubmV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PixcbiAgICAgICAgdmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+IHtcbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoZGlzYWJsZWRJdGVtSGFuZGxlciwgdmFsdWUsIG1pbkxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpcyhzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24/LmVsLmNsb3Nlc3Qoc2VsZWN0b3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVByb3ZpZGVNb2JpbGVDYWxlbmRhcigpOiBWYWx1ZVByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfTU9CSUxFX0NBTEVOREFSLFxuICAgICAgICB1c2VWYWx1ZTogVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93bixcbiAgICB9O1xufVxuIiwiPHR1aS1tb2JpbGUtY2FsZW5kYXJcbiAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJjYWxjdWxhdGVkRGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgW21heF09XCJtYXgoKVwiXG4gICAgW21pbl09XCJtaW4oKVwiXG4gICAgW211bHRpXT1cIm11bHRpXCJcbiAgICBbc2luZ2xlXT1cInNpbmdsZVwiXG4gICAgKGNhbmNlbCk9XCJjbG9zZSgpXCJcbiAgICAoY29uZmlybSk9XCJjb25maXJtKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuLz5cbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUNILDRCQUE0QixFQUM1QixtQkFBbUIsR0FDdEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7OztBQVdyRCxNQWNhLHlCQUF5QjtJQXlCbEM7UUF4QkEsNEZBQTRGO1FBQzNFLGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMxRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsWUFBTyxHQUFHLGFBQWEsQ0FBc0IsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQW1CLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQ25ELFNBQUksR0FBMEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBRWhFLG1CQUFjLEdBQXVCLElBQUksQ0FBQztRQUUvQixjQUFTLEdBQUc7WUFDM0IsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLE9BQU87Z0JBQ2QsUUFBUSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUN6RDtTQUNKLENBQUM7UUFFRixnR0FBZ0c7UUFDN0UsWUFBTyxHQUFRLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNwRCxVQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hDLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDL0QsV0FBTSxHQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFHOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sR0FBRztRQUNOLE9BQU8sQ0FDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDYixDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxtQkFBbUIsQ0FDZixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFDaEIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQ3RCLEtBQUssQ0FDUjtnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7WUFDeEIsWUFBWSxDQUNmLENBQUM7SUFDTixDQUFDO0lBRU0sR0FBRztRQUNOLE9BQU8sQ0FDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDYixDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxtQkFBbUIsQ0FDZixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFDaEIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQ3RCLElBQUksQ0FDUDtnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7WUFDeEIsYUFBYSxDQUNoQixDQUFDO0lBQ04sQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFzRDtRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFO1lBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQy9CO2FBQU0sSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0wsQ0FBQztJQUVELElBQWMsNkJBQTZCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQjtZQUNqQyxpQkFBaUIsRUFDckIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUksSUFBSSxDQUNsQyxDQUFDO0lBQ04sQ0FBQztJQUVTLEtBQUs7UUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFVO1FBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVqRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7U0FDeEM7UUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdPLDRCQUE0QixDQUNoQyxtQkFBOEMsRUFDOUMsS0FBeUIsRUFDekIsU0FBNEI7UUFFNUIsT0FBTyw0QkFBNEIsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLEVBQUUsQ0FBQyxRQUFnQjtRQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0E3R1EseUJBQXlCO21HQUF6Qix5QkFBeUIsK05DN0N0Qyw2UkFVQSwrUUR3QmMsaUJBQWlCLDRLQUlmLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQzs7QUEwRzlCO0lBRFAsT0FBTzs2RUFPUDtTQXpHUSx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFkckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sOEJBQThCLFdBQy9CLENBQUMsaUJBQWlCLENBQUMsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsa0JBQ3RCLENBQUMsYUFBYSxDQUFDLFFBQ3pCO3dCQUNGLGtCQUFrQixFQUFFLFdBQVc7d0JBQy9CLGNBQWMsRUFBRSxXQUFXO3FCQUM5QjswRUFxR08sNEJBQTRCO0FBYXhDLE1BQU0sVUFBVSx3QkFBd0I7SUFDcEMsT0FBTztRQUNILE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsUUFBUSxFQUFFLHlCQUF5QjtLQUN0QyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtWYWx1ZVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXInO1xuaW1wb3J0IHtUdWlLZXlib2FyZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvc2VydmljZXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aURheUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VFVJX0ZJUlNUX0RBWSwgVFVJX0xBU1RfREFZLCBUdWlEYXksIFR1aURheVJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aVNsaWRlSW5Ub3B9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXREdXJhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgVFVJX0RBWV9DQVBTX01BUFBFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VFVJX01PQklMRV9DQUxFTkRBUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZlcn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTW9iaWxlQ2FsZW5kYXJEYXRhIHtcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyPzogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PjtcbiAgICBtYXg/OiBUdWlEYXkgfCBudWxsO1xuICAgIG1pbj86IFR1aURheSB8IG51bGw7XG4gICAgbXVsdGk/OiBib29sZWFuO1xuICAgIHNpbmdsZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duJyxcbiAgICBpbXBvcnRzOiBbVHVpTW9iaWxlQ2FsZW5kYXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpU2xpZGVJblRvcCwgdHVpRmFkZUluXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFjdGl2ZVpvbmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpU2xpZGVJblRvcF0nOiAnYW5pbWF0aW9uJyxcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdhbmltYXRpb24nLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24ge1xuICAgIC8vIFRPRE86IFJld29yayB0byB1c2UgVHVpRHJvcGRvd25PcGVuRGlyZWN0aXZlIHNvIHRoZSBmb2N1cyByZXR1cm5zIHRvIHRoZSBmaWVsZCBvbiBjbG9zaW5nXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXlib2FyZCA9IGluamVjdChUdWlLZXlib2FyZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdENvbnRleHQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNlcnZlcj86IE9ic2VydmVyPGFueT4gPSB0aGlzLmNvbnRleHQ/LiRpbXBsaWNpdDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IFR1aU1vYmlsZUNhbGVuZGFyRGF0YSA9IHRoaXMuY29udGV4dD8uZGF0YSB8fCB7fTtcblxuICAgIHByaXZhdGUgc2VsZWN0ZWRQZXJpb2Q6IFR1aURheVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYW5pbWF0aW9uID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnQ6ICcxMDB2aCcsXG4gICAgICAgICAgICBkdXJhdGlvbjogdHVpR2V0RHVyYXRpb24oaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSksXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIHByb3BlciBEYXRlLCBEYXRlTXVsdGkgYW5kIERhdGVSYW5nZSBjb21wb25lbnRzIGFmdGVyIHRoZXkgYXJlIGFkZGVkIHRvIGtpdFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sOiBhbnkgPSBpbmplY3QoVHVpQ29udHJvbCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhbmdlID0gdGhpcy5pcygndHVpLWlucHV0LWRhdGUtcmFuZ2UnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGkgPSB0aGlzLmRhdGEubXVsdGkgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGVbbXVsdGlwbGVdJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpbmdsZSA9XG4gICAgICAgIHRoaXMuZGF0YS5zaW5nbGUgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGU6bm90KFttdWx0aXBsZV0pJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5rZXlib2FyZC5oaWRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG1heCgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kYXRhLm1heCB8fFxuICAgICAgICAgICAgKHRoaXMucmFuZ2VcbiAgICAgICAgICAgICAgICA/IFRVSV9EQVlfQ0FQU19NQVBQRVIoXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1heCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2w/Lm1heCkgfHxcbiAgICAgICAgICAgIFRVSV9MQVNUX0RBWVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBtaW4oKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZGF0YS5taW4gfHxcbiAgICAgICAgICAgICh0aGlzLnJhbmdlXG4gICAgICAgICAgICAgICAgPyBUVUlfREFZX0NBUFNfTUFQUEVSKFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5taW4sXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWF4TGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2w/Lm1pbikgfHxcbiAgICAgICAgICAgIFRVSV9GSVJTVF9EQVlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gbmV3IFR1aURheVJhbmdlKHZhbHVlLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyKCk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKFxuICAgICAgICAgICAgdGhpcy5kYXRhLmRpc2FibGVkSXRlbUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGVkSXRlbUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICBUVUlfRkFMU0VfSEFORExFUixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QsXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm1pbkxlbmd0aCA/PyBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bj8udG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5rZXlib2FyZC5zaG93KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbmZpcm0odmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB0aGlzLnJhbmdlID8gdGhpcy5zZWxlY3RlZFBlcmlvZCA6IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZSA9IG5vcm1hbGl6ZWRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/Lm5leHQobm9ybWFsaXplZFZhbHVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+LFxuICAgICAgICB2YWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsLFxuICAgICAgICBtaW5MZW5ndGg6IFR1aURheUxpa2UgfCBudWxsLFxuICAgICk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4ge1xuICAgICAgICByZXR1cm4gY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihkaXNhYmxlZEl0ZW1IYW5kbGVyLCB2YWx1ZSwgbWluTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzKHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bj8uZWwuY2xvc2VzdChzZWxlY3Rvcik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUHJvdmlkZU1vYmlsZUNhbGVuZGFyKCk6IFZhbHVlUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9NT0JJTEVfQ0FMRU5EQVIsXG4gICAgICAgIHVzZVZhbHVlOiBUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duLFxuICAgIH07XG59XG4iLCI8dHVpLW1vYmlsZS1jYWxlbmRhclxuICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbbXVsdGldPVwibXVsdGlcIlxuICAgIFtzaW5nbGVdPVwic2luZ2xlXCJcbiAgICAoY2FuY2VsKT1cImNsb3NlKClcIlxuICAgIChjb25maXJtKT1cImNvbmZpcm0oJGV2ZW50KVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4vPlxuIl19
|