@softheon/armature 15.21.2 → 15.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVtZVBhbGV0dGVNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvdGhlbWVQYWxldHRlTW9kZWwnO1xyXG5pbXBvcnQgeyBIZWFkZXJDb25maWcgfSBmcm9tICcuL2hlYWRlci1jb25maWcnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29uZmlnIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IE9pZGNBdXRoU2V0dGluZ3MgfSBmcm9tICcuL29pZGMtYXV0aC1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFN1YmRvbWFpbkNvbmZpZyB9IGZyb20gJy4vc3ViZG9tYWluLWNvbmZpZyc7XHJcblxyXG4vKiogVGhlIGJhc2UgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgKi9cclxuZXhwb3J0IGludGVyZmFjZSBCYXNlQ29uZmlnIHtcclxuICAgIC8qKiBUaGUgb2lkYyBzZXR0aW5ncyAqL1xyXG4gICAgb0F1dGhTZXR0aW5nczogT2lkY0F1dGhTZXR0aW5ncztcclxuXHJcbiAgICAvKiogVGhlIGhlYWRlciBjb25maWd1cmF0aW9ucyAqL1xyXG4gICAgaGVhZGVyOiBIZWFkZXJDb25maWc7XHJcblxyXG4gICAgLyoqIFRoZSB0aGVtZSBwYWxldHRlICovXHJcbiAgICB0aGVtZTogVGhlbWVQYWxldHRlTW9kZWw7XHJcblxyXG4gICAgLyoqIFRoZSBuYXZpZ2F0aW9uIGNvbmZpZyAqL1xyXG4gICAgbmF2aWdhdGlvbjogTmF2aWdhdGlvbkNvbmZpZztcclxuXHJcbiAgICAvKiogVGhlIHN1YiBkb21haW4gY29uZmlndXJhdGlvbnMgKi9cclxuICAgIHN1YmRvbWFpbj86IFN1YmRvbWFpbkNvbmZpZztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVtZVBhbGV0dGVNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvdGhlbWVQYWxldHRlTW9kZWwnO1xyXG5pbXBvcnQgeyBGZWRlcmF0ZWRNb2R1bGVDb25maWcgfSBmcm9tICcuL2ZlZGVyYXRlZC1tb2R1bGUtY29uZmlnJztcclxuaW1wb3J0IHsgSGVhZGVyQ29uZmlnIH0gZnJvbSAnLi9oZWFkZXItY29uZmlnJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNvbmZpZyB9IGZyb20gJy4vbmF2aWdhdGlvbi1jb25maWcnO1xyXG5pbXBvcnQgeyBPaWRjQXV0aFNldHRpbmdzIH0gZnJvbSAnLi9vaWRjLWF1dGgtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBTdWJkb21haW5Db25maWcgfSBmcm9tICcuL3N1YmRvbWFpbi1jb25maWcnO1xyXG5cclxuLyoqIFRoZSBiYXNlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUNvbmZpZyB7XHJcbiAgICAvKiogVGhlIG9pZGMgc2V0dGluZ3MgKi9cclxuICAgIG9BdXRoU2V0dGluZ3M6IE9pZGNBdXRoU2V0dGluZ3M7XHJcblxyXG4gICAgLyoqIFRoZSBoZWFkZXIgY29uZmlndXJhdGlvbnMgKi9cclxuICAgIGhlYWRlcjogSGVhZGVyQ29uZmlnO1xyXG5cclxuICAgIC8qKiBUaGUgdGhlbWUgcGFsZXR0ZSAqL1xyXG4gICAgdGhlbWU6IFRoZW1lUGFsZXR0ZU1vZGVsO1xyXG5cclxuICAgIC8qKiBUaGUgbmF2aWdhdGlvbiBjb25maWcgKi9cclxuICAgIG5hdmlnYXRpb246IE5hdmlnYXRpb25Db25maWc7XHJcblxyXG4gICAgLyoqIFRoZSBzdWIgZG9tYWluIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgICBzdWJkb21haW4/OiBTdWJkb21haW5Db25maWc7XHJcblxyXG4gICAgLyoqIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIGNvbmZpZ3VyYXRpb24gZGljdGlvbmFyeSAqL1xyXG4gICAgZmVkZXJhdGVkTW9kdWxlcz86IHtba2V5OiBzdHJpbmddIDogRmVkZXJhdGVkTW9kdWxlQ29uZmlnfVxyXG59XHJcbiJdfQ==
@@ -10,4 +10,8 @@ export const USER_ENTITY_SERVICE_CONFIG = new InjectionToken('UserEntityServiceC
10
10
  export const preSignInRouteStorageKey = 'preSignInRoute';
11
11
  /** The language storage key */
12
12
  export const languageStorageKey = 'language';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxtQkFBbUI7QUFDbkIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0MsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDO0FBRWhILDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQTJCLElBQUksY0FBYyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0FBRW5GLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBNEMsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFMUosd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2Vzc2lvbkNvbmZpZyB9IGZyb20gJy4vc2Vzc2lvbi1jb25maWcnO1xyXG5pbXBvcnQgeyBVc2VyRW50aXR5U2VydmljZUNvbmZpZyB9IGZyb20gJy4vdXNlci1lbnRpdHktc2VydmljZS1jb25maWcnO1xyXG5cclxuLy8gSW5qZWN0aW9uIHRva2Vuc1xyXG4vKiogVGhlIHNlc3Npb24gY29uZmlncyAqL1xyXG5leHBvcnQgY29uc3QgU0VTU0lPTl9DT05GSUc6IEluamVjdGlvblRva2VuPFNlc3Npb25Db25maWc+ID0gbmV3IEluamVjdGlvblRva2VuPFNlc3Npb25Db25maWc+KCdTZXNzaW9uQ29uZmlnJyk7XHJcblxyXG4vKiogVGhlIHdpbmRvdyBpbnRlcmZhY2UgKi9cclxuZXhwb3J0IGNvbnN0IFdJTkRPVzogSW5qZWN0aW9uVG9rZW48V2luZG93PiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdXaW5kb3cnKTtcclxuXHJcbi8qKiBUaGUgdXNlciBlbnRpdHkgc2VydmljZSBjb25maWdzICovXHJcbmV4cG9ydCBjb25zdCBVU0VSX0VOVElUWV9TRVJWSUNFX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48VXNlckVudGl0eVNlcnZpY2VDb25maWc+ID0gbmV3IEluamVjdGlvblRva2VuPFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnPignVXNlckVudGl0eVNlcnZpY2VDb25maWcnKTtcclxuXHJcbi8qKiBUaGUgcHJlIHNpZ24gaW4gcm91dGUgc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IHByZVNpZ25JblJvdXRlU3RvcmFnZUtleTogc3RyaW5nID0gJ3ByZVNpZ25JblJvdXRlJztcclxuXHJcbi8qKiBUaGUgbGFuZ3VhZ2Ugc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IGxhbmd1YWdlU3RvcmFnZUtleTogc3RyaW5nID0gJ2xhbmd1YWdlJztcclxuIl19
13
+ /** The federated module configuration storage key */
14
+ export const federatedModuleConfigStorageKey = 'sofAr-federatedModule-config';
15
+ /** The federated module id of the application, this should be set when the application is allowed to run as a federated module */
16
+ export const FEDERATED_MODULE_ID = new InjectionToken('FederatedModuleId');
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxtQkFBbUI7QUFDbkIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0MsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDO0FBRWhILDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQTJCLElBQUksY0FBYyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0FBRW5GLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBNEMsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFMUosd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxVQUFVLENBQUM7QUFFckQscURBQXFEO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFXLDhCQUE4QixDQUFDO0FBRXRGLGtJQUFrSTtBQUNsSSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsSUFBSSxjQUFjLENBQVMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZXNzaW9uQ29uZmlnIH0gZnJvbSAnLi9zZXNzaW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi91c2VyLWVudGl0eS1zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG4vLyBJbmplY3Rpb24gdG9rZW5zXHJcbi8qKiBUaGUgc2Vzc2lvbiBjb25maWdzICovXHJcbmV4cG9ydCBjb25zdCBTRVNTSU9OX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4oJ1Nlc3Npb25Db25maWcnKTtcclxuXHJcbi8qKiBUaGUgd2luZG93IGludGVyZmFjZSAqL1xyXG5leHBvcnQgY29uc3QgV0lORE9XOiBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+ID0gbmV3IEluamVjdGlvblRva2VuPFdpbmRvdz4oJ1dpbmRvdycpO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlIGNvbmZpZ3MgKi9cclxuZXhwb3J0IGNvbnN0IFVTRVJfRU5USVRZX1NFUlZJQ0VfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxVc2VyRW50aXR5U2VydmljZUNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlckVudGl0eVNlcnZpY2VDb25maWc+KCdVc2VyRW50aXR5U2VydmljZUNvbmZpZycpO1xyXG5cclxuLyoqIFRoZSBwcmUgc2lnbiBpbiByb3V0ZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgcHJlU2lnbkluUm91dGVTdG9yYWdlS2V5OiBzdHJpbmcgPSAncHJlU2lnbkluUm91dGUnO1xyXG5cclxuLyoqIFRoZSBsYW5ndWFnZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VTdG9yYWdlS2V5OiBzdHJpbmcgPSAnbGFuZ3VhZ2UnO1xyXG5cclxuLyoqIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIGNvbmZpZ3VyYXRpb24gc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IGZlZGVyYXRlZE1vZHVsZUNvbmZpZ1N0b3JhZ2VLZXk6IHN0cmluZyA9ICdzb2ZBci1mZWRlcmF0ZWRNb2R1bGUtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgZmVkZXJhdGVkIG1vZHVsZSBpZCBvZiB0aGUgYXBwbGljYXRpb24sIHRoaXMgc2hvdWxkIGJlIHNldCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBhbGxvd2VkIHRvIHJ1biBhcyBhIGZlZGVyYXRlZCBtb2R1bGUgKi9cclxuZXhwb3J0IGNvbnN0IEZFREVSQVRFRF9NT0RVTEVfSUQ6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignRmVkZXJhdGVkTW9kdWxlSWQnKTtcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLW1vZHVsZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2ZlZGVyYXRlZC1tb2R1bGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZlZGVyYXRlZE1vZHVsZUNvbmZpZyB7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG59Il19
@@ -0,0 +1,60 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { federatedModuleConfigStorageKey, FEDERATED_MODULE_ID, WINDOW } from '../models/constants';
3
+ import * as i0 from "@angular/core";
4
+ /** The federated module service */
5
+ export class FederatedModuleService {
6
+ /** The federated module configuration */
7
+ get federatedModuleConfig() {
8
+ if (this.federatedModuleId) {
9
+ const configs = this.federatedModuleConfigDict;
10
+ return configs.get(this.federatedModuleId);
11
+ }
12
+ return undefined;
13
+ }
14
+ /** True when application is running as a federated module */
15
+ get isFederatedModule() {
16
+ return !!this.federatedModuleConfig;
17
+ }
18
+ /** Gets the federated module config dictionary */
19
+ get federatedModuleConfigDict() {
20
+ const storageItem = this.window.sessionStorage.getItem(federatedModuleConfigStorageKey);
21
+ if (!storageItem) {
22
+ return undefined;
23
+ }
24
+ const dict = JSON.parse(storageItem);
25
+ const result = new Map();
26
+ Object.keys(dict).forEach(key => {
27
+ result.set(key, dict[key]);
28
+ });
29
+ return result;
30
+ }
31
+ /**
32
+ * Constructs the service
33
+ * @param _window The browser window
34
+ * @param federatedModuleId The federated module id
35
+ */
36
+ constructor(_window, federatedModuleId) {
37
+ this._window = _window;
38
+ this.federatedModuleId = federatedModuleId;
39
+ this.window = _window || window;
40
+ }
41
+ }
42
+ FederatedModuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FederatedModuleService, deps: [{ token: WINDOW, optional: true }, { token: FEDERATED_MODULE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ FederatedModuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FederatedModuleService, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FederatedModuleService, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root'
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
50
+ type: Optional
51
+ }, {
52
+ type: Inject,
53
+ args: [WINDOW]
54
+ }] }, { type: undefined, decorators: [{
55
+ type: Optional
56
+ }, {
57
+ type: Inject,
58
+ args: [FEDERATED_MODULE_ID]
59
+ }] }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLW1vZHVsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2ZlZGVyYXRlZC1tb2R1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUduRyxtQ0FBbUM7QUFJbkMsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyx5Q0FBeUM7SUFDekMsSUFBVyxxQkFBcUI7UUFDOUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQy9DLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFBO0lBQ3JDLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsSUFBWSx5QkFBeUI7UUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUEyQyxDQUFDO1FBQy9FLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUtEOzs7O09BSUc7SUFDSCxZQUMrQyxPQUFZLEVBQ0EsaUJBQXlCO1FBRHJDLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFDQSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7UUFFbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLElBQUksTUFBTSxDQUFDO0lBQ2xDLENBQUM7O21IQTNDVSxzQkFBc0Isa0JBdUNYLE1BQU0sNkJBQ04sbUJBQW1CO3VIQXhDOUIsc0JBQXNCLGNBRnJCLE1BQU07MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBd0NJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTTs7MEJBQ3pCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmZWRlcmF0ZWRNb2R1bGVDb25maWdTdG9yYWdlS2V5LCBGRURFUkFURURfTU9EVUxFX0lELCBXSU5ET1cgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZlZGVyYXRlZC1tb2R1bGUtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgZmVkZXJhdGVkIG1vZHVsZSBzZXJ2aWNlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZGVyYXRlZE1vZHVsZVNlcnZpY2Uge1xyXG5cclxuICAvKiogVGhlIGZlZGVyYXRlZCBtb2R1bGUgY29uZmlndXJhdGlvbiAqL1xyXG4gIHB1YmxpYyBnZXQgZmVkZXJhdGVkTW9kdWxlQ29uZmlnKCk6IEZlZGVyYXRlZE1vZHVsZUNvbmZpZyB7XHJcbiAgICBpZiAodGhpcy5mZWRlcmF0ZWRNb2R1bGVJZCkge1xyXG4gICAgICBjb25zdCBjb25maWdzID0gdGhpcy5mZWRlcmF0ZWRNb2R1bGVDb25maWdEaWN0O1xyXG4gICAgICByZXR1cm4gY29uZmlncy5nZXQodGhpcy5mZWRlcmF0ZWRNb2R1bGVJZCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRydWUgd2hlbiBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIGFzIGEgZmVkZXJhdGVkIG1vZHVsZSAqL1xyXG4gIHB1YmxpYyBnZXQgaXNGZWRlcmF0ZWRNb2R1bGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmZlZGVyYXRlZE1vZHVsZUNvbmZpZ1xyXG4gIH1cclxuXHJcbiAgLyoqIEdldHMgdGhlIGZlZGVyYXRlZCBtb2R1bGUgY29uZmlnIGRpY3Rpb25hcnkgKi9cclxuICBwcml2YXRlIGdldCBmZWRlcmF0ZWRNb2R1bGVDb25maWdEaWN0KCk6IE1hcDxzdHJpbmcsIEZlZGVyYXRlZE1vZHVsZUNvbmZpZz4ge1xyXG4gICAgY29uc3Qgc3RvcmFnZUl0ZW0gPSB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGZlZGVyYXRlZE1vZHVsZUNvbmZpZ1N0b3JhZ2VLZXkpO1xyXG4gICAgaWYgKCFzdG9yYWdlSXRlbSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGljdCA9IEpTT04ucGFyc2Uoc3RvcmFnZUl0ZW0pIGFzIHtba2V5OiBzdHJpbmddOiBGZWRlcmF0ZWRNb2R1bGVDb25maWd9O1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIEZlZGVyYXRlZE1vZHVsZUNvbmZpZz4oKTtcclxuICAgIE9iamVjdC5rZXlzKGRpY3QpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgcmVzdWx0LnNldChrZXksIGRpY3Rba2V5XSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIHdpbmRvdyBpbnRlcmZhY2UgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gX3dpbmRvdyBUaGUgYnJvd3NlciB3aW5kb3dcclxuICAgKiBAcGFyYW0gZmVkZXJhdGVkTW9kdWxlSWQgVGhlIGZlZGVyYXRlZCBtb2R1bGUgaWRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IF93aW5kb3c6IGFueSxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkVERVJBVEVEX01PRFVMRV9JRCkgcHVibGljIHJlYWRvbmx5IGZlZGVyYXRlZE1vZHVsZUlkOiBzdHJpbmdcclxuICApIHtcclxuICAgIHRoaXMud2luZG93ID0gX3dpbmRvdyB8fCB3aW5kb3c7XHJcbiAgfVxyXG59XHJcbiJdfQ==