@firestitch/filter 18.2.10 → 18.2.12
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/app/classes/actions-controller.d.ts +1 -1
- package/app/components/filter/filter.component.d.ts +39 -68
- package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
- package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
- package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
- package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
- package/app/components/filters-item/chips/chips.component.d.ts +6 -5
- package/app/components/filters-item/date/date.component.d.ts +4 -4
- package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
- package/app/components/filters-item/filter-item.component.d.ts +2 -2
- package/app/components/filters-item/range/range.component.d.ts +6 -7
- package/app/components/filters-item/select/select.component.d.ts +17 -20
- package/app/components/filters-item/text/text.component.d.ts +6 -7
- package/app/components/filters-item/week/week.component.d.ts +5 -5
- package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
- package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
- package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
- package/app/fs-filter.module.d.ts +20 -24
- package/app/helpers/create-filter-item.d.ts +2 -1
- package/app/interfaces/items/date.interface.d.ts +1 -1
- package/app/models/filter-config.d.ts +2 -2
- package/app/models/items/autocomplete-chips-item.d.ts +11 -8
- package/app/models/items/autocomplete-item.d.ts +7 -5
- package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
- package/app/models/items/base-date-item.d.ts +13 -0
- package/app/models/items/base-date-range-item.d.ts +17 -0
- package/app/models/items/base-item.d.ts +32 -41
- package/app/models/items/checkbox-item.d.ts +10 -9
- package/app/models/items/chips-item.d.ts +11 -8
- package/app/models/items/date-item.d.ts +7 -3
- package/app/models/items/date-range-item.d.ts +1 -1
- package/app/models/items/date-time-item.d.ts +6 -3
- package/app/models/items/date-time-range-item.d.ts +1 -1
- package/app/models/items/index.d.ts +0 -4
- package/app/models/items/range-item.d.ts +19 -8
- package/app/models/items/select-item.d.ts +29 -6
- package/app/models/items/text-item.d.ts +7 -6
- package/app/models/items/week-item.d.ts +7 -6
- package/app/services/filter-controller.service.d.ts +47 -0
- package/app/services/filter-overlay.service.d.ts +1 -0
- package/app/services/focus-controller.service.d.ts +4 -4
- package/app/services/index.d.ts +4 -2
- package/app/services/keyword-controller.service.d.ts +20 -0
- package/app/services/persistance-controller.service.d.ts +10 -4
- package/app/services/query-param-controller.service.d.ts +10 -12
- package/app/services/root-filter-overlay.service.d.ts +6 -0
- package/app/services/saved-filter-controller.service.d.ts +4 -4
- package/app/services/sort-controller.service.d.ts +21 -0
- package/esm2022/app/classes/actions-controller.mjs +2 -2
- package/esm2022/app/components/filter/filter.component.mjs +162 -330
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +8 -15
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
- package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
- package/esm2022/app/components/filters-item/filter-item.component.mjs +7 -5
- package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
- package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
- package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
- package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
- package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
- package/esm2022/app/fs-filter.module.mjs +1 -16
- package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
- package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2022/app/models/action.model.mjs +2 -2
- package/esm2022/app/models/filter-config.mjs +2 -3
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
- package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
- package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
- package/esm2022/app/models/items/base-date-item.mjs +28 -0
- package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
- package/esm2022/app/models/items/base-item.mjs +76 -140
- package/esm2022/app/models/items/checkbox-item.mjs +35 -26
- package/esm2022/app/models/items/chips-item.mjs +50 -42
- package/esm2022/app/models/items/date-item.mjs +21 -8
- package/esm2022/app/models/items/date-range-item.mjs +2 -2
- package/esm2022/app/models/items/date-time-item.mjs +4 -7
- package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
- package/esm2022/app/models/items/index.mjs +1 -5
- package/esm2022/app/models/items/range-item.mjs +48 -44
- package/esm2022/app/models/items/select-item.mjs +104 -9
- package/esm2022/app/models/items/text-item.mjs +17 -15
- package/esm2022/app/models/items/week-item.mjs +23 -24
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
- package/esm2022/app/services/filter-controller.service.mjs +209 -0
- package/esm2022/app/services/filter-overlay.service.mjs +6 -3
- package/esm2022/app/services/focus-controller.service.mjs +3 -3
- package/esm2022/app/services/index.mjs +5 -3
- package/esm2022/app/services/keyword-controller.service.mjs +49 -0
- package/esm2022/app/services/persistance-controller.service.mjs +24 -6
- package/esm2022/app/services/query-param-controller.service.mjs +44 -34
- package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
- package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
- package/esm2022/app/services/sort-controller.service.mjs +60 -0
- package/esm2022/public_api.mjs +1 -2
- package/fesm2022/firestitch-filter.mjs +2776 -3423
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -1
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
- package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
- package/app/helpers/build-query-params.d.ts +0 -4
- package/app/helpers/compare.d.ts +0 -2
- package/app/helpers/find-value.d.ts +0 -1
- package/app/models/items/autocomplete/index.d.ts +0 -1
- package/app/models/items/date/base-date-item.d.ts +0 -17
- package/app/models/items/date/index.d.ts +0 -1
- package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
- package/app/models/items/date-range/index.d.ts +0 -1
- package/app/models/items/select/base-select-item.d.ts +0 -16
- package/app/models/items/select/index.d.ts +0 -3
- package/app/models/items/select/multiple-select-item.d.ts +0 -14
- package/app/models/items/select/simple-select-item.d.ts +0 -14
- package/app/providers/filter-meta.d.ts +0 -5
- package/app/services/item-store.service.d.ts +0 -70
- package/app/services/param-controller.service.d.ts +0 -30
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
- package/esm2022/app/helpers/build-query-params.mjs +0 -38
- package/esm2022/app/helpers/compare.mjs +0 -38
- package/esm2022/app/helpers/find-value.mjs +0 -13
- package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
- package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
- package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
- package/esm2022/app/models/items/date/index.mjs +0 -2
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
- package/esm2022/app/models/items/date-range/index.mjs +0 -2
- package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
- package/esm2022/app/models/items/select/index.mjs +0 -4
- package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
- package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
- package/esm2022/app/providers/filter-meta.mjs +0 -10
- package/esm2022/app/services/item-store.service.mjs +0 -356
- package/esm2022/app/services/param-controller.service.mjs +0 -151
package/app/services/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
export * from './filter-controller.service';
|
|
1
2
|
export * from './filter-overlay.service';
|
|
2
3
|
export * from './focus-controller.service';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './param-controller.service';
|
|
4
|
+
export * from './keyword-controller.service';
|
|
5
5
|
export * from './persistance-controller.service';
|
|
6
6
|
export * from './query-param-controller.service';
|
|
7
|
+
export * from './root-filter-overlay.service';
|
|
7
8
|
export * from './saved-filter-controller.service';
|
|
9
|
+
export * from './sort-controller.service';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { TextItem } from '../models/items/text-item';
|
|
3
|
+
import { FilterController } from './filter-controller.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class KeywordController {
|
|
6
|
+
private _keywordItem$;
|
|
7
|
+
private _keywordVisible$;
|
|
8
|
+
private _destroyRef;
|
|
9
|
+
private _filterController;
|
|
10
|
+
init(filterController: FilterController): void;
|
|
11
|
+
get keywordItem$(): Observable<TextItem>;
|
|
12
|
+
get keywordItem(): TextItem;
|
|
13
|
+
set keywordItem(item: TextItem);
|
|
14
|
+
clear(): void;
|
|
15
|
+
show(): void;
|
|
16
|
+
hide(): void;
|
|
17
|
+
get keywordVisible$(): Observable<boolean>;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KeywordController, never>;
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<KeywordController>;
|
|
20
|
+
}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { FilterController } from './filter-controller.service';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class PersistanceController {
|
|
4
|
-
|
|
5
|
+
enabled: boolean;
|
|
5
6
|
private _store;
|
|
7
|
+
private _filterController;
|
|
6
8
|
private _name;
|
|
7
9
|
private _data;
|
|
8
|
-
private _location;
|
|
10
|
+
private readonly _location;
|
|
9
11
|
private readonly _storeKey;
|
|
10
|
-
|
|
12
|
+
private readonly _dialogRef;
|
|
13
|
+
private readonly _drawerRef;
|
|
14
|
+
private readonly _destroyRef;
|
|
15
|
+
get inDialog(): boolean;
|
|
16
|
+
init(filterController: FilterController): Observable<any>;
|
|
11
17
|
setQuery(value: any): void;
|
|
12
18
|
getQuery(): any;
|
|
13
19
|
private _set;
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { KeyValue } from '../interfaces';
|
|
3
|
+
import { FilterController } from './filter-controller.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class QueryParamController {
|
|
5
|
-
private
|
|
6
|
-
private _itemStore;
|
|
6
|
+
private _destroyRef;
|
|
7
7
|
private _enabled;
|
|
8
|
-
private
|
|
9
|
-
|
|
8
|
+
private _sortController;
|
|
9
|
+
private _route;
|
|
10
|
+
private _filterController;
|
|
10
11
|
get enabled(): boolean;
|
|
11
12
|
get params(): Record<string, any>;
|
|
12
|
-
init(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* Parse query and update filter values
|
|
16
|
-
*/
|
|
17
|
-
fetchFromQueryParams(): void;
|
|
13
|
+
init(filterController: FilterController): Observable<any>;
|
|
14
|
+
queryParams(): KeyValue;
|
|
15
|
+
updateQueryParams(): void;
|
|
18
16
|
private _replaceState;
|
|
19
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<QueryParamController, never>;
|
|
20
18
|
static ɵprov: i0.ɵɵInjectableDeclaration<QueryParamController>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { KeyValue } from '../interfaces/external-params.interface';
|
|
4
|
-
import { IFilterSavedFilter
|
|
4
|
+
import { IFilterSavedFilter } from '../interfaces/saved-filters.interface';
|
|
5
|
+
import type { FilterController } from './filter-controller.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class SavedFilterController implements OnDestroy {
|
|
7
|
-
private
|
|
8
|
+
private _filterController;
|
|
8
9
|
private _savedFilters$;
|
|
9
10
|
private _activeFilter$;
|
|
10
11
|
private _enabled$;
|
|
11
12
|
private _destroy$;
|
|
12
|
-
private _itemStore;
|
|
13
13
|
private _prompt;
|
|
14
14
|
get singularLabel(): string;
|
|
15
15
|
get singularLabelLower(): string;
|
|
@@ -25,7 +25,7 @@ export declare class SavedFilterController implements OnDestroy {
|
|
|
25
25
|
get activeFilter$(): Observable<IFilterSavedFilter>;
|
|
26
26
|
get activeFilterData(): KeyValue;
|
|
27
27
|
ngOnDestroy(): void;
|
|
28
|
-
init(
|
|
28
|
+
init(filterController: FilterController): Observable<any>;
|
|
29
29
|
initSavedFilters(savedFilters: IFilterSavedFilter[]): void;
|
|
30
30
|
load(): Observable<IFilterSavedFilter[]>;
|
|
31
31
|
create(): Observable<IFilterSavedFilter>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ISortingChangeEvent } from '../interfaces';
|
|
2
|
+
import { FilterSort } from '../interfaces/config.interface';
|
|
3
|
+
import { KeyValue } from '../interfaces/external-params.interface';
|
|
4
|
+
import type { FilterController } from './filter-controller.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class SortController {
|
|
7
|
+
private _name;
|
|
8
|
+
private _direction;
|
|
9
|
+
private _filterController;
|
|
10
|
+
private _route;
|
|
11
|
+
init(filterController: FilterController): void;
|
|
12
|
+
clear(): void;
|
|
13
|
+
queryParam(): KeyValue;
|
|
14
|
+
query(): KeyValue;
|
|
15
|
+
getSort(): FilterSort;
|
|
16
|
+
get direction(): any;
|
|
17
|
+
get name(): any;
|
|
18
|
+
updateSort(sort: ISortingChangeEvent): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SortController, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SortController>;
|
|
21
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
2
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
3
3
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
4
|
import { skip, takeUntil } from 'rxjs/operators';
|
|
5
5
|
import { Action } from '../models/action.model';
|
|
@@ -127,4 +127,4 @@ export class ActionsController {
|
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsController, decorators: [{
|
|
128
128
|
type: Injectable
|
|
129
129
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2FjdGlvbnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGlCQUFpQjtJQWFsQjtJQVhGLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLE9BQU8sQ0FBaUI7SUFFZixZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDN0MsV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUMzQixjQUFjLENBQVM7SUFFL0IsWUFDVSxtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUUvQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFF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QWtCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNoRCxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzt3R0FuSlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2FjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGc0ZpbHRlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItY29uZmlnJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aW9uc0NvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2FjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3Rpb25bXT4oW10pO1xuICBwcml2YXRlIF9tZW51QWN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGlvbltdPihbXSk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY29uZmlnOiBGc0ZpbHRlckNvbmZpZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tb2JpbGVNZWRpYSA9ICcobWF4LXdpZHRoOiA3OTlweCknO1xuICBwcml2YXRlIF9hbGxBY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuICBwcml2YXRlIF9yZW9yZGVyQWN0aW9uOiBBY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICkge1xuICAgIHRoaXMuX2xpc3Rlbk1vYmlsZU1lZGlhKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lbnVBY3Rpb25zKCk6IEFjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUFjdGlvbnMkLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3Rpb25zKCk6IEFjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucyQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGlvbnMkKCk6IE9ic2VydmFibGU8QWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lbnVBY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lbnVBY3Rpb25zJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtb2JpbGVNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKHRoaXMuX21vYmlsZU1lZGlhKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5pbml0QWN0aW9ucyhjb25maWcuYWN0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgaW5pdEFjdGlvbnMocmF3QWN0aW9uczogRnNGaWx0ZXJBY3Rpb25bXSkge1xuICAgIGlmICghcmF3QWN0aW9ucyB8fCAhQXJyYXkuaXNBcnJheShyYXdBY3Rpb25zKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvdygpO1xuXG4gICAgdGhpcy5fYWxsQWN0aW9ucyA9IHJhd0FjdGlvbnNcbiAgICAgIC5tYXAoKGFjdGlvbikgPT4gbmV3IEFjdGlvbih0aGlzLl9jb25maWcsIGFjdGlvbikpO1xuXG4gICAgaWYgKHRoaXMuX3Jlb3JkZXJBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FsbEFjdGlvbnMudW5zaGlmdCh0aGlzLl9yZW9yZGVyQWN0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbGFzc2lmeUFjdGlvbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93KCkge1xuICAgIHRoaXMuX3Zpc2libGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLl92aXNpYmxlJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRSZW9yZGVyQWN0aW9uKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgdGhpcy5fYWxsQWN0aW9ucy51bnNoaWZ0KGFjdGlvbik7XG5cbiAgICBhY3Rpb24uaXNSZW9yZGVyQWN0aW9uID0gdHJ1ZTtcblxuICAgIHRoaXMuX2NsYXNzaWZ5QWN0aW9uKGFjdGlvbik7XG4gICAgdGhpcy5fcmVvcmRlckFjdGlvbiA9IGFjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFjdGlvbnMoKSB7XG4gICAgdGhpcy5fYWxsQWN0aW9ucyA9IFtdO1xuICAgIHRoaXMuX3NldEFjdGlvbnMoW10pO1xuICAgIHRoaXMuX3NldEtlYmFiQWN0aW9ucyhbXSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWN0aW9uc1Zpc2liaWxpdHkoKSB7XG4gICAgdGhpcy5fYWxsQWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi51cGRhdGVWaXNpYmlsaXR5KCkpO1xuICAgIHRoaXMuX2NsYXNzaWZ5QWN0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURpc2FibGVkU3RhdGUoKSB7XG4gICAgdGhpcy5hY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLnVwZGF0ZURpc2FibGVkU3RhdGUoKSlcbiAgfVxuXG4gIHByaXZhdGUgX3NldEtlYmFiQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25bXSkge1xuICAgIHRoaXMuX21lbnVBY3Rpb25zJC5uZXh0KGFjdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25bXSkge1xuICAgIHRoaXMuX2FjdGlvbnMkLm5leHQoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFzc2lmeUFjdGlvbnMoKSB7XG4gICAgY29uc3Qga2ViYWJBY3Rpb25zID0gW107XG4gICAgY29uc3QgYWN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IG1vYmlsZU1vZGUgPSB0aGlzLm1vYmlsZU1vZGU7XG5cbiAgICB0aGlzLl9hbGxBY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi52aXNpYmxlO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbi5tZW51ICE9PSBmYWxzZSAmJiAoYWN0aW9uLm1lbnUgfHwgbW9iaWxlTW9kZSkpIHtcbiAgICAgICAgICBrZWJhYkFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3NldEtlYmFiQWN0aW9ucyhrZWJhYkFjdGlvbnMpO1xuICAgIHRoaXMuX3NldEFjdGlvbnMoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFzc2lmeUFjdGlvbihhY3Rpb246IEFjdGlvbikge1xuICAgIGlmIChhY3Rpb24ubWVudSkge1xuICAgICAgdGhpcy5fc2V0S2ViYWJBY3Rpb25zKFsuLi50aGlzLm1lbnVBY3Rpb25zLCBhY3Rpb25dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0QWN0aW9ucyhbLi4udGhpcy5hY3Rpb25zLCBhY3Rpb25dKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Nb2JpbGVNZWRpYSgpIHtcbiAgICB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9tb2JpbGVNZWRpYSlcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NsYXNzaWZ5QWN0aW9ucygpO1xuICAgICAgfSlcbiAgfVxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL2FjdGlvbnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGlCQUFpQjtJQWFsQjtJQVhGLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLE9BQU8sQ0FBaUI7SUFFZixZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDN0MsV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUMzQixjQUFjLENBQVM7SUFFL0IsWUFDVSxtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUUvQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFF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QWtCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNoRCxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FuSlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGc0ZpbHRlckFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfdmlzaWJsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBfYWN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGlvbltdPihbXSk7XG4gIHByaXZhdGUgX21lbnVBY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QWN0aW9uW10+KFtdKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9jb25maWc6IEZzRmlsdGVyQ29uZmlnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vYmlsZU1lZGlhID0gJyhtYXgtd2lkdGg6IDc5OXB4KSc7XG4gIHByaXZhdGUgX2FsbEFjdGlvbnM6IEFjdGlvbltdID0gW107XG4gIHByaXZhdGUgX3Jlb3JkZXJBY3Rpb246IEFjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9icmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgKSB7XG4gICAgdGhpcy5fbGlzdGVuTW9iaWxlTWVkaWEoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUFjdGlvbnMoKTogQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9tZW51QWN0aW9ucyQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGlvbnMoKTogQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxBY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUFjdGlvbnMkKCk6IE9ic2VydmFibGU8QWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUFjdGlvbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vYmlsZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQodGhpcy5fbW9iaWxlTWVkaWEpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWcoY29uZmlnOiBGc0ZpbHRlckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmluaXRBY3Rpb25zKGNvbmZpZy5hY3Rpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0QWN0aW9ucyhyYXdBY3Rpb25zOiBGc0ZpbHRlckFjdGlvbltdKSB7XG4gICAgaWYgKCFyYXdBY3Rpb25zIHx8ICFBcnJheS5pc0FycmF5KHJhd0FjdGlvbnMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93KCk7XG5cbiAgICB0aGlzLl9hbGxBY3Rpb25zID0gcmF3QWN0aW9uc1xuICAgICAgLm1hcCgoYWN0aW9uKSA9PiBuZXcgQWN0aW9uKHRoaXMuX2NvbmZpZywgYWN0aW9uKSk7XG5cbiAgICBpZiAodGhpcy5fcmVvcmRlckFjdGlvbikge1xuICAgICAgdGhpcy5fYWxsQWN0aW9ucy51bnNoaWZ0KHRoaXMuX3Jlb3JkZXJBY3Rpb24pO1xuICAgIH1cblxuICAgIHRoaXMuX2NsYXNzaWZ5QWN0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIHNob3coKSB7XG4gICAgdGhpcy5fdmlzaWJsZSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlKCkge1xuICAgIHRoaXMuX3Zpc2libGUkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGFkZFJlb3JkZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pIHtcbiAgICB0aGlzLl9hbGxBY3Rpb25zLnVuc2hpZnQoYWN0aW9uKTtcblxuICAgIGFjdGlvbi5pc1Jlb3JkZXJBY3Rpb24gPSB0cnVlO1xuXG4gICAgdGhpcy5fY2xhc3NpZnlBY3Rpb24oYWN0aW9uKTtcbiAgICB0aGlzLl9yZW9yZGVyQWN0aW9uID0gYWN0aW9uO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWN0aW9ucygpIHtcbiAgICB0aGlzLl9hbGxBY3Rpb25zID0gW107XG4gICAgdGhpcy5fc2V0QWN0aW9ucyhbXSk7XG4gICAgdGhpcy5fc2V0S2ViYWJBY3Rpb25zKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBY3Rpb25zVmlzaWJpbGl0eSgpIHtcbiAgICB0aGlzLl9hbGxBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLnVwZGF0ZVZpc2liaWxpdHkoKSk7XG4gICAgdGhpcy5fY2xhc3NpZnlBY3Rpb25zKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpIHtcbiAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24udXBkYXRlRGlzYWJsZWRTdGF0ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEtlYmFiQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25bXSkge1xuICAgIHRoaXMuX21lbnVBY3Rpb25zJC5uZXh0KGFjdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25bXSkge1xuICAgIHRoaXMuX2FjdGlvbnMkLm5leHQoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFzc2lmeUFjdGlvbnMoKSB7XG4gICAgY29uc3Qga2ViYWJBY3Rpb25zID0gW107XG4gICAgY29uc3QgYWN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IG1vYmlsZU1vZGUgPSB0aGlzLm1vYmlsZU1vZGU7XG5cbiAgICB0aGlzLl9hbGxBY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi52aXNpYmxlO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbi5tZW51ICE9PSBmYWxzZSAmJiAoYWN0aW9uLm1lbnUgfHwgbW9iaWxlTW9kZSkpIHtcbiAgICAgICAgICBrZWJhYkFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3NldEtlYmFiQWN0aW9ucyhrZWJhYkFjdGlvbnMpO1xuICAgIHRoaXMuX3NldEFjdGlvbnMoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFzc2lmeUFjdGlvbihhY3Rpb246IEFjdGlvbikge1xuICAgIGlmIChhY3Rpb24ubWVudSkge1xuICAgICAgdGhpcy5fc2V0S2ViYWJBY3Rpb25zKFsuLi50aGlzLm1lbnVBY3Rpb25zLCBhY3Rpb25dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0QWN0aW9ucyhbLi4udGhpcy5hY3Rpb25zLCBhY3Rpb25dKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Nb2JpbGVNZWRpYSgpIHtcbiAgICB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9tb2JpbGVNZWRpYSlcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NsYXNzaWZ5QWN0aW9ucygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|