@scion/workbench 18.0.0-beta.3 → 18.0.0-beta.4
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/esm2022/lib/common/class-list.mjs +67 -29
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +22 -20
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +71 -26
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +25 -23
- package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
- package/esm2022/lib/executor/single-task-executor.mjs +7 -17
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +5 -6
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +1 -1
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +3 -3
- package/esm2022/lib/layout/stringifier.mjs +2 -2
- package/esm2022/lib/layout/workbench-layout.component.mjs +4 -5
- package/esm2022/lib/layout/workbench-layout.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.model.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.service.mjs +6 -7
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +2 -2
- package/esm2022/lib/layout//311/265workbench-layout.mjs +32 -31
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +5 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +14 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +5 -5
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +18 -16
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +13 -14
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +3 -3
- package/esm2022/lib/notification/notification-list.component.mjs +4 -8
- package/esm2022/lib/notification/notification.component.mjs +4 -5
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +7 -13
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +56 -75
- package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
- package/esm2022/lib/part/part.component.mjs +32 -40
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +27 -28
- package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +20 -24
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +77 -88
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +14 -15
- package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
- package/esm2022/lib/part/workbench-part.model.mjs +10 -1
- package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
- package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
- package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +27 -28
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +31 -28
- package/esm2022/lib/popup/popup.component.mjs +3 -3
- package/esm2022/lib/popup/popup.config.mjs +23 -13
- package/esm2022/lib/popup/popup.service.mjs +48 -45
- package/esm2022/lib/portal/wb-component-portal.mjs +2 -2
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- package/esm2022/lib/routing/public_api.mjs +1 -1
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/routing.util.mjs +210 -0
- package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +19 -3
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-navigational-states.mjs +1 -1
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +130 -143
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +3 -3
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +41 -31
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/testing/workbench.provider.mjs +2 -2
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
- package/esm2022/lib/view/view-move-handler.service.mjs +7 -7
- package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
- package/esm2022/lib/view/view.component.mjs +22 -34
- package/esm2022/lib/view/workbench-view-route-guards.mjs +4 -4
- package/esm2022/lib/view/workbench-view.model.mjs +1 -1
- package/esm2022/lib/view/workbench-view.registry.mjs +11 -45
- package/esm2022/lib/view//311/265workbench-view.model.mjs +136 -150
- package/esm2022/lib/view-dnd/view-drag.service.mjs +1 -1
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +18 -20
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.service.mjs +1 -1
- package/esm2022/lib//311/265workbench.service.mjs +31 -42
- package/fesm2022/scion-workbench.mjs +1942 -1881
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/class-list.d.ts +35 -22
- package/lib/common/operators.d.ts +1 -6
- package/lib/dialog/workbench-dialog.component.d.ts +3 -2
- package/lib/dialog/workbench-dialog.d.ts +57 -13
- package/lib/dialog//311/265workbench-dialog.d.ts +36 -17
- package/lib/dialog//311/265workbench-dialog.service.d.ts +10 -11
- package/lib/executor/latest-task-executor.d.ts +26 -0
- package/lib/executor/single-task-executor.d.ts +3 -6
- package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +4 -0
- package/lib/layout/workbench-layout.d.ts +9 -6
- package/lib/layout/workbench-layout.model.d.ts +2 -0
- package/lib/layout/workbench-layout.service.d.ts +4 -4
- package/lib/layout//311/265workbench-layout.d.ts +10 -13
- package/lib/layout//311/265workbench-layout.factory.d.ts +2 -2
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -5
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.d.ts +4 -8
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +5 -8
- package/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.d.ts +3 -7
- package/lib/notification/notification-list.component.d.ts +0 -2
- package/lib/part/part-action-bar/part-action-bar.component.d.ts +4 -1
- package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
- package/lib/part/part-bar/part-bar.component.d.ts +8 -12
- package/lib/part/part-portal.pipe.d.ts +3 -5
- package/lib/part/part.component.d.ts +9 -12
- package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +8 -12
- package/lib/part/view-list/view-list.component.d.ts +8 -21
- package/lib/part/view-list-button/view-list-button.component.d.ts +8 -11
- package/lib/part/view-list-item/view-list-item.component.d.ts +3 -7
- package/lib/part/view-tab/view-tab.component.d.ts +17 -28
- package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +4 -4
- package/lib/part/workbench-part-action.registry.d.ts +3 -23
- package/lib/part/workbench-part.model.d.ts +8 -27
- package/lib/part/workbench-part.registry.d.ts +3 -26
- package/lib/part//311/265workbench-part.model.d.ts +24 -17
- package/lib/perspective/workbench-perspective.model.d.ts +2 -8
- package/lib/perspective/workbench-perspective.registry.d.ts +3 -26
- package/lib/perspective/workbench-perspective.service.d.ts +8 -14
- package/lib/perspective//311/265workbench-perspective.model.d.ts +26 -20
- package/lib/popup/popup.config.d.ts +2 -0
- package/lib/popup/popup.service.d.ts +12 -14
- package/lib/registry/workbench-object-registry.d.ts +10 -6
- package/lib/routing/public_api.d.ts +1 -1
- package/lib/routing/routing.model.d.ts +25 -13
- package/lib/routing/{router.util.d.ts → routing.util.d.ts} +24 -1
- package/lib/routing/workbench-auxiliary-route-installer.service.d.ts +7 -0
- package/lib/routing/workbench-navigational-states.d.ts +3 -3
- package/lib/routing/workbench-url-observer.service.d.ts +31 -57
- package/lib/routing//311/265workbench-router.service.d.ts +10 -16
- package/lib/testing/workbench.provider.d.ts +3 -1
- package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
- package/lib/view/view-portal.pipe.d.ts +1 -3
- package/lib/view/view.component.d.ts +2 -4
- package/lib/view/workbench-view-route-guards.d.ts +2 -2
- package/lib/view/workbench-view.model.d.ts +49 -35
- package/lib/view/workbench-view.registry.d.ts +3 -27
- package/lib/view//311/265workbench-view.model.d.ts +51 -61
- package/lib/view-dnd/view-drag.service.d.ts +5 -2
- package/lib/workbench.model.d.ts +6 -2
- package/lib/workbench.service.d.ts +58 -56
- package/lib//311/265workbench.service.d.ts +18 -31
- package/package.json +1 -1
- package/esm2022/lib/common/filter-by-predicate.pipe.mjs +0 -27
- package/esm2022/lib/common/filter-by-text.pipe.mjs +0 -39
- package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +0 -26
- package/esm2022/lib/routing/router.util.mjs +0 -126
- package/lib/common/filter-by-predicate.pipe.d.ts +0 -10
- package/lib/common/filter-by-text.pipe.d.ts +0 -12
- package/lib/part/part-action-bar/part-action-filter.pipe.d.ts +0 -11
|
@@ -1,47 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2018-2024 Swiss Federal Railways
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
*/
|
|
10
|
+
import { InjectionToken } from '@angular/core';
|
|
2
11
|
import { identity } from 'rxjs';
|
|
3
12
|
import { WorkbenchObjectRegistry } from '../registry/workbench-object-registry';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
13
|
/**
|
|
6
14
|
* Registry for {@link WorkbenchPartAction} model objects.
|
|
7
15
|
*/
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* Registers given part action.
|
|
17
|
-
*
|
|
18
|
-
* @return handle to unregister the part action.
|
|
19
|
-
*/
|
|
20
|
-
register(action) {
|
|
21
|
-
this._registry.register(action);
|
|
22
|
-
return {
|
|
23
|
-
dispose: () => {
|
|
24
|
-
this._registry.unregister(action);
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Emits registered part actions.
|
|
30
|
-
*
|
|
31
|
-
* Upon subscription, the currently registerd actions are emitted, and then emits continuously
|
|
32
|
-
* when new actions are registered or unregistered. It never completes.
|
|
33
|
-
*/
|
|
34
|
-
get actions$() {
|
|
35
|
-
return this._registry.objects$;
|
|
36
|
-
}
|
|
37
|
-
ngOnDestroy() {
|
|
38
|
-
this._registry.clear();
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartActionRegistry, providedIn: 'root' }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartActionRegistry, decorators: [{
|
|
44
|
-
type: Injectable,
|
|
45
|
-
args: [{ providedIn: 'root' }]
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQtYWN0aW9uLnJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGFydC93b3JrYmVuY2gtcGFydC1hY3Rpb24ucmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDOztBQUU5RTs7R0FFRztBQUVILE1BQU0sT0FBTywyQkFBMkI7SUFEeEM7UUFHVSxjQUFTLEdBQUcsSUFBSSx1QkFBdUIsQ0FBMkM7WUFDeEYsS0FBSyxFQUFFLFFBQVE7WUFDZixpQkFBaUIsRUFBRSxDQUFDLE1BQTJCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1NBQ3RJLENBQUMsQ0FBQztLQThCSjtJQTVCQzs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE1BQTJCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE9BQU87WUFDTCxPQUFPLEVBQUUsR0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FsQ1UsMkJBQTJCO2tIQUEzQiwyQkFBMkIsY0FEZixNQUFNOzsyRkFDbEIsMkJBQTJCO2tCQUR2QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXNwb3NhYmxlfSBmcm9tICcuLi9jb21tb24vZGlzcG9zYWJsZSc7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb259IGZyb20gJy4uL3dvcmtiZW5jaC5tb2RlbCc7XG5pbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lkZW50aXR5LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7V29ya2JlbmNoT2JqZWN0UmVnaXN0cnl9IGZyb20gJy4uL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnknO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IGZvciB7QGxpbmsgV29ya2JlbmNoUGFydEFjdGlvbn0gbW9kZWwgb2JqZWN0cy5cbiAqL1xuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgV29ya2JlbmNoUGFydEFjdGlvblJlZ2lzdHJ5IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9yZWdpc3RyeSA9IG5ldyBXb3JrYmVuY2hPYmplY3RSZWdpc3RyeTxXb3JrYmVuY2hQYXJ0QWN0aW9uLCBXb3JrYmVuY2hQYXJ0QWN0aW9uPih7XG4gICAga2V5Rm46IGlkZW50aXR5LFxuICAgIG51bGxPYmplY3RFcnJvckZuOiAoYWN0aW9uOiBXb3JrYmVuY2hQYXJ0QWN0aW9uKSA9PiBFcnJvcihgW051bGxQYXJ0QWN0aW9uRXJyb3JdIFBhcnQgQWN0aW9uICcke0pTT04uc3RyaW5naWZ5KGFjdGlvbil9JyBub3QgZm91bmQuYCksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgZ2l2ZW4gcGFydCBhY3Rpb24uXG4gICAqXG4gICAqIEByZXR1cm4gaGFuZGxlIHRvIHVucmVnaXN0ZXIgdGhlIHBhcnQgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKGFjdGlvbjogV29ya2JlbmNoUGFydEFjdGlvbik6IERpc3Bvc2FibGUge1xuICAgIHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyKGFjdGlvbik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcG9zZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLl9yZWdpc3RyeS51bnJlZ2lzdGVyKGFjdGlvbik7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgcmVnaXN0ZXJlZCBwYXJ0IGFjdGlvbnMuXG4gICAqXG4gICAqIFVwb24gc3Vic2NyaXB0aW9uLCB0aGUgY3VycmVudGx5IHJlZ2lzdGVyZCBhY3Rpb25zIGFyZSBlbWl0dGVkLCBhbmQgdGhlbiBlbWl0cyBjb250aW51b3VzbHlcbiAgICogd2hlbiBuZXcgYWN0aW9ucyBhcmUgcmVnaXN0ZXJlZCBvciB1bnJlZ2lzdGVyZWQuIEl0IG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hQYXJ0QWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cnkub2JqZWN0cyQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cnkuY2xlYXIoKTtcbiAgfVxufVxuIl19
|
|
16
|
+
export const WORKBENCH_PART_ACTION_REGISTRY = new InjectionToken('WORKBENCH_PART_ACTION_REGISTRY', {
|
|
17
|
+
providedIn: 'root',
|
|
18
|
+
factory: () => new WorkbenchObjectRegistry({
|
|
19
|
+
keyFn: identity,
|
|
20
|
+
nullObjectErrorFn: (action) => Error(`[NullPartActionError] Part Action '${JSON.stringify(action)}' not found.`),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQtYWN0aW9uLnJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGFydC93b3JrYmVuY2gtcGFydC1hY3Rpb24ucmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFHSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBb0UsZ0NBQWdDLEVBQUU7SUFDcEssVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksdUJBQXVCLENBQTJDO1FBQ25GLEtBQUssRUFBRSxRQUFRO1FBQ2YsaUJBQWlCLEVBQUUsQ0FBQyxNQUEyQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0NBQXNDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztLQUN0SSxDQUFDO0NBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb259IGZyb20gJy4uL3dvcmtiZW5jaC5tb2RlbCc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXb3JrYmVuY2hPYmplY3RSZWdpc3RyeX0gZnJvbSAnLi4vcmVnaXN0cnkvd29ya2JlbmNoLW9iamVjdC1yZWdpc3RyeSc7XG5cbi8qKlxuICogUmVnaXN0cnkgZm9yIHtAbGluayBXb3JrYmVuY2hQYXJ0QWN0aW9ufSBtb2RlbCBvYmplY3RzLlxuICovXG5leHBvcnQgY29uc3QgV09SS0JFTkNIX1BBUlRfQUNUSU9OX1JFR0lTVFJZID0gbmV3IEluamVjdGlvblRva2VuPFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PFdvcmtiZW5jaFBhcnRBY3Rpb24sIFdvcmtiZW5jaFBhcnRBY3Rpb24+PignV09SS0JFTkNIX1BBUlRfQUNUSU9OX1JFR0lTVFJZJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IG5ldyBXb3JrYmVuY2hPYmplY3RSZWdpc3RyeTxXb3JrYmVuY2hQYXJ0QWN0aW9uLCBXb3JrYmVuY2hQYXJ0QWN0aW9uPih7XG4gICAga2V5Rm46IGlkZW50aXR5LFxuICAgIG51bGxPYmplY3RFcnJvckZuOiAoYWN0aW9uOiBXb3JrYmVuY2hQYXJ0QWN0aW9uKSA9PiBFcnJvcihgW051bGxQYXJ0QWN0aW9uRXJyb3JdIFBhcnQgQWN0aW9uICcke0pTT04uc3RyaW5naWZ5KGFjdGlvbil9JyBub3QgZm91bmQuYCksXG4gIH0pLFxufSk7XG4iXX0=
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2018-2024 Swiss Federal Railways
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
*/
|
|
1
10
|
/**
|
|
2
11
|
* Represents a part of the workbench layout.
|
|
3
12
|
*
|
|
@@ -7,4 +16,4 @@
|
|
|
7
16
|
*/
|
|
8
17
|
export class WorkbenchPart {
|
|
9
18
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3dvcmtiZW5jaC1wYXJ0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBTUg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFnQixhQUFhO0NBK0JsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0QWN0aW9ufSBmcm9tICcuLi93b3JrYmVuY2gubW9kZWwnO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXJ0IG9mIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEEgcGFydCBpcyBhIHN0YWNrIG9mIHZpZXdzIHRoYXQgY2FuIGJlIGFycmFuZ2VkIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEBzZWUgV29ya2JlbmNoVmlld1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2JlbmNoUGFydCB7XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGl0eSBvZiB0aGlzIHBhcnQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBwYXJ0IGlzIGxvY2F0ZWQgaW4gdGhlIG1haW4gYXJlYS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpc0luTWFpbkFyZWE6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcGFydCBpcyBhY3RpdmUgb3IgaW5hY3RpdmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIGFjdGl2ZSB2aWV3LCBvciBgbnVsbGAgaWYgbm9uZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY3RpdmVWaWV3SWQ6IFNpZ25hbDxWaWV3SWQgfCBudWxsPjtcblxuICAvKipcbiAgICogSWRlbnRpZmllcyB2aWV3cyBvcGVuZWQgaW4gdGhpcyBwYXJ0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdJZHM6IFNpZ25hbDxWaWV3SWRbXT47XG5cbiAgLyoqXG4gICAqIEFjdGlvbnMgbWF0Y2hpbmcgdGhpcyBwYXJ0IGFuZCBpdHMgYWN0aXZlIHZpZXcuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aW9uczogU2lnbmFsPFdvcmtiZW5jaFBhcnRBY3Rpb25bXT47XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 Swiss Federal Railways
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -7,51 +7,17 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import { concat } from 'rxjs';
|
|
10
|
+
import { InjectionToken } from '@angular/core';
|
|
12
11
|
import { WorkbenchObjectRegistry } from '../registry/workbench-object-registry';
|
|
13
|
-
import { take } from 'rxjs/operators';
|
|
14
|
-
import { bufferLatestUntilLayoutChange } from '../common/operators';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
12
|
/**
|
|
17
13
|
* Registry for {@link WorkbenchPart} model objects.
|
|
18
14
|
*/
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Registers given part.
|
|
30
|
-
*/
|
|
31
|
-
register(part) {
|
|
32
|
-
this._registry.register(part);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Unregisters specified part and destroys it.
|
|
36
|
-
*/
|
|
37
|
-
unregister(partId) {
|
|
38
|
-
this._registry.unregister(partId)?.destroy();
|
|
39
|
-
}
|
|
40
|
-
get(partId, options) {
|
|
41
|
-
return this._registry.get(partId, options);
|
|
42
|
-
}
|
|
43
|
-
get parts() {
|
|
44
|
-
return this._registry.objects;
|
|
45
|
-
}
|
|
46
|
-
ngOnDestroy() {
|
|
47
|
-
this._registry.objects.forEach(part => part.destroy());
|
|
48
|
-
this._registry.clear();
|
|
49
|
-
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartRegistry, providedIn: 'root' }); }
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPartRegistry, decorators: [{
|
|
54
|
-
type: Injectable,
|
|
55
|
-
args: [{ providedIn: 'root' }]
|
|
56
|
-
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQucmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3dvcmtiZW5jaC1wYXJ0LnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsTUFBTSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR1UsY0FBUyxHQUFHLElBQUksdUJBQXVCLENBQXlCO1lBQ3RFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLHlCQUF5QixNQUFNLGNBQWMsQ0FBQztTQUNsRixDQUFDLENBQUM7UUFFSSxXQUFNLEdBQTBDLE1BQU0sQ0FDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QztRQUM5RSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0tBaUNIO0lBL0JDOztPQUVHO0lBQ0ksUUFBUSxDQUFDLElBQW9CO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFPTSxHQUFHLENBQUMsTUFBYyxFQUFFLE9BQXdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0ExQ1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FEVCxNQUFNOzsyRkFDbEIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFBhcnR9IGZyb20gJy4vybV3b3JrYmVuY2gtcGFydC5tb2RlbCc7XG5pbXBvcnQge2NvbmNhdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5fSBmcm9tICcuLi9yZWdpc3RyeS93b3JrYmVuY2gtb2JqZWN0LXJlZ2lzdHJ5JztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtidWZmZXJMYXRlc3RVbnRpbExheW91dENoYW5nZX0gZnJvbSAnLi4vY29tbW9uL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVnaXN0cnkgZm9yIHtAbGluayBXb3JrYmVuY2hQYXJ0fSBtb2RlbCBvYmplY3RzLlxuICovXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBXb3JrYmVuY2hQYXJ0UmVnaXN0cnkgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3JlZ2lzdHJ5ID0gbmV3IFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PHN0cmluZywgybVXb3JrYmVuY2hQYXJ0Pih7XG4gICAga2V5Rm46IHBhcnQgPT4gcGFydC5pZCxcbiAgICBudWxsT2JqZWN0RXJyb3JGbjogcGFydElkID0+IEVycm9yKGBbTnVsbFBhcnRFcnJvcl0gUGFydCAnJHtwYXJ0SWR9JyBub3QgZm91bmQuYCksXG4gIH0pO1xuXG4gIHB1YmxpYyBwYXJ0cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgybVXb3JrYmVuY2hQYXJ0W10+ID0gY29uY2F0KFxuICAgIHRoaXMuX3JlZ2lzdHJ5Lm9iamVjdHMkLnBpcGUodGFrZSgxKSksIC8vIGltbWVkaWF0ZSBlbWlzc2lvbiB1cG9uIHN1YnNjcmlwdGlvblxuICAgIHRoaXMuX3JlZ2lzdHJ5Lm9iamVjdHMkLnBpcGUoYnVmZmVyTGF0ZXN0VW50aWxMYXlvdXRDaGFuZ2UoKSksXG4gICk7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBnaXZlbiBwYXJ0LlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKHBhcnQ6IMm1V29ya2JlbmNoUGFydCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyKHBhcnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVucmVnaXN0ZXJzIHNwZWNpZmllZCBwYXJ0IGFuZCBkZXN0cm95cyBpdC5cbiAgICovXG4gIHB1YmxpYyB1bnJlZ2lzdGVyKHBhcnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cnkudW5yZWdpc3RlcihwYXJ0SWQpPy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUge0BsaW5rIMm1V29ya2JlbmNoUGFydH0gb2YgdGhlIGdpdmVuIGlkZW50aXR5LiBJZiBub3QgZm91bmQsIGJ5IGRlZmF1bHQsIHRocm93cyBhbiBlcnJvciB1bmxlc3Mgc2V0dGluZyB0aGUgYG9yRWxzZU51bGxgIG9wdGlvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQocGFydElkOiBzdHJpbmcpOiDJtVdvcmtiZW5jaFBhcnQ7XG4gIHB1YmxpYyBnZXQocGFydElkOiBzdHJpbmcsIG9wdGlvbnM6IHtvckVsc2U6IG51bGx9KTogybVXb3JrYmVuY2hQYXJ0IHwgbnVsbDtcbiAgcHVibGljIGdldChwYXJ0SWQ6IHN0cmluZywgb3B0aW9ucz86IHtvckVsc2U6IG51bGx9KTogybVXb3JrYmVuY2hQYXJ0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJ5LmdldChwYXJ0SWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJ0cygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBhcnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJ5Lm9iamVjdHM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cnkub2JqZWN0cy5mb3JFYWNoKHBhcnQgPT4gcGFydC5kZXN0cm95KCkpO1xuICAgIHRoaXMuX3JlZ2lzdHJ5LmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
15
|
+
export const WORKBENCH_PART_REGISTRY = new InjectionToken('WORKBENCH_PART_REGISTRY', {
|
|
16
|
+
providedIn: 'root',
|
|
17
|
+
factory: () => new WorkbenchObjectRegistry({
|
|
18
|
+
keyFn: part => part.id,
|
|
19
|
+
nullObjectErrorFn: partId => Error(`[NullPartError] Part '${partId}' not found.`),
|
|
20
|
+
onUnregister: part => part.destroy(),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQucmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3dvcmtiZW5jaC1wYXJ0LnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFrRCx5QkFBeUIsRUFBRTtJQUNwSSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSx1QkFBdUIsQ0FBeUI7UUFDakUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMseUJBQXlCLE1BQU0sY0FBYyxDQUFDO1FBQ2pGLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7S0FDckMsQ0FBQztDQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoUGFydH0gZnJvbSAnLi/JtXdvcmtiZW5jaC1wYXJ0Lm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoT2JqZWN0UmVnaXN0cnl9IGZyb20gJy4uL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnknO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IGZvciB7QGxpbmsgV29ya2JlbmNoUGFydH0gbW9kZWwgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IFdPUktCRU5DSF9QQVJUX1JFR0lTVFJZID0gbmV3IEluamVjdGlvblRva2VuPFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PHN0cmluZywgybVXb3JrYmVuY2hQYXJ0Pj4oJ1dPUktCRU5DSF9QQVJUX1JFR0lTVFJZJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IG5ldyBXb3JrYmVuY2hPYmplY3RSZWdpc3RyeTxzdHJpbmcsIMm1V29ya2JlbmNoUGFydD4oe1xuICAgIGtleUZuOiBwYXJ0ID0+IHBhcnQuaWQsXG4gICAgbnVsbE9iamVjdEVycm9yRm46IHBhcnRJZCA9PiBFcnJvcihgW051bGxQYXJ0RXJyb3JdIFBhcnQgJyR7cGFydElkfScgbm90IGZvdW5kLmApLFxuICAgIG9uVW5yZWdpc3RlcjogcGFydCA9PiBwYXJ0LmRlc3Ryb3koKSxcbiAgfSksXG59KTtcbiJdfQ==
|
|
@@ -7,33 +7,35 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import { inject, Injector, runInInjectionContext } from '@angular/core';
|
|
10
|
+
import { computed, effect, EnvironmentInjector, inject, Injector, runInInjectionContext, signal } from '@angular/core';
|
|
12
11
|
import { Arrays } from '@scion/toolkit/util';
|
|
13
12
|
import { WorkbenchPart } from './workbench-part.model';
|
|
14
|
-
import {
|
|
15
|
-
import { WorkbenchViewRegistry } from '../view/workbench-view.registry';
|
|
13
|
+
import { WORKBENCH_VIEW_REGISTRY } from '../view/workbench-view.registry';
|
|
16
14
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
17
15
|
import { ActivationInstantProvider } from '../activation-instant.provider';
|
|
18
|
-
import {
|
|
19
|
-
import { filterArray } from '@scion/toolkit/operators';
|
|
20
|
-
import { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';
|
|
16
|
+
import { filter } from 'rxjs/operators';
|
|
21
17
|
import { WorkbenchLayoutService } from '../layout/workbench-layout.service';
|
|
18
|
+
import { NavigationStart, Router } from '@angular/router';
|
|
19
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
20
|
+
import { ɵWorkbenchRouter } from '../routing/ɵworkbench-router.service';
|
|
21
|
+
import { WORKBENCH_PART_ACTION_REGISTRY } from './workbench-part-action.registry';
|
|
22
22
|
export class ɵWorkbenchPart {
|
|
23
23
|
constructor(id, options) {
|
|
24
24
|
this.id = id;
|
|
25
|
-
this.
|
|
25
|
+
this._partEnvironmentInjector = inject(EnvironmentInjector);
|
|
26
|
+
this._workbenchRouter = inject(ɵWorkbenchRouter);
|
|
26
27
|
this._workbenchLayoutService = inject(WorkbenchLayoutService);
|
|
27
|
-
this._viewRegistry = inject(
|
|
28
|
+
this._viewRegistry = inject(WORKBENCH_VIEW_REGISTRY);
|
|
28
29
|
this._activationInstantProvider = inject(ActivationInstantProvider);
|
|
29
|
-
this._partActionRegistry = inject(
|
|
30
|
-
this.
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.activeViewId$ = new BehaviorSubject(null);
|
|
30
|
+
this._partActionRegistry = inject(WORKBENCH_PART_ACTION_REGISTRY);
|
|
31
|
+
this.active = signal(false);
|
|
32
|
+
this.viewIds = signal([], { equal: (a, b) => Arrays.isEqual(a, b, { exactOrder: true }) });
|
|
33
|
+
this.activeViewId = signal(null);
|
|
34
34
|
this._partComponent = options.component;
|
|
35
|
-
this.actions
|
|
35
|
+
this.actions = this.selectPartActions();
|
|
36
36
|
this.touchOnActivate();
|
|
37
|
+
this.installModelUpdater();
|
|
38
|
+
this.onLayoutChange(this._workbenchRouter.getCurrentNavigationContext().layout);
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Constructs the portal using the given injection context.
|
|
@@ -49,32 +51,18 @@ export class ɵWorkbenchPart {
|
|
|
49
51
|
return new ComponentPortal(this._partComponent, null, injector, null, null);
|
|
50
52
|
}
|
|
51
53
|
/**
|
|
52
|
-
* Method invoked
|
|
54
|
+
* Method invoked when the workbench layout has changed.
|
|
55
|
+
*
|
|
56
|
+
* This method:
|
|
57
|
+
* - is called on every layout change, including changes not relevant for this part.
|
|
53
58
|
*/
|
|
54
59
|
onLayoutChange(layout) {
|
|
55
60
|
this._isInMainArea ??= layout.hasPart(this.id, { grid: 'mainArea' });
|
|
56
|
-
const
|
|
61
|
+
const mPart = layout.part({ partId: this.id });
|
|
57
62
|
const active = layout.activePart({ grid: this._isInMainArea ? 'mainArea' : 'workbench' })?.id === this.id;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (this.active !== active) {
|
|
62
|
-
this.active$.next(active);
|
|
63
|
-
}
|
|
64
|
-
// Update views if changed
|
|
65
|
-
if (!Arrays.isEqual(prevViewIds, currViewIds, { exactOrder: true })) {
|
|
66
|
-
this.viewIds$.next(currViewIds);
|
|
67
|
-
}
|
|
68
|
-
// Update active view if changed
|
|
69
|
-
if (this.activeViewId !== part.activeViewId) {
|
|
70
|
-
this.activeViewId$.next(part.activeViewId ?? null);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
get viewIds() {
|
|
74
|
-
return this.viewIds$.value;
|
|
75
|
-
}
|
|
76
|
-
get activeViewId() {
|
|
77
|
-
return this.activeViewId$.value;
|
|
63
|
+
this.active.set(active);
|
|
64
|
+
this.viewIds.set(mPart.views.map(view => view.id));
|
|
65
|
+
this.activeViewId.set(mPart.activeViewId ?? null);
|
|
78
66
|
}
|
|
79
67
|
/**
|
|
80
68
|
* Activates this part.
|
|
@@ -82,16 +70,13 @@ export class ɵWorkbenchPart {
|
|
|
82
70
|
* Note: This instruction runs asynchronously via URL routing.
|
|
83
71
|
*/
|
|
84
72
|
async activate() {
|
|
85
|
-
if (this.active) {
|
|
73
|
+
if (this.active()) {
|
|
86
74
|
return true;
|
|
87
75
|
}
|
|
88
|
-
const currentLayout = this._workbenchLayoutService.layout;
|
|
76
|
+
const currentLayout = this._workbenchLayoutService.layout();
|
|
89
77
|
return this._workbenchRouter.navigate(layout => currentLayout === layout ? layout.activatePart(this.id) : null, // cancel navigation if the layout has become stale
|
|
90
78
|
{ skipLocationChange: true });
|
|
91
79
|
}
|
|
92
|
-
get active() {
|
|
93
|
-
return this.active$.value;
|
|
94
|
-
}
|
|
95
80
|
get activationInstant() {
|
|
96
81
|
return this._activationInstant;
|
|
97
82
|
}
|
|
@@ -99,32 +84,63 @@ export class ɵWorkbenchPart {
|
|
|
99
84
|
return this._isInMainArea ?? false;
|
|
100
85
|
}
|
|
101
86
|
/**
|
|
102
|
-
*
|
|
87
|
+
* Reference to the handle's injector. The injector will be destroyed when removing the part.
|
|
88
|
+
*/
|
|
89
|
+
get injector() {
|
|
90
|
+
return this._partEnvironmentInjector;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Selects actions matching this part and the currently active view.
|
|
103
94
|
*/
|
|
104
|
-
|
|
95
|
+
selectPartActions() {
|
|
105
96
|
const injector = inject(Injector);
|
|
106
|
-
return
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
97
|
+
return computed(() => {
|
|
98
|
+
// Filter actions by calling `canMatch`, if any.
|
|
99
|
+
return this._partActionRegistry.objects().filter(action => {
|
|
100
|
+
// - Run function in injection context for `canMatch` function to inject dependencies.
|
|
101
|
+
// - Run function in a reactive context to track signals. (e.g., view's active state).
|
|
102
|
+
return runInInjectionContext(injector, () => action.canMatch?.(this) ?? true);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
110
105
|
}
|
|
111
106
|
/**
|
|
112
107
|
* Updates the activation instant when this part is activated.
|
|
113
108
|
*/
|
|
114
109
|
touchOnActivate() {
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
effect(() => {
|
|
111
|
+
if (this.active()) {
|
|
112
|
+
this._activationInstant = this._activationInstantProvider.now();
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Sets up automatic synchronization of {@link WorkbenchPart} on every layout change.
|
|
118
|
+
*
|
|
119
|
+
* If the operation is cancelled (e.g., due to a navigation failure), it reverts the changes.
|
|
120
|
+
*/
|
|
121
|
+
installModelUpdater() {
|
|
122
|
+
inject(Router).events
|
|
123
|
+
.pipe(filter((event) => event instanceof NavigationStart), takeUntilDestroyed())
|
|
117
124
|
.subscribe(() => {
|
|
118
|
-
|
|
125
|
+
const navigationContext = this._workbenchRouter.getCurrentNavigationContext();
|
|
126
|
+
const { layout, previousLayout, layoutDiff } = navigationContext;
|
|
127
|
+
if (layoutDiff.removedParts.includes(this.id)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.onLayoutChange(layout);
|
|
131
|
+
// Revert change in case the navigation fails.
|
|
132
|
+
if (previousLayout?.hasPart(this.id)) {
|
|
133
|
+
navigationContext.registerUndoAction(() => this.onLayoutChange(previousLayout));
|
|
134
|
+
}
|
|
119
135
|
});
|
|
120
136
|
}
|
|
121
137
|
destroy() {
|
|
122
|
-
this.
|
|
138
|
+
this._partEnvironmentInjector.destroy();
|
|
123
139
|
// IMPORTANT: Only detach the active view, not destroy it, because views are explicitly destroyed when view handles are removed.
|
|
124
140
|
// Otherwise, moving the last view to another part would fail because the view would already be destroyed.
|
|
125
|
-
if (this.activeViewId) {
|
|
126
|
-
this._viewRegistry.get(this.activeViewId, { orElse: null })?.portal.detach();
|
|
141
|
+
if (this.activeViewId()) {
|
|
142
|
+
this._viewRegistry.get(this.activeViewId(), { orElse: null })?.portal.detach();
|
|
127
143
|
}
|
|
128
144
|
}
|
|
129
145
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2gtcGFydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BhcnQvybV3b3JrYmVuY2gtcGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUcxRSxNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBNEIsRUFBVSxFQUFFLE9BQTRFO1FBQXhGLE9BQUUsR0FBRixFQUFFLENBQVE7UUFmckIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGVB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Q0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSwyRUFBMkU7UUFDM0UsV0FBVyxDQUFDLENBQUMsTUFBMkIsRUFBVyxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUM3SCxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixnSUFBZ0k7UUFDaEksMEdBQTBHO1FBQzFHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcnJheXN9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0QWN0aW9ufSBmcm9tICcuLi93b3JrYmVuY2gubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0fSBmcm9tICcuL3dvcmtiZW5jaC1wYXJ0Lm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoUm91dGVyfSBmcm9tICcuLi9yb3V0aW5nL3dvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdSZWdpc3RyeX0gZnJvbSAnLi4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0FjdGl2YXRpb25JbnN0YW50UHJvdmlkZXJ9IGZyb20gJy4uL2FjdGl2YXRpb24taW5zdGFudC5wcm92aWRlcic7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb25SZWdpc3RyeX0gZnJvbSAnLi93b3JrYmVuY2gtcGFydC1hY3Rpb24ucmVnaXN0cnknO1xuaW1wb3J0IHtmaWx0ZXJBcnJheX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVXb3JrYmVuY2hMYXlvdXR9IGZyb20gJy4uL2xheW91dC/JtXdvcmtiZW5jaC1sYXlvdXQnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7Vmlld0lkfSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIMm1V29ya2JlbmNoUGFydCBpbXBsZW1lbnRzIFdvcmtiZW5jaFBhcnQge1xuXG4gIHByaXZhdGUgX2FjdGl2YXRpb25JbnN0YW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd29ya2JlbmNoUm91dGVyID0gaW5qZWN0KFdvcmtiZW5jaFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtiZW5jaExheW91dFNlcnZpY2UgPSBpbmplY3QoV29ya2JlbmNoTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdSZWdpc3RyeSA9IGluamVjdChXb3JrYmVuY2hWaWV3UmVnaXN0cnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmF0aW9uSW5zdGFudFByb3ZpZGVyID0gaW5qZWN0KEFjdGl2YXRpb25JbnN0YW50UHJvdmlkZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJ0QWN0aW9uUmVnaXN0cnkgPSBpbmplY3QoV29ya2JlbmNoUGFydEFjdGlvblJlZ2lzdHJ5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFydENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQYXJ0Q29tcG9uZW50IHwgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdJZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWaWV3SWRbXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVmlld0lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld0lkIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBhY3Rpb25zJDogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hQYXJ0QWN0aW9uW10+O1xuXG4gIHByaXZhdGUgX2lzSW5NYWluQXJlYTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZywgb3B0aW9uczoge2NvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQYXJ0Q29tcG9uZW50IHwgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQ+fSkge1xuICAgIHRoaXMuX3BhcnRDb21wb25lbnQgPSBvcHRpb25zLmNvbXBvbmVudDtcbiAgICB0aGlzLmFjdGlvbnMkID0gdGhpcy5vYnNlcnZlUGFydEFjdGlvbnMkKCk7XG4gICAgdGhpcy50b3VjaE9uQWN0aXZhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwb3J0YWwgdXNpbmcgdGhlIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZVBvcnRhbEZyb21JbmplY3Rpb25Db250ZXh0KGluamVjdGlvbkNvbnRleHQ6IEluamVjdG9yKTogQ29tcG9uZW50UG9ydGFsPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD4ge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogaW5qZWN0aW9uQ29udGV4dCxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogybVXb3JrYmVuY2hQYXJ0LCB1c2VWYWx1ZTogdGhpc30sXG4gICAgICAgIHtwcm92aWRlOiBXb3JrYmVuY2hQYXJ0LCB1c2VFeGlzdGluZzogybVXb3JrYmVuY2hQYXJ0fSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fcGFydENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IsIG51bGwsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBpbnZva2VkIHRvIHVwZGF0ZSB0aGlzIHdvcmtiZW5jaCBtb2RlbCBvYmplY3Qgd2hlbiB0aGUgd29ya2JlbmNoIGxheW91dCBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uTGF5b3V0Q2hhbmdlKGxheW91dDogybVXb3JrYmVuY2hMYXlvdXQpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0luTWFpbkFyZWEgPz89IGxheW91dC5oYXNQYXJ0KHRoaXMuaWQsIHtncmlkOiAnbWFpbkFyZWEnfSk7XG4gICAgY29uc3QgcGFydCA9IGxheW91dC5wYXJ0KHtwYXJ0SWQ6IHRoaXMuaWR9KTtcbiAgICBjb25zdCBhY3RpdmUgPSBsYXlvdXQuYWN0aXZlUGFydCh7Z3JpZDogdGhpcy5faXNJbk1haW5BcmVhID8gJ21haW5BcmVhJyA6ICd3b3JrYmVuY2gnfSk/LmlkID09PSB0aGlzLmlkO1xuICAgIGNvbnN0IHByZXZWaWV3SWRzID0gdGhpcy52aWV3SWRzJC52YWx1ZTtcbiAgICBjb25zdCBjdXJyVmlld0lkcyA9IHBhcnQudmlld3MubWFwKHZpZXcgPT4gdmlldy5pZCk7XG5cbiAgICAvLyBVcGRhdGUgYWN0aXZlIHBhcnQgaWYgY2hhbmdlZFxuICAgIGlmICh0aGlzLmFjdGl2ZSAhPT0gYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2ZSQubmV4dChhY3RpdmUpO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB2aWV3cyBpZiBjaGFuZ2VkXG4gICAgaWYgKCFBcnJheXMuaXNFcXVhbChwcmV2Vmlld0lkcywgY3VyclZpZXdJZHMsIHtleGFjdE9yZGVyOiB0cnVlfSkpIHtcbiAgICAgIHRoaXMudmlld0lkcyQubmV4dChjdXJyVmlld0lkcyk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIGFjdGl2ZSB2aWV3IGlmIGNoYW5nZWRcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3SWQgIT09IHBhcnQuYWN0aXZlVmlld0lkKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXdJZCQubmV4dChwYXJ0LmFjdGl2ZVZpZXdJZCA/PyBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdJZHMoKTogVmlld0lkW10ge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZHMkLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVWaWV3SWQoKTogVmlld0lkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlVmlld0lkJC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhpcyBwYXJ0LlxuICAgKlxuICAgKiBOb3RlOiBUaGlzIGluc3RydWN0aW9uIHJ1bnMgYXN5bmNocm9ub3VzbHkgdmlhIFVSTCByb3V0aW5nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFjdGl2YXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudExheW91dCA9IHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UubGF5b3V0O1xuICAgIHJldHVybiB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUoXG4gICAgICBsYXlvdXQgPT4gY3VycmVudExheW91dCA9PT0gbGF5b3V0ID8gbGF5b3V0LmFjdGl2YXRlUGFydCh0aGlzLmlkKSA6IG51bGwsIC8vIGNhbmNlbCBuYXZpZ2F0aW9uIGlmIHRoZSBsYXlvdXQgaGFzIGJlY29tZSBzdGFsZVxuICAgICAge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZX0sIC8vIGRvIG5vdCBhZGQgcGFydCBhY3RpdmF0aW9uIGludG8gYnJvd3NlciBoaXN0b3J5IHN0YWNrXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZSQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2YXRpb25JbnN0YW50KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRpb25JbnN0YW50O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luTWFpbkFyZWEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSW5NYWluQXJlYSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhY3Rpb25zIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGlzIHBhcnQgYW5kIHRoZSBjdXJyZW50bHkgYWN0aXZlIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIG9ic2VydmVQYXJ0QWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxXb3JrYmVuY2hQYXJ0QWN0aW9uW10+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRBY3Rpb25SZWdpc3RyeS5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChhY3Rpb25zID0+IHRoaXMuYWN0aXZlVmlld0lkJC5waXBlKG1hcCgoKSA9PiBhY3Rpb25zKSkpLFxuICAgICAgICAvLyBSdW4gaW4gaW5qZWN0aW9uIGNvbnRleHQgZm9yIGBjYW5NYXRjaGAgZnVuY3Rpb24gdG8gaW5qZWN0IGRlcGVuZGVuY2llcy5cbiAgICAgICAgZmlsdGVyQXJyYXkoKGFjdGlvbjogV29ya2JlbmNoUGFydEFjdGlvbik6IGJvb2xlYW4gPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBhY3Rpb24uY2FuTWF0Y2g/Lih0aGlzKSA/PyB0cnVlKSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGFjdGl2YXRpb24gaW5zdGFudCB3aGVuIHRoaXMgcGFydCBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHRvdWNoT25BY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGlvbkluc3RhbnQgPSB0aGlzLl9hY3RpdmF0aW9uSW5zdGFudFByb3ZpZGVyLm5vdygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgLy8gSU1QT1JUQU5UOiBPbmx5IGRldGFjaCB0aGUgYWN0aXZlIHZpZXcsIG5vdCBkZXN0cm95IGl0LCBiZWNhdXNlIHZpZXdzIGFyZSBleHBsaWNpdGx5IGRlc3Ryb3llZCB3aGVuIHZpZXcgaGFuZGxlcyBhcmUgcmVtb3ZlZC5cbiAgICAvLyBPdGhlcndpc2UsIG1vdmluZyB0aGUgbGFzdCB2aWV3IHRvIGFub3RoZXIgcGFydCB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIHZpZXcgd291bGQgYWxyZWFkeSBiZSBkZXN0cm95ZWQuXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlld0lkKSB7XG4gICAgICB0aGlzLl92aWV3UmVnaXN0cnkuZ2V0KHRoaXMuYWN0aXZlVmlld0lkLCB7b3JFbHNlOiBudWxsfSk/LnBvcnRhbC5kZXRhY2goKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHNldWRvLXR5cGUgZm9yIHRoZSBhY3R1YWwge0BsaW5rIFBhcnRDb21wb25lbnR9IHdoaWNoIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4gb3JkZXIgdG8gYXZvaWQgaW1wb3J0IGN5Y2xlcy5cbiAqL1xudHlwZSBQYXJ0Q29tcG9uZW50ID0gYW55O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwc2V1ZG8tdHlwZSBmb3IgdGhlIGFjdHVhbCB7QGxpbmsgTWFpbkFyZWFMYXlvdXRDb21wb25lbnR9IHdoaWNoIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4gb3JkZXIgdG8gYXZvaWQgaW1wb3J0IGN5Y2xlcy5cbiAqL1xudHlwZSBNYWluQXJlYUxheW91dENvbXBvbmVudCA9IGFueTtcbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2gtcGFydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BhcnQvybV3b3JrYmVuY2gtcGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGVBQWUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFMUUsT0FBTyxFQUFRLGVBQWUsRUFBRSxNQUFNLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRixNQUFNLE9BQU8sY0FBYztJQWtCekIsWUFBNEIsRUFBVSxFQUFFLE9BQTRFO1FBQXhGLE9BQUUsR0FBRixFQUFFLENBQVE7UUFoQnJCLDZCQUF3QixHQUFHLE1BQU0s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Q0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuaW1wb3J0IHtjb21wdXRlZCwgZWZmZWN0LCBFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHQsIFNpZ25hbCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyYXlzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7V29ya2JlbmNoUGFydEFjdGlvbn0gZnJvbSAnLi4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoUGFydH0gZnJvbSAnLi93b3JrYmVuY2gtcGFydC5tb2RlbCc7XG5pbXBvcnQge1dPUktCRU5DSF9WSUVXX1JFR0lTVFJZfSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QWN0aXZhdGlvbkluc3RhbnRQcm92aWRlcn0gZnJvbSAnLi4vYWN0aXZhdGlvbi1pbnN0YW50LnByb3ZpZGVyJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge8m1V29ya2JlbmNoTGF5b3V0fSBmcm9tICcuLi9sYXlvdXQvybV3b3JrYmVuY2gtbGF5b3V0JztcbmltcG9ydCB7V29ya2JlbmNoTGF5b3V0U2VydmljZX0gZnJvbSAnLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge1ZpZXdJZH0gZnJvbSAnLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge0V2ZW50LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFJvdXRlcn0gZnJvbSAnLi4vcm91dGluZy/JtXdvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge1dPUktCRU5DSF9QQVJUX0FDVElPTl9SRUdJU1RSWX0gZnJvbSAnLi93b3JrYmVuY2gtcGFydC1hY3Rpb24ucmVnaXN0cnknO1xuXG5leHBvcnQgY2xhc3MgybVXb3JrYmVuY2hQYXJ0IGltcGxlbWVudHMgV29ya2JlbmNoUGFydCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGFydEVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtiZW5jaFJvdXRlciA9IGluamVjdCjJtVdvcmtiZW5jaFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtiZW5jaExheW91dFNlcnZpY2UgPSBpbmplY3QoV29ya2JlbmNoTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdSZWdpc3RyeSA9IGluamVjdChXT1JLQkVOQ0hfVklFV19SRUdJU1RSWSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRpb25JbnN0YW50UHJvdmlkZXIgPSBpbmplY3QoQWN0aXZhdGlvbkluc3RhbnRQcm92aWRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcnRBY3Rpb25SZWdpc3RyeSA9IGluamVjdChXT1JLQkVOQ0hfUEFSVF9BQ1RJT05fUkVHSVNUUlkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJ0Q29tcG9uZW50OiBDb21wb25lbnRUeXBlPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD47XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSB2aWV3SWRzID0gc2lnbmFsPFZpZXdJZFtdPihbXSwge2VxdWFsOiAoYSwgYikgPT4gQXJyYXlzLmlzRXF1YWwoYSwgYiwge2V4YWN0T3JkZXI6IHRydWV9KX0pO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVmlld0lkID0gc2lnbmFsPFZpZXdJZCB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aW9uczogU2lnbmFsPFdvcmtiZW5jaFBhcnRBY3Rpb25bXT47XG5cbiAgcHJpdmF0ZSBfaXNJbk1haW5BcmVhOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9hY3RpdmF0aW9uSW5zdGFudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLCBvcHRpb25zOiB7Y29tcG9uZW50OiBDb21wb25lbnRUeXBlPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD59KSB7XG4gICAgdGhpcy5fcGFydENvbXBvbmVudCA9IG9wdGlvbnMuY29tcG9uZW50O1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuc2VsZWN0UGFydEFjdGlvbnMoKTtcbiAgICB0aGlzLnRvdWNoT25BY3RpdmF0ZSgpO1xuICAgIHRoaXMuaW5zdGFsbE1vZGVsVXBkYXRlcigpO1xuICAgIHRoaXMub25MYXlvdXRDaGFuZ2UodGhpcy5fd29ya2JlbmNoUm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uQ29udGV4dCgpLmxheW91dCk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgcG9ydGFsIHVzaW5nIHRoZSBnaXZlbiBpbmplY3Rpb24gY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVQb3J0YWxGcm9tSW5qZWN0aW9uQ29udGV4dChpbmplY3Rpb25Db250ZXh0OiBJbmplY3Rvcik6IENvbXBvbmVudFBvcnRhbDxQYXJ0Q29tcG9uZW50IHwgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQ+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IGluamVjdGlvbkNvbnRleHQsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IMm1V29ya2JlbmNoUGFydCwgdXNlVmFsdWU6IHRoaXN9LFxuICAgICAgICB7cHJvdmlkZTogV29ya2JlbmNoUGFydCwgdXNlRXhpc3Rpbmc6IMm1V29ya2JlbmNoUGFydH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuX3BhcnRDb21wb25lbnQsIG51bGwsIGluamVjdG9yLCBudWxsLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgaW52b2tlZCB3aGVuIHRoZSB3b3JrYmVuY2ggbGF5b3V0IGhhcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZDpcbiAgICogLSBpcyBjYWxsZWQgb24gZXZlcnkgbGF5b3V0IGNoYW5nZSwgaW5jbHVkaW5nIGNoYW5nZXMgbm90IHJlbGV2YW50IGZvciB0aGlzIHBhcnQuXG4gICAqL1xuICBwcml2YXRlIG9uTGF5b3V0Q2hhbmdlKGxheW91dDogybVXb3JrYmVuY2hMYXlvdXQpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0luTWFpbkFyZWEgPz89IGxheW91dC5oYXNQYXJ0KHRoaXMuaWQsIHtncmlkOiAnbWFpbkFyZWEnfSk7XG4gICAgY29uc3QgbVBhcnQgPSBsYXlvdXQucGFydCh7cGFydElkOiB0aGlzLmlkfSk7XG4gICAgY29uc3QgYWN0aXZlID0gbGF5b3V0LmFjdGl2ZVBhcnQoe2dyaWQ6IHRoaXMuX2lzSW5NYWluQXJlYSA/ICdtYWluQXJlYScgOiAnd29ya2JlbmNoJ30pPy5pZCA9PT0gdGhpcy5pZDtcbiAgICB0aGlzLmFjdGl2ZS5zZXQoYWN0aXZlKTtcbiAgICB0aGlzLnZpZXdJZHMuc2V0KG1QYXJ0LnZpZXdzLm1hcCh2aWV3ID0+IHZpZXcuaWQpKTtcbiAgICB0aGlzLmFjdGl2ZVZpZXdJZC5zZXQobVBhcnQuYWN0aXZlVmlld0lkID8/IG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyB0aGlzIHBhcnQuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgaW5zdHJ1Y3Rpb24gcnVucyBhc3luY2hyb25vdXNseSB2aWEgVVJMIHJvdXRpbmcuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWN0aXZhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRMYXlvdXQgPSB0aGlzLl93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlLmxheW91dCgpO1xuICAgIHJldHVybiB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUoXG4gICAgICBsYXlvdXQgPT4gY3VycmVudExheW91dCA9PT0gbGF5b3V0ID8gbGF5b3V0LmFjdGl2YXRlUGFydCh0aGlzLmlkKSA6IG51bGwsIC8vIGNhbmNlbCBuYXZpZ2F0aW9uIGlmIHRoZSBsYXlvdXQgaGFzIGJlY29tZSBzdGFsZVxuICAgICAge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZX0sIC8vIGRvIG5vdCBhZGQgcGFydCBhY3RpdmF0aW9uIGludG8gYnJvd3NlciBoaXN0b3J5IHN0YWNrXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZhdGlvbkluc3RhbnQoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGlvbkluc3RhbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzSW5NYWluQXJlYSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbk1haW5BcmVhID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgaGFuZGxlJ3MgaW5qZWN0b3IuIFRoZSBpbmplY3RvciB3aWxsIGJlIGRlc3Ryb3llZCB3aGVuIHJlbW92aW5nIHRoZSBwYXJ0LlxuICAgKi9cbiAgcHVibGljIGdldCBpbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRFbnZpcm9ubWVudEluamVjdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYWN0aW9ucyBtYXRjaGluZyB0aGlzIHBhcnQgYW5kIHRoZSBjdXJyZW50bHkgYWN0aXZlIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIHNlbGVjdFBhcnRBY3Rpb25zKCk6IFNpZ25hbDxXb3JrYmVuY2hQYXJ0QWN0aW9uW10+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgLy8gRmlsdGVyIGFjdGlvbnMgYnkgY2FsbGluZyBgY2FuTWF0Y2hgLCBpZiBhbnkuXG4gICAgICByZXR1cm4gdGhpcy5fcGFydEFjdGlvblJlZ2lzdHJ5Lm9iamVjdHMoKS5maWx0ZXIoYWN0aW9uID0+IHtcbiAgICAgICAgLy8gLSBSdW4gZnVuY3Rpb24gaW4gaW5qZWN0aW9uIGNvbnRleHQgZm9yIGBjYW5NYXRjaGAgZnVuY3Rpb24gdG8gaW5qZWN0IGRlcGVuZGVuY2llcy5cbiAgICAgICAgLy8gLSBSdW4gZnVuY3Rpb24gaW4gYSByZWFjdGl2ZSBjb250ZXh0IHRvIHRyYWNrIHNpZ25hbHMuIChlLmcuLCB2aWV3J3MgYWN0aXZlIHN0YXRlKS5cbiAgICAgICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gYWN0aW9uLmNhbk1hdGNoPy4odGhpcykgPz8gdHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhY3RpdmF0aW9uIGluc3RhbnQgd2hlbiB0aGlzIHBhcnQgaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSB0b3VjaE9uQWN0aXZhdGUoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRpb25JbnN0YW50ID0gdGhpcy5fYWN0aXZhdGlvbkluc3RhbnRQcm92aWRlci5ub3coKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGF1dG9tYXRpYyBzeW5jaHJvbml6YXRpb24gb2Yge0BsaW5rIFdvcmtiZW5jaFBhcnR9IG9uIGV2ZXJ5IGxheW91dCBjaGFuZ2UuXG4gICAqXG4gICAqIElmIHRoZSBvcGVyYXRpb24gaXMgY2FuY2VsbGVkIChlLmcuLCBkdWUgdG8gYSBuYXZpZ2F0aW9uIGZhaWx1cmUpLCBpdCByZXZlcnRzIHRoZSBjaGFuZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsTW9kZWxVcGRhdGVyKCk6IHZvaWQge1xuICAgIGluamVjdChSb3V0ZXIpLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQ6IEV2ZW50IHwgUm91dGVyRXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uU3RhcnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uQ29udGV4dCA9IHRoaXMuX3dvcmtiZW5jaFJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbkNvbnRleHQoKTtcbiAgICAgICAgY29uc3Qge2xheW91dCwgcHJldmlvdXNMYXlvdXQsIGxheW91dERpZmZ9ID0gbmF2aWdhdGlvbkNvbnRleHQ7XG5cbiAgICAgICAgaWYgKGxheW91dERpZmYucmVtb3ZlZFBhcnRzLmluY2x1ZGVzKHRoaXMuaWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkxheW91dENoYW5nZShsYXlvdXQpO1xuXG4gICAgICAgIC8vIFJldmVydCBjaGFuZ2UgaW4gY2FzZSB0aGUgbmF2aWdhdGlvbiBmYWlscy5cbiAgICAgICAgaWYgKHByZXZpb3VzTGF5b3V0Py5oYXNQYXJ0KHRoaXMuaWQpKSB7XG4gICAgICAgICAgbmF2aWdhdGlvbkNvbnRleHQucmVnaXN0ZXJVbmRvQWN0aW9uKCgpID0+IHRoaXMub25MYXlvdXRDaGFuZ2UocHJldmlvdXNMYXlvdXQpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXJ0RW52aXJvbm1lbnRJbmplY3Rvci5kZXN0cm95KCk7XG4gICAgLy8gSU1QT1JUQU5UOiBPbmx5IGRldGFjaCB0aGUgYWN0aXZlIHZpZXcsIG5vdCBkZXN0cm95IGl0LCBiZWNhdXNlIHZpZXdzIGFyZSBleHBsaWNpdGx5IGRlc3Ryb3llZCB3aGVuIHZpZXcgaGFuZGxlcyBhcmUgcmVtb3ZlZC5cbiAgICAvLyBPdGhlcndpc2UsIG1vdmluZyB0aGUgbGFzdCB2aWV3IHRvIGFub3RoZXIgcGFydCB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIHZpZXcgd291bGQgYWxyZWFkeSBiZSBkZXN0cm95ZWQuXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlld0lkKCkpIHtcbiAgICAgIHRoaXMuX3ZpZXdSZWdpc3RyeS5nZXQodGhpcy5hY3RpdmVWaWV3SWQoKSEsIHtvckVsc2U6IG51bGx9KT8ucG9ydGFsLmRldGFjaCgpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwc2V1ZG8tdHlwZSBmb3IgdGhlIGFjdHVhbCB7QGxpbmsgUGFydENvbXBvbmVudH0gd2hpY2ggbXVzdCBub3QgYmUgcmVmZXJlbmNlZCBpbiBvcmRlciB0byBhdm9pZCBpbXBvcnQgY3ljbGVzLlxuICovXG50eXBlIFBhcnRDb21wb25lbnQgPSBhbnk7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBzZXVkby10eXBlIGZvciB0aGUgYWN0dWFsIHtAbGluayBNYWluQXJlYUxheW91dENvbXBvbmVudH0gd2hpY2ggbXVzdCBub3QgYmUgcmVmZXJlbmNlZCBpbiBvcmRlciB0byBhdm9pZCBpbXBvcnQgY3ljbGVzLlxuICovXG50eXBlIE1haW5BcmVhTGF5b3V0Q29tcG9uZW50ID0gYW55O1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXR9IGZyb20gJy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0JztcbmltcG9ydCB7V29ya2JlbmNoTGF5b3V0RmFjdG9yeX0gZnJvbSAnLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQuZmFjdG9yeSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHdvcmtiZW5jaCBwZXJzcGVjdGl2ZS5cbiAqXG4gKiBBIHBlcnNwZWN0aXZlIGlzIGEgbmFtZWQgYXJyYW5nZW1lbnQgb2Ygdmlld3MuIERpZmZlcmVudCBwZXJzcGVjdGl2ZXMgcHJvdmlkZSBhIGRpZmZlcmVudCBwZXJzcGVjdGl2ZSBvbiB0aGUgYXBwbGljYXRpb24uXG4gKiBBIHBlcnNwZWN0aXZlIGNhbiBiZSBkaXZpZGVkIGludG8gYSBtYWluIGFuZCBhIHBlcmlwaGVyYWwgYXJlYSwgd2l0aCB0aGUgbWFpbiBhcmVhIGFzIHRoZSBwcmltYXJ5IHBsYWNlIGZvciBvcGVuaW5nIHZpZXdzLlxuICogVmlld3MgaW4gdGhlIG1haW4gYXJlYSBhcmUgcmV0YWluZWQgd2hlbiBzd2l0Y2hpbmcgcGVyc3BlY3RpdmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtiZW5jaFBlcnNwZWN0aXZlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoaXMgcGVyc3BlY3RpdmUuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICAvKipcbiAgICogQXJiaXRyYXJ5IGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGVyc3BlY3RpdmUuXG4gICAqL1xuICByZWFkb25seSBkYXRhOiB7W2tleTogc3RyaW5nXTogdW5rbm93bn07XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIHBlcnNwZWN0aXZlIGlzIGFjdGl2ZS5cbiAgICogVGhlcmUgY2FuIG9ubHkgYmUgb25lIHBlcnNwZWN0aXZlIGFjdGl2ZSBhdCBhIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgdGhlIGN1cnJlbnQgYWN0aXZlIHN0YXRlIG9mIHRoaXMgcGVyc3BlY3RpdmUsIGFuZCB0aGVuXG4gICAqIGVtaXRzIGNvbnRpbnVvdXNseSB3aGVuIGl0cyBhY3RpdmUgc3RhdGUgY2hhbmdlcy4gVGhlIE9ic2VydmFibGUgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcGVyc3BlY3RpdmUgaXMgdHJhbnNpZW50LCB3aXRoIGl0cyBsYXlvdXQgb25seSBtZW1vaXplZCwgbm90IHBlcnNpc3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaWVudDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHBlcnNwZWN0aXZlcyB0byByZWdpc3RlciBpbiB0aGUgd29ya2JlbmNoLlxuICpcbiAqIEEgcGVyc3BlY3RpdmUgaXMgYSBuYW1lZCBhcnJhbmdlbWVudCBvZiB2aWV3cy4gRGlmZmVyZW50IHBlcnNwZWN0aXZlcyBwcm92aWRlIGEgZGlmZmVyZW50IHBlcnNwZWN0aXZlIG9uIHRoZSBhcHBsaWNhdGlvbi5cbiAqIEEgcGVyc3BlY3RpdmUgY2FuIGJlIGRpdmlkZWQgaW50byBhIG1haW4gYW5kIGEgcGVyaXBoZXJhbCBhcmVhLCB3aXRoIHRoZSBtYWluIGFyZWEgYXMgdGhlIHByaW1hcnkgcGxhY2UgZm9yIG9wZW5pbmcgdmlld3MuXG4gKiBWaWV3cyBpbiB0aGUgbWFpbiBhcmVhIGFyZSByZXRhaW5lZCB3aGVuIHN3aXRjaGluZyBwZXJzcGVjdGl2ZXMuIEEgcGVyc3BlY3RpdmUgY2Fubm90IGFkZCB2aWV3cyB0byB0aGUgbWFpbiBhcmVhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtiZW5jaFBlcnNwZWN0aXZlcyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgcGVyc3BlY3RpdmVzIHRvIHJlZ2lzdGVyIGluIHRoZSB3b3JrYmVuY2guXG4gICAqL1xuICBwZXJzcGVjdGl2ZXM/OiBXb3JrYmVuY2hQZXJzcGVjdGl2ZURlZmluaXRpb25bXTtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBwZXJzcGVjdGl2ZSB0byBhY3RpdmF0ZS4gRGVmYXVsdHMgdG8gdGhlIGZpcnN0IHJlZ2lzdGVyZWQgcGVyc3BlY3RpdmUuXG4gICAqXG4gICAqIFRoZSB3b3JrYmVuY2ggcmVtZW1iZXJzIHRoZSBhY3RpdmUgcGVyc3BlY3RpdmUgYW5kIG9ubHkgZXZhbHVhdGVzIHRoaXMgcHJvcGVydHkgd2hlbiBzdGFydGluZyB0aGUgd29ya2JlbmNoXG4gICAqIGZvciB0aGUgZmlyc3QgdGltZSwgYWZ0ZXIgY2xlYXJpbmcgc3RvcmFnZSwgb3IgaWYgdGhlIGFjdGl2ZSBwZXJzcGVjdGl2ZSBubyBsb25nZXIgZXhpc3RzLlxuICAgKlxuICAgKiBDYW4gYmUgZWl0aGVyIHRoZSBpZGVudGl0eSBvZiBhIHBlcnNwZWN0aXZlIG9yIGEgZnVuY3Rpb24gdG8gcmVzb2x2ZSB0aGUgcGVyc3BlY3RpdmUuXG4gICAqL1xuICBpbml0aWFsUGVyc3BlY3RpdmU/OiBzdHJpbmcgfCBXb3JrYmVuY2hQZXJzcGVjdGl2ZVNlbGVjdGlvbkZuO1xufVxuXG4vKipcbiAqIERlc2NyaWJlcyBhIHBlcnNwZWN0aXZlIHRvIHJlZ2lzdGVyIGluIHRoZSB3b3JrYmVuY2guXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdW5pcXVlIGlkZW50aXR5IG9mIHRoZSBwZXJzcGVjdGl2ZS5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjcmVhdGUgdGhlIGluaXRpYWwgbGF5b3V0IGZvciB0aGUgcGVyc3BlY3RpdmUuIFRoZSBmdW5jdGlvbiBjYW4gY2FsbCBgaW5qZWN0YCB0byBnZXQgYW55IHJlcXVpcmVkIGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogU2VlIHtAbGluayBXb3JrYmVuY2hMYXlvdXRGbn0gZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGFuIGV4YW1wbGUuXG4gICAqL1xuICBsYXlvdXQ6IFdvcmtiZW5jaExheW91dEZuO1xuICAvKipcbiAgICogQXNzb2NpYXRlcyBhcmJpdHJhcnkgZGF0YSB3aXRoIHRoZSBwZXJzcGVjdGl2ZSwgZS5nLiwgYSBsYWJlbCwgaWNvbiBvciB0b29sdGlwLlxuICAgKi9cbiAgZGF0YT86IHtba2V5OiBzdHJpbmddOiB1bmtub3dufTtcbiAgLyoqXG4gICAqIERlY2lkZXMgaWYgdGhlIHBlcnNwZWN0aXZlIGNhbiBiZSBhY3RpdmF0ZWQuIFRoZSBmdW5jdGlvbiBjYW4gY2FsbCBgaW5qZWN0YCB0byBnZXQgYW55IHJlcXVpcmVkIGRlcGVuZGVuY2llcy5cbiAgICovXG4gIGNhbkFjdGl2YXRlPzogKCkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBwZXJzcGVjdGl2ZSBhcyB0cmFuc2llbnQsIHdpdGggaXRzIGxheW91dCBvbmx5IG1lbW9pemVkLCBub3QgcGVyc2lzdGVkLlxuICAgKi9cbiAgdHJhbnNpZW50PzogdHJ1ZTtcbn1cblxuLyoqXG4gKiBTaWduYXR1cmUgb2YgYSBmdW5jdGlvbiB0byBwcm92aWRlIGEgd29ya2JlbmNoIGxheW91dC5cbiAqXG4gKiBUaGUgd29ya2JlbmNoIHdpbGwgaW52b2tlIHRoaXMgZnVuY3Rpb24gd2l0aCBhIGZhY3RvcnkgdG8gY3JlYXRlIHRoZSBsYXlvdXQuIFRoZSBsYXlvdXQgaXMgaW1tdXRhYmxlLCBzbyBlYWNoIG1vZGlmaWNhdGlvbiBjcmVhdGVzIGEgbmV3IGluc3RhbmNlLlxuICogVXNlIHRoZSBpbnN0YW5jZSBmb3IgZnVydGhlciBtb2RpZmljYXRpb25zIGFuZCBmaW5hbGx5IHJldHVybiBpdC5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gY2FuIGNhbGwgYGluamVjdGAgdG8gZ2V0IGFueSByZXF1aXJlZCBkZXBlbmRlbmNpZXMuXG4gKlxuICogIyMgV29ya2JlbmNoIExheW91dFxuICogVGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgYSBncmlkIG9mIHBhcnRzLiBQYXJ0cyBhcmUgYWxpZ25lZCByZWxhdGl2ZSB0byBlYWNoIG90aGVyLiBBIHBhcnQgaXMgYSBzdGFjayBvZiB2aWV3cy4gQ29udGVudCBpcyBkaXNwbGF5ZWQgaW4gdmlld3MuXG4gKlxuICogVGhlIGxheW91dCBjYW4gYmUgZGl2aWRlZCBpbnRvIGEgbWFpbiBhbmQgYSBwZXJpcGhlcmFsIGFyZWEsIHdpdGggdGhlIG1haW4gYXJlYSBhcyB0aGUgcHJpbWFyeSBwbGFjZSBmb3Igb3BlbmluZyB2aWV3cy5cbiAqIFRoZSBwZXJpcGhlcmFsIGFyZWEgYXJyYW5nZXMgcGFydHMgYXJvdW5kIHRoZSBtYWluIGFyZWEgdG8gcHJvdmlkZSBuYXZpZ2F0aW9uIG9yIGNvbnRleHQtc2Vuc2l0aXZlIGFzc2lzdGFuY2UgdG8gc3VwcG9ydFxuICogdGhlIHVzZXIncyB3b3JrZmxvdy4gRGVmaW5pbmcgYSBtYWluIGFyZWEgaXMgb3B0aW9uYWwgYW5kIHJlY29tbWVuZGVkIGZvciBhcHBsaWNhdGlvbnMgcmVxdWlyaW5nIGEgZGVkaWNhdGVkIGFuZCBtYXhpbWl6YWJsZVxuICogYXJlYSBmb3IgdXNlciBpbnRlcmFjdGlvbi5cbiAqXG4gKiAjIyBTdGVwcyB0byBjcmVhdGUgdGhlIGxheW91dFxuICogU3RhcnQgYnkgYWRkaW5nIHRoZSBmaXJzdCBwYXJ0LiBGcm9tIHRoZXJlLCB5b3UgY2FuIGdyYWR1YWxseSBhZGQgbW9yZSBwYXJ0cyBhbmQgYWxpZ24gdGhlbSByZWxhdGl2ZSB0byBlYWNoIG90aGVyLlxuICogTmV4dCwgYWRkIHZpZXdzIHRvIHRoZSBsYXlvdXQsIHNwZWNpZnlpbmcgdG8gd2hpY2ggcGFydCB0byBhZGQgdGhlIHZpZXdzLlxuICogVGhlIGZpbmFsIHN0ZXAgaXMgdG8gbmF2aWdhdGUgdGhlIHZpZXdzLiBBIHZpZXcgY2FuIGJlIG5hdmlnYXRlZCB0byBhbnkgcm91dGUuXG4gKlxuICogVG8gYXZvaWQgY2x1dHRlcmluZyB0aGUgaW5pdGlhbCBVUkwsIHdlIHJlY29tbWVuZCBuYXZpZ2F0aW5nIHRoZSB2aWV3cyBvZiB0aGUgaW5pdGlhbCBsYXlvdXQgdG8gZW1wdHkgcGF0aCByb3V0ZXMgYW5kIHVzaW5nIGEgbmF2aWdhdGlvbiBoaW50IHRvIGRpZmZlcmVudGlhdGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICogVGhlIGZvbGxvd2luZyBleGFtcGxlIGRlZmluZXMgYSBsYXlvdXQgd2l0aCBhIG1haW4gYXJlYSBhbmQgdGhyZWUgcGFydHMgaW4gdGhlIHBlcmlwaGVyYWwgYXJlYTpcbiAqXG4gKiBgYGBwbGFpblxuICogKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rXG4gKiB8ICB0b3AgICB8ICAgbWFpbiBhcmVhICAgIHxcbiAqIHwgIGxlZnQgIHwgICAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tKyAgICAgICAgICAgICAgICB8XG4gKiB8IGJvdHRvbSB8ICAgICAgICAgICAgICAgIHxcbiAqIHwgIGxlZnQgIHwgICAgICAgICAgICAgICAgfFxuICogKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rXG4gKiB8ICAgICAgICAgIGJvdHRvbSAgICAgICAgIHxcbiAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogYGBgXG4gKlxuICogYGBgdHNcbiAqIGZ1bmN0aW9uIGRlZmluZUxheW91dChmYWN0b3J5OiBXb3JrYmVuY2hMYXlvdXRGYWN0b3J5KTogV29ya2JlbmNoTGF5b3V0IHtcbiAqICAgcmV0dXJuIGZhY3RvcnlcbiAqICAgICAvLyBBZGQgcGFydHMgdG8gdGhlIGxheW91dC5cbiAqICAgICAuYWRkUGFydChNQUlOX0FSRUEpXG4gKiAgICAgLmFkZFBhcnQoJ3RvcExlZnQnLCB7cmVsYXRpdmVUbzogTUFJTl9BUkVBLCBhbGlnbjogJ2xlZnQnLCByYXRpbzogLjI1fSlcbiAqICAgICAuYWRkUGFydCgnYm90dG9tTGVmdCcsIHtyZWxhdGl2ZVRvOiAndG9wTGVmdCcsIGFsaWduOiAnYm90dG9tJywgcmF0aW86IC41fSlcbiAqICAgICAuYWRkUGFydCgnYm90dG9tJywge2FsaWduOiAnYm90dG9tJywgcmF0aW86IC4zfSlcbiAqXG4gKiAgICAgLy8gQWRkIHZpZXdzIHRvIHRoZSBsYXlvdXQuXG4gKiAgICAgLmFkZFZpZXcoJ25hdmlnYXRvcicsIHtwYXJ0SWQ6ICd0b3BMZWZ0J30pXG4gKiAgICAgLmFkZFZpZXcoJ2V4cGxvcmVyJywge3BhcnRJZDogJ2JvdHRvbUxlZnQnfSlcbiAqICAgICAuYWRkVmlldygnY29uc29sZScsIHtwYXJ0SWQ6ICdib3R0b20nfSlcbiAqICAgICAuYWRkVmlldygncHJvYmxlbXMnLCB7cGFydElkOiAnYm90dG9tJ30pXG4gKiAgICAgLmFkZFZpZXcoJ3NlYXJjaCcsIHtwYXJ0SWQ6ICdib3R0b20nfSlcbiAqXG4gKiAgICAgLy8gTmF2aWdhdGUgdmlld3MuXG4gKiAgICAgLm5hdmlnYXRlVmlldygnbmF2aWdhdG9yJywgWydwYXRoL3RvL25hdmlnYXRvciddKVxuICogICAgIC5uYXZpZ2F0ZVZpZXcoJ2V4cGxvcmVyJywgWydwYXRoL3RvL2V4cGxvcmVyJ10pXG4gKiAgICAgLm5hdmlnYXRlVmlldygnY29uc29sZScsIFtdLCB7aGludDogJ2NvbnNvbGUnfSkgLy8gU2V0IGhpbnQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHJvdXRlcyB3aXRoIGFuIGVtcHR5IHBhdGguXG4gKiAgICAgLm5hdmlnYXRlVmlldygncHJvYmxlbXMnLCBbXSwge2hpbnQ6ICdwcm9ibGVtcyd9KSAvLyBTZXQgaGludCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcm91dGVzIHdpdGggYW4gZW1wdHkgcGF0aC5cbiAqICAgICAubmF2aWdhdGVWaWV3KCdzZWFyY2gnLCBbJ3BhdGgvdG8vc2VhcmNoJ10pO1xuICogfVxuICogYGBgXG4gKlxuICogVGhlIGxheW91dCByZXF1aXJlcyB0aGUgZm9sbG93aW5nIHJvdXRlcy5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHtib290c3RyYXBBcHBsaWNhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4gKiBpbXBvcnQge3Byb3ZpZGVSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG4gKiBpbXBvcnQge2Nhbk1hdGNoV29ya2JlbmNoVmlld30gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaCc7XG4gKlxuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHByb3ZpZGVSb3V0ZXIoW1xuICogICAgICAgLy8gTmF2aWdhdG9yIFZpZXdcbiAqICAgICAgIHtwYXRoOiAncGF0aC90by9uYXZpZ2F0b3InLCBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vbmF2aWdhdG9yL25hdmlnYXRvci5jb21wb25lbnQnKX0sXG4gKiAgICAgICAvLyBFeHBsb3JlciBWaWV3XG4gKiAgICAgICB7cGF0aDogJ3BhdGgvdG8vZXhwbG9yZXInLCBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZXhwbG9yZXIvZXhwbG9yZXIuY29tcG9uZW50Jyl9LFxuICogICAgICAgLy8gU2VhcmNoIHZpZXdcbiAqICAgICAgIHtwYXRoOiAncGF0aC90by9zZWFyY2gnLCBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnKX0sXG4gKiAgICAgICAvLyBDb25zb2xlIHZpZXdcbiAqICAgICAgIHtwYXRoOiAnJywgY2FuTWF0Y2g6IFtjYW5NYXRjaFdvcmtiZW5jaFZpZXcoJ2NvbnNvbGUnKV0sIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9jb25zb2xlL2NvbnNvbGUuY29tcG9uZW50Jyl9LFxuICogICAgICAgLy8gUHJvYmxlbXMgdmlld1xuICogICAgICAge3BhdGg6ICcnLCBjYW5NYXRjaDogW2Nhbk1hdGNoV29ya2JlbmNoVmlldygncHJvYmxlbXMnKV0sIGxvYWRDb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9wcm9ibGVtcy9wcm9ibGVtcy5jb21wb25lbnQnKX0sXG4gKiAgICAgXSksXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBXb3JrYmVuY2hMYXlvdXRGbiA9IChmYWN0b3J5OiBXb3JrYmVuY2hMYXlvdXRGYWN0b3J5KSA9PiBQcm9taXNlPFdvcmtiZW5jaExheW91dD4gfCBXb3JrYmVuY2hMYXlvdXQ7XG5cbi8qKlxuICogU2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24gdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4ge0BsaW5rIFdvcmtiZW5jaFBlcnNwZWN0aXZlcyNpbml0aWFsUGVyc3BlY3RpdmV9IHRvIHNlbGVjdCB0aGUgcGVyc3BlY3RpdmUgZm9yIHRoZSBpbml0aWFsIHdvcmtiZW5jaCBsYXlvdXQuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCBhIGxpc3Qgb2YgcmVnaXN0ZXJlZCBwZXJzcGVjdGl2ZXMuIFRoZSBmdW5jdGlvbiBjYW4gY2FsbCBgaW5qZWN0YCB0byBnZXQgYW55IHJlcXVpcmVkIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IHR5cGUgV29ya2JlbmNoUGVyc3BlY3RpdmVTZWxlY3Rpb25GbiA9IChwZXJzcGVjdGl2ZXM6IFdvcmtiZW5jaFBlcnNwZWN0aXZlW10pID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDb250YWlucyBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgYSBwZXJzcGVjdGl2ZSBsYXlvdXQuXG4gKlxuICogVGhlIE0tcHJlZml4IGluZGljYXRlcyB0aGlzIG9iamVjdCBpcyBhIG1vZGVsIG9iamVjdCB0aGF0IGlzIHNlcmlhbGl6ZWQgYW5kIHN0b3JlZCwgcmVxdWlyaW5nIG1pZ3JhdGlvbiBvbiBicmVha2luZyBjaGFuZ2UuXG4gKlxuICogQHNlZSBXT1JLQkVOQ0hfUEVSU1BFQ1RJVkVfTU9ERUxfVkVSU0lPTlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1QZXJzcGVjdGl2ZUxheW91dCB7XG4gIC8qKlxuICAgKiBMYXlvdXQgYmVmb3JlIGFueSB1c2VyIHBlcnNvbmFsaXphdGlvbiAoaW5pdGlhbCBsYXlvdXQpLlxuICAgKi9cbiAgcmVmZXJlbmNlTGF5b3V0OiB7XG4gICAgLyoqXG4gICAgICogQHNlZSBXb3JrYmVuY2hMYXlvdXRTZXJpYWxpemVyLnNlcmlhbGl6ZUdyaWRcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVHcmlkXG4gICAgICovXG4gICAgd29ya2JlbmNoR3JpZDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5zZXJpYWxpemVWaWV3T3V0bGV0c1xuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5kZXNlcmlhbGl6ZVZpZXdPdXRsZXRzXG4gICAgICovXG4gICAgdmlld091dGxldHM6IHN0cmluZztcbiAgfTtcbiAgLyoqXG4gICAqIExheW91dCBwZXJzb25hbGl6ZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICB1c2VyTGF5b3V0OiB7XG4gICAgLyoqXG4gICAgICogQHNlZSBXb3JrYmVuY2hMYXlvdXRTZXJpYWxpemVyLnNlcmlhbGl6ZUdyaWRcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVHcmlkXG4gICAgICovXG4gICAgd29ya2JlbmNoR3JpZDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5zZXJpYWxpemVWaWV3T3V0bGV0c1xuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5kZXNlcmlhbGl6ZVZpZXdPdXRsZXRzXG4gICAgICovXG4gICAgdmlld091dGxldHM6IHN0cmluZztcbiAgfTtcbn1cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5pbXBvcnQge1dvcmtiZW5jaExheW91dH0gZnJvbSAnLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRGYWN0b3J5fSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5mYWN0b3J5JztcbmltcG9ydCB7U2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgd29ya2JlbmNoIHBlcnNwZWN0aXZlLlxuICpcbiAqIEEgcGVyc3BlY3RpdmUgaXMgYSBuYW1lZCBhcnJhbmdlbWVudCBvZiB2aWV3cy4gRGlmZmVyZW50IHBlcnNwZWN0aXZlcyBwcm92aWRlIGEgZGlmZmVyZW50IHBlcnNwZWN0aXZlIG9uIHRoZSBhcHBsaWNhdGlvbi5cbiAqIEEgcGVyc3BlY3RpdmUgY2FuIGJlIGRpdmlkZWQgaW50byBhIG1haW4gYW5kIGEgcGVyaXBoZXJhbCBhcmVhLCB3aXRoIHRoZSBtYWluIGFyZWEgYXMgdGhlIHByaW1hcnkgcGxhY2UgZm9yIG9wZW5pbmcgdmlld3MuXG4gKiBWaWV3cyBpbiB0aGUgbWFpbiBhcmVhIGFyZSByZXRhaW5lZCB3aGVuIHN3aXRjaGluZyBwZXJzcGVjdGl2ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2JlbmNoUGVyc3BlY3RpdmUge1xuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhpcyBwZXJzcGVjdGl2ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBcmJpdHJhcnkgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyBwZXJzcGVjdGl2ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IHtba2V5OiBzdHJpbmddOiB1bmtub3dufTtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcGVyc3BlY3RpdmUgaXMgYWN0aXZlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aXZlOiBTaWduYWw8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIHBlcnNwZWN0aXZlIGlzIHRyYW5zaWVudCwgd2l0aCBpdHMgbGF5b3V0IG9ubHkgbWVtb2l6ZWQsIG5vdCBwZXJzaXN0ZWQuXG4gICAqL1xuICByZWFkb25seSB0cmFuc2llbnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGVmaW5lcyBwZXJzcGVjdGl2ZXMgdG8gcmVnaXN0ZXIgaW4gdGhlIHdvcmtiZW5jaC5cbiAqXG4gKiBBIHBlcnNwZWN0aXZlIGlzIGEgbmFtZWQgYXJyYW5nZW1lbnQgb2Ygdmlld3MuIERpZmZlcmVudCBwZXJzcGVjdGl2ZXMgcHJvdmlkZSBhIGRpZmZlcmVudCBwZXJzcGVjdGl2ZSBvbiB0aGUgYXBwbGljYXRpb24uXG4gKiBBIHBlcnNwZWN0aXZlIGNhbiBiZSBkaXZpZGVkIGludG8gYSBtYWluIGFuZCBhIHBlcmlwaGVyYWwgYXJlYSwgd2l0aCB0aGUgbWFpbiBhcmVhIGFzIHRoZSBwcmltYXJ5IHBsYWNlIGZvciBvcGVuaW5nIHZpZXdzLlxuICogVmlld3MgaW4gdGhlIG1haW4gYXJlYSBhcmUgcmV0YWluZWQgd2hlbiBzd2l0Y2hpbmcgcGVyc3BlY3RpdmVzLiBBIHBlcnNwZWN0aXZlIGNhbm5vdCBhZGQgdmlld3MgdG8gdGhlIG1haW4gYXJlYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrYmVuY2hQZXJzcGVjdGl2ZXMge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHBlcnNwZWN0aXZlcyB0byByZWdpc3RlciBpbiB0aGUgd29ya2JlbmNoLlxuICAgKi9cbiAgcGVyc3BlY3RpdmVzPzogV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9uW107XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hpY2ggcGVyc3BlY3RpdmUgdG8gYWN0aXZhdGUuIERlZmF1bHRzIHRvIHRoZSBmaXJzdCByZWdpc3RlcmVkIHBlcnNwZWN0aXZlLlxuICAgKlxuICAgKiBUaGUgd29ya2JlbmNoIHJlbWVtYmVycyB0aGUgYWN0aXZlIHBlcnNwZWN0aXZlIGFuZCBvbmx5IGV2YWx1YXRlcyB0aGlzIHByb3BlcnR5IHdoZW4gc3RhcnRpbmcgdGhlIHdvcmtiZW5jaFxuICAgKiBmb3IgdGhlIGZpcnN0IHRpbWUsIGFmdGVyIGNsZWFyaW5nIHN0b3JhZ2UsIG9yIGlmIHRoZSBhY3RpdmUgcGVyc3BlY3RpdmUgbm8gbG9uZ2VyIGV4aXN0cy5cbiAgICpcbiAgICogQ2FuIGJlIGVpdGhlciB0aGUgaWRlbnRpdHkgb2YgYSBwZXJzcGVjdGl2ZSBvciBhIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIHBlcnNwZWN0aXZlLlxuICAgKi9cbiAgaW5pdGlhbFBlcnNwZWN0aXZlPzogc3RyaW5nIHwgV29ya2JlbmNoUGVyc3BlY3RpdmVTZWxlY3Rpb25Gbjtcbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYSBwZXJzcGVjdGl2ZSB0byByZWdpc3RlciBpbiB0aGUgd29ya2JlbmNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtiZW5jaFBlcnNwZWN0aXZlRGVmaW5pdGlvbiB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHVuaXF1ZSBpZGVudGl0eSBvZiB0aGUgcGVyc3BlY3RpdmUuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBpbml0aWFsIGxheW91dCBmb3IgdGhlIHBlcnNwZWN0aXZlLiBUaGUgZnVuY3Rpb24gY2FuIGNhbGwgYGluamVjdGAgdG8gZ2V0IGFueSByZXF1aXJlZCBkZXBlbmRlbmNpZXMuXG4gICAqXG4gICAqIFNlZSB7QGxpbmsgV29ya2JlbmNoTGF5b3V0Rm59IGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCBhbiBleGFtcGxlLlxuICAgKi9cbiAgbGF5b3V0OiBXb3JrYmVuY2hMYXlvdXRGbjtcbiAgLyoqXG4gICAqIEFzc29jaWF0ZXMgYXJiaXRyYXJ5IGRhdGEgd2l0aCB0aGUgcGVyc3BlY3RpdmUsIGUuZy4sIGEgbGFiZWwsIGljb24gb3IgdG9vbHRpcC5cbiAgICovXG4gIGRhdGE/OiB7W2tleTogc3RyaW5nXTogdW5rbm93bn07XG4gIC8qKlxuICAgKiBEZWNpZGVzIGlmIHRoZSBwZXJzcGVjdGl2ZSBjYW4gYmUgYWN0aXZhdGVkLiBUaGUgZnVuY3Rpb24gY2FuIGNhbGwgYGluamVjdGAgdG8gZ2V0IGFueSByZXF1aXJlZCBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBjYW5BY3RpdmF0ZT86ICgpID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgcGVyc3BlY3RpdmUgYXMgdHJhbnNpZW50LCB3aXRoIGl0cyBsYXlvdXQgb25seSBtZW1vaXplZCwgbm90IHBlcnNpc3RlZC5cbiAgICovXG4gIHRyYW5zaWVudD86IHRydWU7XG59XG5cbi8qKlxuICogU2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24gdG8gcHJvdmlkZSBhIHdvcmtiZW5jaCBsYXlvdXQuXG4gKlxuICogVGhlIHdvcmtiZW5jaCB3aWxsIGludm9rZSB0aGlzIGZ1bmN0aW9uIHdpdGggYSBmYWN0b3J5IHRvIGNyZWF0ZSB0aGUgbGF5b3V0LiBUaGUgbGF5b3V0IGlzIGltbXV0YWJsZSwgc28gZWFjaCBtb2RpZmljYXRpb24gY3JlYXRlcyBhIG5ldyBpbnN0YW5jZS5cbiAqIFVzZSB0aGUgaW5zdGFuY2UgZm9yIGZ1cnRoZXIgbW9kaWZpY2F0aW9ucyBhbmQgZmluYWxseSByZXR1cm4gaXQuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNhbiBjYWxsIGBpbmplY3RgIHRvIGdldCBhbnkgcmVxdWlyZWQgZGVwZW5kZW5jaWVzLlxuICpcbiAqICMjIFdvcmtiZW5jaCBMYXlvdXRcbiAqIFRoZSB3b3JrYmVuY2ggbGF5b3V0IGlzIGEgZ3JpZCBvZiBwYXJ0cy4gUGFydHMgYXJlIGFsaWduZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlci4gQSBwYXJ0IGlzIGEgc3RhY2sgb2Ygdmlld3MuIENvbnRlbnQgaXMgZGlzcGxheWVkIGluIHZpZXdzLlxuICpcbiAqIFRoZSBsYXlvdXQgY2FuIGJlIGRpdmlkZWQgaW50byBhIG1haW4gYW5kIGEgcGVyaXBoZXJhbCBhcmVhLCB3aXRoIHRoZSBtYWluIGFyZWEgYXMgdGhlIHByaW1hcnkgcGxhY2UgZm9yIG9wZW5pbmcgdmlld3MuXG4gKiBUaGUgcGVyaXBoZXJhbCBhcmVhIGFycmFuZ2VzIHBhcnRzIGFyb3VuZCB0aGUgbWFpbiBhcmVhIHRvIHByb3ZpZGUgbmF2aWdhdGlvbiBvciBjb250ZXh0LXNlbnNpdGl2ZSBhc3Npc3RhbmNlIHRvIHN1cHBvcnRcbiAqIHRoZSB1c2VyJ3Mgd29ya2Zsb3cuIERlZmluaW5nIGEgbWFpbiBhcmVhIGlzIG9wdGlvbmFsIGFuZCByZWNvbW1lbmRlZCBmb3IgYXBwbGljYXRpb25zIHJlcXVpcmluZyBhIGRlZGljYXRlZCBhbmQgbWF4aW1pemFibGVcbiAqIGFyZWEgZm9yIHVzZXIgaW50ZXJhY3Rpb24uXG4gKlxuICogIyMgU3RlcHMgdG8gY3JlYXRlIHRoZSBsYXlvdXRcbiAqIFN0YXJ0IGJ5IGFkZGluZyB0aGUgZmlyc3QgcGFydC4gRnJvbSB0aGVyZSwgeW91IGNhbiBncmFkdWFsbHkgYWRkIG1vcmUgcGFydHMgYW5kIGFsaWduIHRoZW0gcmVsYXRpdmUgdG8gZWFjaCBvdGhlci5cbiAqIE5leHQsIGFkZCB2aWV3cyB0byB0aGUgbGF5b3V0LCBzcGVjaWZ5aW5nIHRvIHdoaWNoIHBhcnQgdG8gYWRkIHRoZSB2aWV3cy5cbiAqIFRoZSBmaW5hbCBzdGVwIGlzIHRvIG5hdmlnYXRlIHRoZSB2aWV3cy4gQSB2aWV3IGNhbiBiZSBuYXZpZ2F0ZWQgdG8gYW55IHJvdXRlLlxuICpcbiAqIFRvIGF2b2lkIGNsdXR0ZXJpbmcgdGhlIGluaXRpYWwgVVJMLCB3ZSByZWNvbW1lbmQgbmF2aWdhdGluZyB0aGUgdmlld3Mgb2YgdGhlIGluaXRpYWwgbGF5b3V0IHRvIGVtcHR5IHBhdGggcm91dGVzIGFuZCB1c2luZyBhIG5hdmlnYXRpb24gaGludCB0byBkaWZmZXJlbnRpYXRlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBkZWZpbmVzIGEgbGF5b3V0IHdpdGggYSBtYWluIGFyZWEgYW5kIHRocmVlIHBhcnRzIGluIHRoZSBwZXJpcGhlcmFsIGFyZWE6XG4gKlxuICogYGBgcGxhaW5cbiAqICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tK1xuICogfCAgdG9wICAgfCAgIG1haW4gYXJlYSAgICB8XG4gKiB8ICBsZWZ0ICB8ICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLSsgICAgICAgICAgICAgICAgfFxuICogfCBib3R0b20gfCAgICAgICAgICAgICAgICB8XG4gKiB8ICBsZWZ0ICB8ICAgICAgICAgICAgICAgIHxcbiAqICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tK1xuICogfCAgICAgICAgICBib3R0b20gICAgICAgICB8XG4gKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAqIGBgYFxuICpcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBkZWZpbmVMYXlvdXQoZmFjdG9yeTogV29ya2JlbmNoTGF5b3V0RmFjdG9yeSk6IFdvcmtiZW5jaExheW91dCB7XG4gKiAgIHJldHVybiBmYWN0b3J5XG4gKiAgICAgLy8gQWRkIHBhcnRzIHRvIHRoZSBsYXlvdXQuXG4gKiAgICAgLmFkZFBhcnQoTUFJTl9BUkVBKVxuICogICAgIC5hZGRQYXJ0KCd0b3BMZWZ0Jywge3JlbGF0aXZlVG86IE1BSU5fQVJFQSwgYWxpZ246ICdsZWZ0JywgcmF0aW86IC4yNX0pXG4gKiAgICAgLmFkZFBhcnQoJ2JvdHRvbUxlZnQnLCB7cmVsYXRpdmVUbzogJ3RvcExlZnQnLCBhbGlnbjogJ2JvdHRvbScsIHJhdGlvOiAuNX0pXG4gKiAgICAgLmFkZFBhcnQoJ2JvdHRvbScsIHthbGlnbjogJ2JvdHRvbScsIHJhdGlvOiAuM30pXG4gKlxuICogICAgIC8vIEFkZCB2aWV3cyB0byB0aGUgbGF5b3V0LlxuICogICAgIC5hZGRWaWV3KCduYXZpZ2F0b3InLCB7cGFydElkOiAndG9wTGVmdCd9KVxuICogICAgIC5hZGRWaWV3KCdleHBsb3JlcicsIHtwYXJ0SWQ6ICdib3R0b21MZWZ0J30pXG4gKiAgICAgLmFkZFZpZXcoJ2NvbnNvbGUnLCB7cGFydElkOiAnYm90dG9tJ30pXG4gKiAgICAgLmFkZFZpZXcoJ3Byb2JsZW1zJywge3BhcnRJZDogJ2JvdHRvbSd9KVxuICogICAgIC5hZGRWaWV3KCdzZWFyY2gnLCB7cGFydElkOiAnYm90dG9tJ30pXG4gKlxuICogICAgIC8vIE5hdmlnYXRlIHZpZXdzLlxuICogICAgIC5uYXZpZ2F0ZVZpZXcoJ25hdmlnYXRvcicsIFsncGF0aC90by9uYXZpZ2F0b3InXSlcbiAqICAgICAubmF2aWdhdGVWaWV3KCdleHBsb3JlcicsIFsncGF0aC90by9leHBsb3JlciddKVxuICogICAgIC5uYXZpZ2F0ZVZpZXcoJ2NvbnNvbGUnLCBbXSwge2hpbnQ6ICdjb25zb2xlJ30pIC8vIFNldCBoaW50IHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiByb3V0ZXMgd2l0aCBhbiBlbXB0eSBwYXRoLlxuICogICAgIC5uYXZpZ2F0ZVZpZXcoJ3Byb2JsZW1zJywgW10sIHtoaW50OiAncHJvYmxlbXMnfSkgLy8gU2V0IGhpbnQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHJvdXRlcyB3aXRoIGFuIGVtcHR5IHBhdGguXG4gKiAgICAgLm5hdmlnYXRlVmlldygnc2VhcmNoJywgWydwYXRoL3RvL3NlYXJjaCddKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIFRoZSBsYXlvdXQgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyByb3V0ZXMuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7Ym9vdHN0cmFwQXBwbGljYXRpb259IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuICogaW1wb3J0IHtwcm92aWRlUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuICogaW1wb3J0IHtjYW5NYXRjaFdvcmtiZW5jaFZpZXd9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gnO1xuICpcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtcbiAqICAgICBwcm92aWRlUm91dGVyKFtcbiAqICAgICAgIC8vIE5hdmlnYXRvciBWaWV3XG4gKiAgICAgICB7cGF0aDogJ3BhdGgvdG8vbmF2aWdhdG9yJywgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL25hdmlnYXRvci9uYXZpZ2F0b3IuY29tcG9uZW50Jyl9LFxuICogICAgICAgLy8gRXhwbG9yZXIgVmlld1xuICogICAgICAge3BhdGg6ICdwYXRoL3RvL2V4cGxvcmVyJywgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2V4cGxvcmVyL2V4cGxvcmVyLmNvbXBvbmVudCcpfSxcbiAqICAgICAgIC8vIFNlYXJjaCB2aWV3XG4gKiAgICAgICB7cGF0aDogJ3BhdGgvdG8vc2VhcmNoJywgbG9hZENvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Jyl9LFxuICogICAgICAgLy8gQ29uc29sZSB2aWV3XG4gKiAgICAgICB7cGF0aDogJycsIGNhbk1hdGNoOiBbY2FuTWF0Y2hXb3JrYmVuY2hWaWV3KCdjb25zb2xlJyldLCBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vY29uc29sZS9jb25zb2xlLmNvbXBvbmVudCcpfSxcbiAqICAgICAgIC8vIFByb2JsZW1zIHZpZXdcbiAqICAgICAgIHtwYXRoOiAnJywgY2FuTWF0Y2g6IFtjYW5NYXRjaFdvcmtiZW5jaFZpZXcoJ3Byb2JsZW1zJyldLCBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vcHJvYmxlbXMvcHJvYmxlbXMuY29tcG9uZW50Jyl9LFxuICogICAgIF0pLFxuICogICBdLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgV29ya2JlbmNoTGF5b3V0Rm4gPSAoZmFjdG9yeTogV29ya2JlbmNoTGF5b3V0RmFjdG9yeSkgPT4gUHJvbWlzZTxXb3JrYmVuY2hMYXlvdXQ+IHwgV29ya2JlbmNoTGF5b3V0O1xuXG4vKipcbiAqIFNpZ25hdHVyZSBvZiBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHByb3ZpZGVkIGluIHtAbGluayBXb3JrYmVuY2hQZXJzcGVjdGl2ZXMjaW5pdGlhbFBlcnNwZWN0aXZlfSB0byBzZWxlY3QgdGhlIHBlcnNwZWN0aXZlIGZvciB0aGUgaW5pdGlhbCB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIFRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgYSBsaXN0IG9mIHJlZ2lzdGVyZWQgcGVyc3BlY3RpdmVzLiBUaGUgZnVuY3Rpb24gY2FuIGNhbGwgYGluamVjdGAgdG8gZ2V0IGFueSByZXF1aXJlZCBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFdvcmtiZW5jaFBlcnNwZWN0aXZlU2VsZWN0aW9uRm4gPSAocGVyc3BlY3RpdmVzOiBXb3JrYmVuY2hQZXJzcGVjdGl2ZVtdKSA9PiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ29udGFpbnMgZGlmZmVyZW50IHZlcnNpb25zIG9mIGEgcGVyc3BlY3RpdmUgbGF5b3V0LlxuICpcbiAqIFRoZSBNLXByZWZpeCBpbmRpY2F0ZXMgdGhpcyBvYmplY3QgaXMgYSBtb2RlbCBvYmplY3QgdGhhdCBpcyBzZXJpYWxpemVkIGFuZCBzdG9yZWQsIHJlcXVpcmluZyBtaWdyYXRpb24gb24gYnJlYWtpbmcgY2hhbmdlLlxuICpcbiAqIEBzZWUgV09SS0JFTkNIX1BFUlNQRUNUSVZFX01PREVMX1ZFUlNJT05cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNUGVyc3BlY3RpdmVMYXlvdXQge1xuICAvKipcbiAgICogTGF5b3V0IGJlZm9yZSBhbnkgdXNlciBwZXJzb25hbGl6YXRpb24gKGluaXRpYWwgbGF5b3V0KS5cbiAgICovXG4gIHJlZmVyZW5jZUxheW91dDoge1xuICAgIC8qKlxuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5zZXJpYWxpemVHcmlkXG4gICAgICogQHNlZSBXb3JrYmVuY2hMYXlvdXRTZXJpYWxpemVyLmRlc2VyaWFsaXplR3JpZFxuICAgICAqL1xuICAgIHdvcmtiZW5jaEdyaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuc2VyaWFsaXplVmlld091dGxldHNcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVWaWV3T3V0bGV0c1xuICAgICAqL1xuICAgIHZpZXdPdXRsZXRzOiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBMYXlvdXQgcGVyc29uYWxpemVkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgdXNlckxheW91dDoge1xuICAgIC8qKlxuICAgICAqIEBzZWUgV29ya2JlbmNoTGF5b3V0U2VyaWFsaXplci5zZXJpYWxpemVHcmlkXG4gICAgICogQHNlZSBXb3JrYmVuY2hMYXlvdXRTZXJpYWxpemVyLmRlc2VyaWFsaXplR3JpZFxuICAgICAqL1xuICAgIHdvcmtiZW5jaEdyaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuc2VyaWFsaXplVmlld091dGxldHNcbiAgICAgKiBAc2VlIFdvcmtiZW5jaExheW91dFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVWaWV3T3V0bGV0c1xuICAgICAqL1xuICAgIHZpZXdPdXRsZXRzOiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 Swiss Federal Railways
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -7,49 +7,17 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { InjectionToken } from '@angular/core';
|
|
11
11
|
import { WorkbenchObjectRegistry } from '../registry/workbench-object-registry';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
12
|
/**
|
|
14
13
|
* Registry for {@link ɵWorkbenchPerspective} model objects.
|
|
15
14
|
*/
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*/
|
|
26
|
-
register(perspective) {
|
|
27
|
-
this._registry.register(perspective);
|
|
28
|
-
}
|
|
29
|
-
get(perspectiveId, options) {
|
|
30
|
-
return this._registry.get(perspectiveId, options);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Indicates whether a perspective with the specified identity exists or not.
|
|
34
|
-
*/
|
|
35
|
-
has(perspectiveId) {
|
|
36
|
-
return this._registry.has(perspectiveId);
|
|
37
|
-
}
|
|
38
|
-
get perspectives() {
|
|
39
|
-
return this._registry.objects;
|
|
40
|
-
}
|
|
41
|
-
get perspectives$() {
|
|
42
|
-
return this._registry.objects$;
|
|
43
|
-
}
|
|
44
|
-
ngOnDestroy() {
|
|
45
|
-
this._registry.objects.forEach(perspective => perspective.destroy());
|
|
46
|
-
this._registry.clear();
|
|
47
|
-
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPerspectiveRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPerspectiveRegistry, providedIn: 'root' }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPerspectiveRegistry, decorators: [{
|
|
52
|
-
type: Injectable,
|
|
53
|
-
args: [{ providedIn: 'root' }]
|
|
54
|
-
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLnJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFHOUU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBR1UsY0FBUyxHQUFHLElBQUksdUJBQXVCLENBQWdDO1lBQzdFLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3BDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxhQUFhLGNBQWMsQ0FBQztTQUM5RyxDQUFDLENBQUM7S0FxQ0o7SUFuQ0M7O09BRUc7SUFDSSxRQUFRLENBQUMsV0FBa0M7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQU9NLEdBQUcsQ0FBQyxhQUFxQixFQUFFLE9BQXdCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNJLEdBQUcsQ0FBQyxhQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQXpDVSw0QkFBNEI7a0hBQTVCLDRCQUE0QixjQURoQixNQUFNOzsyRkFDbEIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7V29ya2JlbmNoT2JqZWN0UmVnaXN0cnl9IGZyb20gJy4uL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnknO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFBlcnNwZWN0aXZlfSBmcm9tICcuL8m1d29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsJztcblxuLyoqXG4gKiBSZWdpc3RyeSBmb3Ige0BsaW5rIMm1V29ya2JlbmNoUGVyc3BlY3RpdmV9IG1vZGVsIG9iamVjdHMuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaFBlcnNwZWN0aXZlUmVnaXN0cnkgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3JlZ2lzdHJ5ID0gbmV3IFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PHN0cmluZywgybVXb3JrYmVuY2hQZXJzcGVjdGl2ZT4oe1xuICAgIGtleUZuOiBwZXJzcGVjdGl2ZSA9PiBwZXJzcGVjdGl2ZS5pZCxcbiAgICBudWxsT2JqZWN0RXJyb3JGbjogcGVyc3BlY3RpdmVJZCA9PiBFcnJvcihgW051bGxQZXJzcGVjdGl2ZUVycm9yXSBQZXJzcGVjdGl2ZSAnJHtwZXJzcGVjdGl2ZUlkfScgbm90IGZvdW5kLmApLFxuICB9KTtcblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGdpdmVuIHBlcnNwZWN0aXZlLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKHBlcnNwZWN0aXZlOiDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cnkucmVnaXN0ZXIocGVyc3BlY3RpdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHtAbGluayDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlfSBvZiB0aGUgZ2l2ZW4gaWRlbnRpdHkuIElmIG5vdCBmb3VuZCwgYnkgZGVmYXVsdCwgdGhyb3dzIGFuIGVycm9yIHVubGVzcyBzZXR0aW5nIHRoZSBgb3JFbHNlTnVsbGAgb3B0aW9uLlxuICAgKi9cbiAgcHVibGljIGdldChwZXJzcGVjdGl2ZUlkOiBzdHJpbmcpOiDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlO1xuICBwdWJsaWMgZ2V0KHBlcnNwZWN0aXZlSWQ6IHN0cmluZywgb3B0aW9uczoge29yRWxzZTogbnVsbH0pOiDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlIHwgbnVsbDtcbiAgcHVibGljIGdldChwZXJzcGVjdGl2ZUlkOiBzdHJpbmcsIG9wdGlvbnM/OiB7b3JFbHNlOiBudWxsfSk6IMm1V29ya2JlbmNoUGVyc3BlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cnkuZ2V0KHBlcnNwZWN0aXZlSWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGEgcGVyc3BlY3RpdmUgd2l0aCB0aGUgc3BlY2lmaWVkIGlkZW50aXR5IGV4aXN0cyBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgaGFzKHBlcnNwZWN0aXZlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWdpc3RyeS5oYXMocGVyc3BlY3RpdmVJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNwZWN0aXZlcygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlW10ge1xuICAgIHJldHVybiB0aGlzLl9yZWdpc3RyeS5vYmplY3RzO1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJzcGVjdGl2ZXMkKCk6IE9ic2VydmFibGU8cmVhZG9ubHkgybVXb3JrYmVuY2hQZXJzcGVjdGl2ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJ5Lm9iamVjdHMkO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJ5Lm9iamVjdHMuZm9yRWFjaChwZXJzcGVjdGl2ZSA9PiBwZXJzcGVjdGl2ZS5kZXN0cm95KCkpO1xuICAgIHRoaXMuX3JlZ2lzdHJ5LmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
15
|
+
export const WORKBENCH_PERSPECTIVE_REGISTRY = new InjectionToken('WORKBENCH_PERSPECTIVE_REGISTRY', {
|
|
16
|
+
providedIn: 'root',
|
|
17
|
+
factory: () => new WorkbenchObjectRegistry({
|
|
18
|
+
keyFn: perspective => perspective.id,
|
|
19
|
+
nullObjectErrorFn: perspectiveId => Error(`[NullPerspectiveError] Perspective '${perspectiveId}' not found.`),
|
|
20
|
+
onUnregister: perspective => perspective.destroy(),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLnJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLnJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUc5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUF5RCxnQ0FBZ0MsRUFBRTtJQUN6SixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSx1QkFBdUIsQ0FBZ0M7UUFDeEUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDcEMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLGFBQWEsY0FBYyxDQUFDO1FBQzdHLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7S0FDbkQsQ0FBQztDQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5fSBmcm9tICcuLi9yZWdpc3RyeS93b3JrYmVuY2gtb2JqZWN0LXJlZ2lzdHJ5JztcbmltcG9ydCB7ybVXb3JrYmVuY2hQZXJzcGVjdGl2ZX0gZnJvbSAnLi/JtXdvcmtiZW5jaC1wZXJzcGVjdGl2ZS5tb2RlbCc7XG5cbi8qKlxuICogUmVnaXN0cnkgZm9yIHtAbGluayDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlfSBtb2RlbCBvYmplY3RzLlxuICovXG5leHBvcnQgY29uc3QgV09SS0JFTkNIX1BFUlNQRUNUSVZFX1JFR0lTVFJZID0gbmV3IEluamVjdGlvblRva2VuPFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PHN0cmluZywgybVXb3JrYmVuY2hQZXJzcGVjdGl2ZT4+KCdXT1JLQkVOQ0hfUEVSU1BFQ1RJVkVfUkVHSVNUUlknLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gbmV3IFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PHN0cmluZywgybVXb3JrYmVuY2hQZXJzcGVjdGl2ZT4oe1xuICAgIGtleUZuOiBwZXJzcGVjdGl2ZSA9PiBwZXJzcGVjdGl2ZS5pZCxcbiAgICBudWxsT2JqZWN0RXJyb3JGbjogcGVyc3BlY3RpdmVJZCA9PiBFcnJvcihgW051bGxQZXJzcGVjdGl2ZUVycm9yXSBQZXJzcGVjdGl2ZSAnJHtwZXJzcGVjdGl2ZUlkfScgbm90IGZvdW5kLmApLFxuICAgIG9uVW5yZWdpc3RlcjogcGVyc3BlY3RpdmUgPT4gcGVyc3BlY3RpdmUuZGVzdHJveSgpLFxuICB9KSxcbn0pO1xuIl19
|