@colijnit/sharedcomponents 255.1.19 → 255.1.21
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/bundles/colijnit-sharedcomponents.umd.js +506 -676
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +120 -123
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +121 -124
- package/esm2015/lib/components/activity-list/activity-list.component.js +3 -3
- package/esm2015/lib/components/activity-list-header/activity-list-header.component.js +4 -4
- package/esm2015/lib/components/activity-list-header/activity-list-header.module.js +9 -9
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.js +3 -3
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.component.js +2 -2
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.module.js +9 -10
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +8 -11
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.module.js +8 -8
- package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +3 -3
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +3 -3
- package/esm2015/lib/components/email-selector/email-selector.module.js +9 -9
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +7 -7
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +8 -8
- package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +3 -3
- package/esm2015/lib/components/files-upload/files-upload.component.js +5 -5
- package/esm2015/lib/components/files-upload/files-upload.module.js +14 -14
- package/esm2015/lib/components/image-display/image-display.component.js +2 -2
- package/esm2015/lib/components/image-display/image-display.module.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.js +3 -3
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +3 -3
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.js +8 -8
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +6 -6
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +3 -3
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +6 -6
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +7 -7
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.module.js +7 -7
- package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +7 -7
- package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +15 -15
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +2 -2
- package/esm2015/lib/components/open-activity-list/component-activity-list.module.js +10 -10
- package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.js +1 -1
- package/esm2015/lib/components/role-email-selector/role-email-selector.component.js +3 -3
- package/esm2015/lib/components/role-email-selector/role-email-selector.module.js +8 -8
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +14 -14
- package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +14 -14
- package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +14 -14
- package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +7 -7
- package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +14 -14
- package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +9 -9
- package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +14 -14
- package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +14 -14
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +15 -15
- package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +11 -11
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +11 -18
- package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +6 -6
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +6 -6
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +61 -61
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +26 -29
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +5 -5
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +12 -12
- package/esm2015/lib/components/stock/stock.component.js +4 -15
- package/esm2015/lib/components/stock/stock.module.js +6 -8
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +17 -23
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +3 -2
- package/esm2015/lib/components/task-creator/task-creator.component.js +24 -24
- package/esm2015/lib/components/task-creator/task-creator.module.js +11 -11
- package/esm2015/lib/components/task-modifyer/task-modifier.component.js +15 -15
- package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +9 -9
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +2 -2
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +6 -6
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.js +2 -2
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js +9 -9
- package/esm2015/lib/res/dictionary/dictionaries.js +9 -0
- package/esm2015/lib/service/options.service.js +5 -5
- package/esm2015/lib/service/shared.service.js +5 -5
- package/esm2015/lib/translation/shared-components-dictionary.service.js +69 -0
- package/esm2015/lib/translation/shared-components-translation.module.js +15 -0
- package/esm2015/lib/translation/shared-localize.pipe.js +26 -0
- package/esm2015/lib/utils/enum-utils.js +1 -1
- package/esm2015/public-api.js +3 -2
- package/fesm2015/colijnit-sharedcomponents.js +512 -658
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/activity-list/activity-list.component.d.ts +2 -2
- package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +3 -3
- package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +2 -2
- package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +3 -3
- package/lib/components/files-upload/components/base-file-upload.component.d.ts +3 -3
- package/lib/components/files-upload/files-upload.component.d.ts +2 -2
- package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +3 -3
- package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.d.ts +3 -3
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +3 -3
- package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.d.ts +3 -3
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +3 -3
- package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +3 -3
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +17 -19
- package/lib/components/stock/stock.component.d.ts +2 -6
- package/lib/components/tab-bar/tab-bar.component.d.ts +0 -3
- package/lib/components/task-creator/task-creator.component.d.ts +17 -17
- package/lib/components/task-modifyer/task-modifier.component.d.ts +13 -13
- package/lib/res/dictionary/dictionaries.d.ts +18809 -0
- package/lib/service/options.service.d.ts +2 -2
- package/lib/service/shared.service.d.ts +3 -3
- package/lib/{service/dictionary.service.d.ts → translation/shared-components-dictionary.service.d.ts} +5 -7
- package/lib/translation/shared-components-translation.module.d.ts +2 -0
- package/lib/translation/shared-localize.pipe.d.ts +7 -0
- package/lib/utils/enum-utils.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
- package/3rdpartylicenses.txt +0 -1405
- package/esm2015/lib/assets/dictionary/text.properties.js +0 -11
- package/esm2015/lib/components/stock/localization/translation.js +0 -78
- package/esm2015/lib/localization/localization.module.js +0 -19
- package/esm2015/lib/localization/localize.pipe.js +0 -26
- package/esm2015/lib/localization/localize.service.js +0 -30
- package/esm2015/lib/localization/translation.js +0 -3
- package/esm2015/lib/service/dictionary.service.js +0 -76
- package/favicon.ico +0 -0
- package/index.html +0 -12
- package/lib/assets/dictionary/text.properties.d.ts +0 -3
- package/lib/components/stock/localization/translation.d.ts +0 -75
- package/lib/localization/localization.module.d.ts +0 -2
- package/lib/localization/localize.pipe.d.ts +0 -7
- package/lib/localization/localize.service.d.ts +0 -7
- package/lib/localization/translation.d.ts +0 -2
- package/main.871f327ed7ea343aa7b1.js +0 -1
- package/polyfills.907fe9d1887c5de17993.js +0 -1
- package/runtime.8aac21847ed3d3829cca.js +0 -1
- package/styles.47560e51cc093de66ebe.css +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Injectable } from "@angular/core";
|
|
3
3
|
import { BehaviorSubject } from "rxjs";
|
|
4
|
-
import { DictionaryService } from "./dictionary.service";
|
|
5
4
|
import { SharedSettings } from '../model/settings';
|
|
5
|
+
import { SharedComponentsDictionaryService } from '../translation/shared-components-dictionary.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
7
|
+
import * as i1 from "../translation/shared-components-dictionary.service";
|
|
8
8
|
export class OptionsService {
|
|
9
9
|
constructor(_dictionary) {
|
|
10
10
|
this._dictionary = _dictionary;
|
|
@@ -36,13 +36,13 @@ export class OptionsService {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
OptionsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OptionsService_Factory() { return new OptionsService(i0.ɵɵinject(i1.
|
|
39
|
+
OptionsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OptionsService_Factory() { return new OptionsService(i0.ɵɵinject(i1.SharedComponentsDictionaryService)); }, token: OptionsService, providedIn: "root" });
|
|
40
40
|
OptionsService.decorators = [
|
|
41
41
|
{ type: Injectable, args: [{
|
|
42
42
|
providedIn: "root"
|
|
43
43
|
},] }
|
|
44
44
|
];
|
|
45
45
|
OptionsService.ctorParameters = () => [
|
|
46
|
-
{ type:
|
|
46
|
+
{ type: SharedComponentsDictionaryService }
|
|
47
47
|
];
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFEQUFxRCxDQUFDOzs7QUFLdEcsTUFBTSxPQUFPLGNBQWM7SUFnQnpCLFlBQW9CLFdBQThDO1FBQTlDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQztRQWQzRCx1QkFBa0IsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFVbkYsa0JBQWEsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFLNUUsQ0FBQztJQWJELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVNZLHdCQUF3QixDQUFDLEdBQVE7O1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7YUFDckM7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0tBQUE7SUFFWSxVQUFVLENBQUMsT0FBWTs7WUFDbEMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUM7S0FBQTs7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpPLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U2hhcmVkU2V0dGluZ3N9IGZyb20gJy4uL21vZGVsL3NldHRpbmdzJztcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIG9wdGlvbnNJbml0aWFsaXplZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wdGlvbnNMb2FkZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpY3Rpb25hcnk6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdChvYmo6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5vcHRpb25zID0gbmV3IFNoYXJlZFNldHRpbmdzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucywgb2JqKTtcclxuICAgIHRoaXMub3B0aW9uc0xvYWRlZC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUob3B0aW9uczogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdChvcHRpb25zKTtcclxuICAgICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgICB0aGlzLm9wdGlvbnNJbml0aWFsaXplZC5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -6,11 +6,11 @@ import { SelectReportTemplatesRequest } from "@colijnit/mainapi/build/model/sele
|
|
|
6
6
|
import { SendMethodType } from "@colijnit/mainapi/build/enum/send-method-type.enum";
|
|
7
7
|
import { EmailJob } from "@colijnit/mainapi/build/model/email-job";
|
|
8
8
|
import { LanguageCode } from "../enum/language-code.enum";
|
|
9
|
-
import {
|
|
9
|
+
import { SharedComponentsDictionaryService } from '../translation/shared-components-dictionary.service';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "./options.service";
|
|
12
12
|
import * as i2 from "./shared-connector.service";
|
|
13
|
-
import * as i3 from "
|
|
13
|
+
import * as i3 from "../translation/shared-components-dictionary.service";
|
|
14
14
|
export class SharedService {
|
|
15
15
|
constructor(locale, options, connector, dictionary) {
|
|
16
16
|
this.locale = locale;
|
|
@@ -226,7 +226,7 @@ export class SharedService {
|
|
|
226
226
|
});
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(i0.LOCALE_ID), i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SharedConnectorService), i0.ɵɵinject(i3.
|
|
229
|
+
SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(i0.LOCALE_ID), i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.SharedConnectorService), i0.ɵɵinject(i3.SharedComponentsDictionaryService)); }, token: SharedService, providedIn: "root" });
|
|
230
230
|
SharedService.decorators = [
|
|
231
231
|
{ type: Injectable, args: [{
|
|
232
232
|
providedIn: "root"
|
|
@@ -236,6 +236,6 @@ SharedService.ctorParameters = () => [
|
|
|
236
236
|
{ type: LanguageCode, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },
|
|
237
237
|
{ type: OptionsService },
|
|
238
238
|
{ type: SharedConnectorService },
|
|
239
|
-
{ type:
|
|
239
|
+
{ type: SharedComponentsDictionaryService }
|
|
240
240
|
];
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvc2VydmljZS9zaGFyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWtCakQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFHM0csT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBV3ZELE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQ3dDLE1BQW9CLEVBQ2hELE9BQXVCLEVBQ3ZCLFNBQWlDLEVBQ2pDLFVBQTZCO1FBSEQsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNoRCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUV6QyxDQUFDO0lBRVksSUFBSSxDQUFDLE9BQVk7O1lBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLENBQUM7S0FBQTtJQUVZLE9BQU87O1lBQ2xCLE1BQU0sSUFBSSxD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QUFDLCtCQUErQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEYsQ0FBQztLQUFBO0lBRVksYUFBYSxDQUFDLEtBQWdCLEVBQUUsR0FBVzs7WUFDdEQsTUFBTSxVQUFVLEdBQWUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RixNQUFNLGNBQWMsR0FBZSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFGLE1BQU0sZ0JBQWdCLEdBQWUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sa0JBQWtCLEdBQWUsRUFBRSxDQUFDO1lBQzFDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO29CQUN4QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtvQkFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRCxDQUFDO0tBQUE7Ozs7WUFwTUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFaTyxZQUFZLHVCQWlCZixNQUFNLFNBQUMsU0FBUztZQXhDYixjQUFjO1lBRmQsc0JBQXNCO1lBNEJ0QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NoYXJlZENvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTE9DQUxFX0lEfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9zZW5kLW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7VGFnQ2F0ZWdvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYi1jYXRlZ29yeS5lbnVtXCI7XHJcbmltcG9ydCB7VGFnVHJlZUl0ZW19IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWctdHJlZS1pdGVtLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtUYXNrQ2F0ZWdvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YXNrLWNhdGVnb3J5LmJvXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtXb3JrZmxvd1Byb2Nlc3N9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrZmxvdy1wcm9jZXNzXCI7XHJcbmltcG9ydCB7RG9tYWluTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vZG9tYWluLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm9cIjtcclxuaW1wb3J0IHtSb2xlRW1haWxhZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcm9sZS1lbWFpbC1hZGRyZXNzXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YXNrLmJvXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LXByb2Nlc3MtaW5mby1wZXItc3RhdHVzXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1NlbGVjdFJlcG9ydFRlbXBsYXRlc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9zZWxlY3QtcmVwb3J0LXRlbXBsYXRlcy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UmVwb3J0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LmJvXCI7XHJcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vcmVwb3J0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtFbWFpbEpvYn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2VtYWlsLWpvYlwiO1xyXG5pbXBvcnQge0xhbmd1YWdlQ29kZX0gZnJvbSBcIi4uL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtXCI7XHJcbmltcG9ydCB7V29ya30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmsuYm9cIjtcclxuaW1wb3J0IHtSZW1hcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZW1hcmsuYm9cIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4vZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlXb3JrZmxvd30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LXdvcmtmbG93XCI7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1lbWFpbC1hdHRhY2htZW50LmJvXCI7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNoYXJlZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9jYWxlOiBMYW5ndWFnZUNvZGUsXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29ubmVjdG9yOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdChvcHRpb25zOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMub3B0aW9ucy5pbml0aWFsaXplKG9wdGlvbnMpO1xyXG4gICAgYXdhaXQgdGhpcy5jb25uZWN0b3IuY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWxsUHJpbnRlcnMoKTogUHJvbWlzZTxQcmludGVyW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRBbGxQcmludGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNlbmRNZXRob2RzKCk6IFByb21pc2U8U2VuZE1ldGhvZFtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0U2VuZE1ldGhvZHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTY3JlZW5Db25maWdUcmVlKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0U2NyZWVuQ29uZmlnVHJlZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNjcmVlbkNvbmZpZ1N1YlJ1YnJpYyhwYXJlbnRSdWJyaWNJZDogbnVtYmVyLCBjb25maWdJZDogbnVtYmVyLCBmaXhlZEtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRTY3JlZW5Db25maWdTdWJSdWJyaWMocGFyZW50UnVicmljSWQsIGNvbmZpZ0lkLCBmaXhlZEtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0VGFnc0Z1bGxUcmVlKGNhdGVnb3J5OiBUYWdDYXRlZ29yeSwgaW5jbHVkZVRhZ3M6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxUYWdUcmVlSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VGFnc0Z1bGxUcmVlKGNhdGVnb3J5LCBpbmNsdWRlVGFncyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Sm9pbmVkVGFncyh0YWJsZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFByb21pc2U8VGFnVHJlZUl0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEpvaW5lZFRhZ3ModGFibGUsIGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkOiBudW1iZXIsIHRodW1ibmFpbDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldERvY3VtZW50Q29udGVudChkb2NJZCwgdGh1bWJuYWlsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRDb21wb25lbnRBY3Rpdml0aWVzV2l0aG91dFJlbGF0aW9uRmlsdGVyaW5nKHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nKTogUHJvbWlzZTxBY3Rpdml0eVtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q29tcG9uZW50QWN0aXZpdGllc1dpdGhvdXRSZWxhdGlvbkZpbHRlcmluZyh0YWJsZSwga2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRSZWxhdGlvblNtYWxsT2JqZWN0KHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8UmVsYXRpb25TbWFsbE9iamVjdD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFJlbGF0aW9uU21hbGxPYmplY3QocmVsYXRpb25JZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0V29ya2Zsb3dTdGF0dXNGb3JBY3Rpdml0eSh0YWJsZTogVGFibGVOYW1lLCBrZXk6IHN0cmluZywgY29tcG9uZW50OiBzdHJpbmcgKTogUHJvbWlzZTxBY3Rpdml0eVdvcmtmbG93PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0V29ya2Zsb3dTdGF0dXNGb3JBY3Rpdml0eSh0YWJsZSwga2V5LCBjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydEFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydEFjdGl2aXR5KGFjdGl2aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRXb3JrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8V29yaz4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydFdvcmsoYWN0aXZpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydFJlbWFyayhhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPFJlbWFyaz4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydFJlbWFyayhhY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0VGFzayhhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPFRhc2s+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci51cGRhdGVBY3Rpdml0eShhY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZGVsZXRlQWN0aXZpdHkoYWN0aXZpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvY2tUYXNrKGlkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5sb2NrVGFzayhpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuRmlyZVRyaWdnZXIoYWN0aXZpdHk6QWN0aXZpdHksIHRhc2s6IFRhc2sgKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGZpcmVUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkOiBudW1iZXIsIHNlcXVlbmNlOiBudW1iZXIsIHRyaWdnZXJJZDogbnVtYmVyKTogUHJvbWlzZTxWYWxpZGF0aW9uUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZmlyZVRyaWdnZXIod29ya0Zsb3dQcm9jZXNzSWQsIHNlcXVlbmNlLCB0cmlnZ2VySWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGZpcmVHZW5lcmljVHJpZ2dlcih3b3JrRmxvd1Byb2Nlc3NJZDogbnVtYmVyLCBnZW5lcmljVHJhbnNpdGlvbklkOiBudW1iZXIsIHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8VmFsaWRhdGlvblJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmZpcmVHZW5lcmljVHJpZ2dlcih3b3JrRmxvd1Byb2Nlc3NJZCwgZ2VuZXJpY1RyYW5zaXRpb25JZCwgcmVsYXRpb25JZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QpOiBQcm9taXNlPFJlbGF0aW9uTGlzdE9iamVjdFtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUYXNrQ2F0ZWdvcmllcygpOiBQcm9taXNlPFRhc2tDYXRlZ29yeVtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0VGFza0NhdGVnb3JpZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBY3RpdmVQcm9jZXNzZXNCeVRhYmxlQW5kS2V5KHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd1Byb2Nlc3NbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEFjdGl2ZVByb2Nlc3Nlc0J5VGFibGVBbmRLZXkodGFibGUsIGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RG9tYWluQ29sbGVjdGlvbihsYW5ndWFnZUNvZGU6IHN0cmluZywgZG9tYWluTmFtZTogRG9tYWluTmFtZSk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RG9tYWluQ29sbGVjdGlvbihsYW5ndWFnZUNvZGUsIGRvbWFpbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFJvbGVFbWFpbEFkZHJlc3Nlc0J5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JrZmxvd0NhdGVnb3J5OiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxSb2xlRW1haWxhZGRyZXNzW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRSb2xlRW1haWxBZGRyZXNzZXNCeVdvcmtmbG93Q2F0ZWdvcnlBbmRLZXkod29ya2Zsb3dDYXRlZ29yeSwga2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JrZmxvd0NhdGVnb3J5OiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JrZmxvd0NhdGVnb3J5LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldERlZmF1bHRFbWFpbFJlcG9ydFRlbXBsYXRlc0ZvckJyYW5jaChicmFuY2hOcjogc3RyaW5nLCByZXBvcnRUeXBlOiBSZXBvcnRUeXBlKTogUHJvbWlzZTxSZXBvcnRbXT4ge1xyXG4gICAgbGV0IHJlcG9ydFRlbXBsYXRlc1JlcXVlc3Q6IFNlbGVjdFJlcG9ydFRlbXBsYXRlc1JlcXVlc3QgPSBuZXcgU2VsZWN0UmVwb3J0VGVtcGxhdGVzUmVxdWVzdCgpO1xyXG4gICAgcmVwb3J0VGVtcGxhdGVzUmVxdWVzdC5icmFuY2hOciA9IGJyYW5jaE5yO1xyXG4gICAgcmVwb3J0VGVtcGxhdGVzUmVxdWVzdC5kb2N1bWVudENvZGUgPSByZXBvcnRUeXBlO1xyXG4gICAgcmVwb3J0VGVtcGxhdGVzUmVxdWVzdC5zZW5kTWV0aG9kID0gU2VuZE1ldGhvZFR5cGUuRW1haWw7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFJlcG9ydFRlbXBsYXRlcyhyZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBlbWFpbFZpYVRlbXBsYXRlKHRlbXBsYXRlOiBSZXBvcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsVG86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1haWxCY2M6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbHk6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdDogc3RyaW5nID0gXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogc3RyaW5nID0gXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudHM6IENvRW1haWxBdHRhY2htZW50W10gPSBbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogb2JqZWN0ID0ge30gKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBzdWJqZWN0QWRkaXRpb246IHN0cmluZyA9IHN1YmplY3QudHJpbSgpO1xyXG4gICAgY29uc3QgZW1haWxKb2I6IEVtYWlsSm9iID0gdGhpcy5fY3JlYXRlRW1haWxKb2IodGVtcGxhdGUsIGVtYWlsVG8sIGVtYWlsQmNjLCByZXBseSwgc3ViamVjdEFkZGl0aW9uLCBtZXNzYWdlLCBhdHRhY2htZW50cywgcGFyYW1ldGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuZW1haWxSZXBvcnQoZW1haWxKb2IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRW1haWxKb2IocmVwb3J0OiBSZXBvcnQsIGVtYWlsVG86IHN0cmluZywgZW1haWxCY2M6IHN0cmluZywgcmVwbHk6IHN0cmluZywgIHN1YmplY3Q6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50czogQ29FbWFpbEF0dGFjaG1lbnRbXSwgcGFyYW1ldGVyczogb2JqZWN0ID0ge30pOiBFbWFpbEpvYiB7XHJcbiAgICBjb25zdCBlbWFpbEpvYjogRW1haWxKb2IgPSBuZXcgRW1haWxKb2IoKTtcclxuICAgIGVtYWlsSm9iLmVtYWlsVG8gPSBlbWFpbFRvO1xyXG4gICAgZW1haWxKb2IuZW1haWxCY2MgPSBlbWFpbEJjYztcclxuICAgIGVtYWlsSm9iLnJlcGx5ID0gcmVwbHk7XHJcbiAgICBlbWFpbEpvYi5zdWJqZWN0ID0gc3ViamVjdDtcclxuICAgIGVtYWlsSm9iLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgZW1haWxKb2IuYXR0YWNobWVudHMgPSBhdHRhY2htZW50cztcclxuXHJcbiAgICBlbWFpbEpvYi5yZXBvcnRJZCA9IHJlcG9ydC5yZXBvcnRJZDtcclxuICAgIGVtYWlsSm9iLnBhcmFtZXRlclZhbHVlcyA9IHBhcmFtZXRlcnM7XHJcbiAgICBlbWFpbEpvYi5sb2NhbGUgPSB0aGlzLmxvY2FsZTtcclxuICAgIHJldHVybiBlbWFpbEpvYjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRFbWFpbEhpc3RvcnlGb3JSZW1hcmsocmVtYXJrSWQ6IG51bWJlciwgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhyZW1hcmtJZCwgaGlzdG9yeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0RW1haWxIaXN0b3J5Rm9yV29yayhyZW1hcmtJZDogbnVtYmVyLCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhyZW1hcmtJZCwgaGlzdG9yeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0RW1haWxIaXN0b3J5Rm9yVGFzayhyZW1hcmtJZDogbnVtYmVyLCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhyZW1hcmtJZCwgaGlzdG9yeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cyh3b3JrZmxvd0NhdGVnb3J5OiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXMod29ya2Zsb3dDYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aXZpdGllcyh0YWJsZTogVGFibGVOYW1lLCBrZXk6IHN0cmluZyk6IFByb21pc2U8QWN0aXZpdHlbXT4ge1xyXG4gICAgY29uc3QgYWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldENvbXBvbmVudEFjdGl2aXRpZXModGFibGUsIGtleSk7XHJcbiAgICBjb25zdCBoaXN0QWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEhpc3RvcmljQWN0aXZpdGllcyh0YWJsZSwga2V5KTtcclxuICAgIGNvbnN0IGFjdGl2ZUFjdGl2aXRpZXM6IEFjdGl2aXR5W10gPSBbXTtcclxuICAgIGNvbnN0IGhpc3RvcmljQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IFtdO1xyXG4gICAgaWYgKGFjdGl2aXRpZXMgJiYgYWN0aXZpdGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGFjdGl2aXRpZXMuZm9yRWFjaCgoYWN0aXZpdHk6IEFjdGl2aXR5KSA9PiB7XHJcbiAgICAgICAgYWN0aXZlQWN0aXZpdGllcy5wdXNoKGFjdGl2aXR5KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaGlzdEFjdGl2aXRpZXMgJiYgaGlzdEFjdGl2aXRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBoaXN0QWN0aXZpdGllcy5mb3JFYWNoKChhY3Rpdml0eTogQWN0aXZpdHkpID0+IHtcclxuICAgICAgICBoaXN0b3JpY0FjdGl2aXRpZXMucHVzaChhY3Rpdml0eSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFjdGl2ZUFjdGl2aXRpZXMuY29uY2F0KGhpc3RvcmljQWN0aXZpdGllcyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvc2VydmljZS9zaGFyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWtCakQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFHM0csT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFNeEQsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0scURBQXFELENBQUM7Ozs7O0FBUXRHLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQ3dDLE1BQW9CLEVBQ2hELE9BQXVCLEVBQ3ZCLFNBQWlDLEVBQ2pDLFVBQTZDO1FBSGpCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDaEQsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBbUM7SUFFekQsQ0FBQztJQUVZLElBQUksQ0FBQyxPQUFZOztZQUM1QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFWSxPQUFPOztZQUNsQixNQUFNLElBQUks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ZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIExPQ0FMRV9JRH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4vb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvc2VuZC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1RhZ0NhdGVnb3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWItY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7VGFza0NhdGVnb3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay1jYXRlZ29yeS5ib1wiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dQcm9jZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctcHJvY2Vzc1wiO1xyXG5pbXBvcnQge0RvbWFpbk5hbWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2RvbWFpbi1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7Um9sZUVtYWlsYWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JvbGUtZW1haWwtYWRkcmVzc1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtWYWxpZGF0aW9uUmVzdWx0fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ib1wiO1xyXG5pbXBvcnQge1dvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrZmxvdy1wcm9jZXNzLWluZm8tcGVyLXN0YXR1c1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtTZWxlY3RSZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvc2VsZWN0LXJlcG9ydC10ZW1wbGF0ZXMtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1JlcG9ydH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC5ib1wiO1xyXG5pbXBvcnQge1JlcG9ydFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3JlcG9ydC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vc2VuZC1tZXRob2QtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7RW1haWxKb2J9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1qb2JcIjtcclxuaW1wb3J0IHtMYW5ndWFnZUNvZGV9IGZyb20gXCIuLi9lbnVtL2xhbmd1YWdlLWNvZGUuZW51bVwiO1xyXG5pbXBvcnQge1dvcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrLmJvXCI7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVtYXJrLmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlXb3JrZmxvd30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LXdvcmtmbG93XCI7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1lbWFpbC1hdHRhY2htZW50LmJvXCI7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KExPQ0FMRV9JRCkgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZTogTGFuZ3VhZ2VDb2RlLFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbm5lY3RvcjogU2hhcmVkQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5OiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICBhd2FpdCB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBbGxQcmludGVycygpOiBQcm9taXNlPFByaW50ZXJbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEFsbFByaW50ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VuZE1ldGhvZHMoKTogUHJvbWlzZTxTZW5kTWV0aG9kW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRTZW5kTWV0aG9kcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNjcmVlbkNvbmZpZ1RyZWUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRTY3JlZW5Db25maWdUcmVlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2NyZWVuQ29uZmlnU3ViUnVicmljKHBhcmVudFJ1YnJpY0lkOiBudW1iZXIsIGNvbmZpZ0lkOiBudW1iZXIsIGZpeGVkS2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFNjcmVlbkNvbmZpZ1N1YlJ1YnJpYyhwYXJlbnRSdWJyaWNJZCwgY29uZmlnSWQsIGZpeGVkS2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRUYWdzRnVsbFRyZWUoY2F0ZWdvcnk6IFRhZ0NhdGVnb3J5LCBpbmNsdWRlVGFnczogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPFRhZ1RyZWVJdGVtW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUYWdzRnVsbFRyZWUoY2F0ZWdvcnksIGluY2x1ZGVUYWdzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRKb2luZWRUYWdzKHRhYmxlOiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxUYWdUcmVlSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Sm9pbmVkVGFncyh0YWJsZSwga2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREb2N1bWVudENvbnRlbnQoZG9jSWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkLCB0aHVtYm5haWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldENvbXBvbmVudEFjdGl2aXRpZXNXaXRob3V0UmVsYXRpb25GaWx0ZXJpbmcodGFibGU6IFRhYmxlTmFtZSwga2V5OiBzdHJpbmcpOiBQcm9taXNlPEFjdGl2aXR5W10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRDb21wb25lbnRBY3Rpdml0aWVzV2l0aG91dFJlbGF0aW9uRmlsdGVyaW5nKHRhYmxlLCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFJlbGF0aW9uU21hbGxPYmplY3QocmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxSZWxhdGlvblNtYWxsT2JqZWN0PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UmVsYXRpb25TbWFsbE9iamVjdChyZWxhdGlvbklkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd1N0YXR1c0ZvckFjdGl2aXR5KHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nLCBjb21wb25lbnQ6IHN0cmluZyApOiBQcm9taXNlPEFjdGl2aXR5V29ya2Zsb3c+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRXb3JrZmxvd1N0YXR1c0ZvckFjdGl2aXR5KHRhYmxlLCBrZXksIGNvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0QWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0QWN0aXZpdHkoYWN0aXZpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydFdvcmsoYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTxXb3JrPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0V29yayhhY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5zZXJ0UmVtYXJrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8UmVtYXJrPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0UmVtYXJrKGFjdGl2aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRUYXNrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8VGFzaz4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmluc2VydFRhc2soYWN0aXZpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLnVwZGF0ZUFjdGl2aXR5KGFjdGl2aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5kZWxldGVBY3Rpdml0eShhY3Rpdml0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja1Rhc2soaWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmxvY2tUYXNrKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5GaXJlVHJpZ2dlcihhY3Rpdml0eTpBY3Rpdml0eSwgdGFzazogVGFzayApOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZmlyZVRyaWdnZXIod29ya0Zsb3dQcm9jZXNzSWQ6IG51bWJlciwgc2VxdWVuY2U6IG51bWJlciwgdHJpZ2dlcklkOiBudW1iZXIpOiBQcm9taXNlPFZhbGlkYXRpb25SZXN1bHQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5maXJlVHJpZ2dlcih3b3JrRmxvd1Byb2Nlc3NJZCwgc2VxdWVuY2UsIHRyaWdnZXJJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZmlyZUdlbmVyaWNUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkOiBudW1iZXIsIGdlbmVyaWNUcmFuc2l0aW9uSWQ6IG51bWJlciwgcmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxWYWxpZGF0aW9uUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZmlyZUdlbmVyaWNUcmlnZ2VyKHdvcmtGbG93UHJvY2Vzc0lkLCBnZW5lcmljVHJhbnNpdGlvbklkLCByZWxhdGlvbklkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCk6IFByb21pc2U8UmVsYXRpb25MaXN0T2JqZWN0W10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRhc2tDYXRlZ29yaWVzKCk6IFByb21pc2U8VGFza0NhdGVnb3J5W10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXRUYXNrQ2F0ZWdvcmllcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFjdGl2ZVByb2Nlc3Nlc0J5VGFibGVBbmRLZXkodGFibGU6IFRhYmxlTmFtZSwga2V5OiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93UHJvY2Vzc1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0QWN0aXZlUHJvY2Vzc2VzQnlUYWJsZUFuZEtleSh0YWJsZSwga2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREb21haW5Db2xsZWN0aW9uKGxhbmd1YWdlQ29kZTogc3RyaW5nLCBkb21haW5OYW1lOiBEb21haW5OYW1lKTogUHJvbWlzZTxDb0RvbWFpblZhbHVlW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbm5lY3Rvci5nZXREb21haW5Db2xsZWN0aW9uKGxhbmd1YWdlQ29kZSwgZG9tYWluTmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0Um9sZUVtYWlsQWRkcmVzc2VzQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KHdvcmtmbG93Q2F0ZWdvcnk6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPFJvbGVFbWFpbGFkZHJlc3NbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldFJvbGVFbWFpbEFkZHJlc3Nlc0J5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSh3b3JrZmxvd0NhdGVnb3J5LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KHdvcmtmbG93Q2F0ZWdvcnk6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KHdvcmtmbG93Q2F0ZWdvcnksIGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsUmVwb3J0VGVtcGxhdGVzRm9yQnJhbmNoKGJyYW5jaE5yOiBzdHJpbmcsIHJlcG9ydFR5cGU6IFJlcG9ydFR5cGUpOiBQcm9taXNlPFJlcG9ydFtdPiB7XHJcbiAgICBsZXQgcmVwb3J0VGVtcGxhdGVzUmVxdWVzdDogU2VsZWN0UmVwb3J0VGVtcGxhdGVzUmVxdWVzdCA9IG5ldyBTZWxlY3RSZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0KCk7XHJcbiAgICByZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0LmJyYW5jaE5yID0gYnJhbmNoTnI7XHJcbiAgICByZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0LmRvY3VtZW50Q29kZSA9IHJlcG9ydFR5cGU7XHJcbiAgICByZXBvcnRUZW1wbGF0ZXNSZXF1ZXN0LnNlbmRNZXRob2QgPSBTZW5kTWV0aG9kVHlwZS5FbWFpbDtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0UmVwb3J0VGVtcGxhdGVzKHJlcG9ydFRlbXBsYXRlc1JlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVtYWlsVmlhVGVtcGxhdGUodGVtcGxhdGU6IFJlcG9ydCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1haWxUbzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWFpbEJjYzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBseTogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0OiBzdHJpbmcgPSBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBzdHJpbmcgPSBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50czogQ29FbWFpbEF0dGFjaG1lbnRbXSA9IFtdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBvYmplY3QgPSB7fSApOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHN1YmplY3RBZGRpdGlvbjogc3RyaW5nID0gc3ViamVjdC50cmltKCk7XHJcbiAgICBjb25zdCBlbWFpbEpvYjogRW1haWxKb2IgPSB0aGlzLl9jcmVhdGVFbWFpbEpvYih0ZW1wbGF0ZSwgZW1haWxUbywgZW1haWxCY2MsIHJlcGx5LCBzdWJqZWN0QWRkaXRpb24sIG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBwYXJhbWV0ZXJzKTtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5lbWFpbFJlcG9ydChlbWFpbEpvYik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVFbWFpbEpvYihyZXBvcnQ6IFJlcG9ydCwgZW1haWxUbzogc3RyaW5nLCBlbWFpbEJjYzogc3RyaW5nLCByZXBseTogc3RyaW5nLCAgc3ViamVjdDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzOiBDb0VtYWlsQXR0YWNobWVudFtdLCBwYXJhbWV0ZXJzOiBvYmplY3QgPSB7fSk6IEVtYWlsSm9iIHtcclxuICAgIGNvbnN0IGVtYWlsSm9iOiBFbWFpbEpvYiA9IG5ldyBFbWFpbEpvYigpO1xyXG4gICAgZW1haWxKb2IuZW1haWxUbyA9IGVtYWlsVG87XHJcbiAgICBlbWFpbEpvYi5lbWFpbEJjYyA9IGVtYWlsQmNjO1xyXG4gICAgZW1haWxKb2IucmVwbHkgPSByZXBseTtcclxuICAgIGVtYWlsSm9iLnN1YmplY3QgPSBzdWJqZWN0O1xyXG4gICAgZW1haWxKb2IubWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICBlbWFpbEpvYi5hdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzO1xyXG5cclxuICAgIGVtYWlsSm9iLnJlcG9ydElkID0gcmVwb3J0LnJlcG9ydElkO1xyXG4gICAgZW1haWxKb2IucGFyYW1ldGVyVmFsdWVzID0gcGFyYW1ldGVycztcclxuICAgIGVtYWlsSm9iLmxvY2FsZSA9IHRoaXMubG9jYWxlO1xyXG4gICAgcmV0dXJuIGVtYWlsSm9iO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhyZW1hcmtJZDogbnVtYmVyLCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yUmVtYXJrKHJlbWFya0lkLCBoaXN0b3J5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRFbWFpbEhpc3RvcnlGb3JXb3JrKHJlbWFya0lkOiBudW1iZXIsIGhpc3Rvcnk6IEFjdGl2aXR5RW1haWxIaXN0b3J5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yUmVtYXJrKHJlbWFya0lkLCBoaXN0b3J5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKHJlbWFya0lkOiBudW1iZXIsIGhpc3Rvcnk6IEFjdGl2aXR5RW1haWxIaXN0b3J5KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yUmVtYXJrKHJlbWFya0lkLCBoaXN0b3J5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzKHdvcmtmbG93Q2F0ZWdvcnk6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cyh3b3JrZmxvd0NhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBY3Rpdml0aWVzKHRhYmxlOiBUYWJsZU5hbWUsIGtleTogc3RyaW5nKTogUHJvbWlzZTxBY3Rpdml0eVtdPiB7XHJcbiAgICBjb25zdCBhY3Rpdml0aWVzOiBBY3Rpdml0eVtdID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0Q29tcG9uZW50QWN0aXZpdGllcyh0YWJsZSwga2V5KTtcclxuICAgIGNvbnN0IGhpc3RBY3Rpdml0aWVzOiBBY3Rpdml0eVtdID0gYXdhaXQgdGhpcy5jb25uZWN0b3IuZ2V0SGlzdG9yaWNBY3Rpdml0aWVzKHRhYmxlLCBrZXkpO1xyXG4gICAgY29uc3QgYWN0aXZlQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IFtdO1xyXG4gICAgY29uc3QgaGlzdG9yaWNBY3Rpdml0aWVzOiBBY3Rpdml0eVtdID0gW107XHJcbiAgICBpZiAoYWN0aXZpdGllcyAmJiBhY3Rpdml0aWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgYWN0aXZpdGllcy5mb3JFYWNoKChhY3Rpdml0eTogQWN0aXZpdHkpID0+IHtcclxuICAgICAgICBhY3RpdmVBY3Rpdml0aWVzLnB1c2goYWN0aXZpdHkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChoaXN0QWN0aXZpdGllcyAmJiBoaXN0QWN0aXZpdGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGhpc3RBY3Rpdml0aWVzLmZvckVhY2goKGFjdGl2aXR5OiBBY3Rpdml0eSkgPT4ge1xyXG4gICAgICAgIGhpc3RvcmljQWN0aXZpdGllcy5wdXNoKGFjdGl2aXR5KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWN0aXZlQWN0aXZpdGllcy5jb25jYXQoaGlzdG9yaWNBY3Rpdml0aWVzKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
4
|
+
import { Dictionaries } from '../res/dictionary/dictionaries';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
// The localization service, providing peers with text translation functionality.
|
|
7
|
+
export class SharedComponentsDictionaryService {
|
|
8
|
+
constructor() {
|
|
9
|
+
// private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();
|
|
10
|
+
this._dictionaryPromise = new Map();
|
|
11
|
+
this._dictionaries = new Map();
|
|
12
|
+
// Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.
|
|
13
|
+
this._placeholder = "|~";
|
|
14
|
+
}
|
|
15
|
+
get language() {
|
|
16
|
+
return this._language;
|
|
17
|
+
}
|
|
18
|
+
// Loads the dictionary for given language in memory.
|
|
19
|
+
setDictionary(language) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
this._language = language;
|
|
22
|
+
if (!this._dictionaryPromise.has(language)) {
|
|
23
|
+
const dictionaries = new Dictionaries();
|
|
24
|
+
if (dictionaries.hasOwnProperty("text_" + language.substr(0, 2).toLowerCase())) {
|
|
25
|
+
this._dictionaries.set(language, dictionaries["text_" + language.substr(0, 2).toLowerCase()]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
yield this._dictionaryPromise.get(language);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns the localized text for the given dictionary key.
|
|
33
|
+
* @param {string} key
|
|
34
|
+
* @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val
|
|
35
|
+
* @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value
|
|
36
|
+
* @returns {string} The translated text for given dictionary key
|
|
37
|
+
*/
|
|
38
|
+
get(key, upperCaseFirst = true, ...replacementTexts) {
|
|
39
|
+
if (!StringUtils.IsStringWithLength(key)) {
|
|
40
|
+
return key || "";
|
|
41
|
+
}
|
|
42
|
+
else if (!this._dictionaryLoaded(this._language)) {
|
|
43
|
+
return key;
|
|
44
|
+
}
|
|
45
|
+
let text = this._dictionaries.get(this._language)[key];
|
|
46
|
+
text = StringUtils.IsStringWithLength(text) ? text : key;
|
|
47
|
+
if (upperCaseFirst) {
|
|
48
|
+
text = text.charAt(0).toUpperCase() + text.slice(1);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
text = text.charAt(0).toLowerCase() + text.slice(1);
|
|
52
|
+
}
|
|
53
|
+
if (replacementTexts.length > 0) {
|
|
54
|
+
text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);
|
|
55
|
+
}
|
|
56
|
+
return text;
|
|
57
|
+
}
|
|
58
|
+
_dictionaryLoaded(language) {
|
|
59
|
+
return this._dictionaries.has(language);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
SharedComponentsDictionaryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedComponentsDictionaryService_Factory() { return new SharedComponentsDictionaryService(); }, token: SharedComponentsDictionaryService, providedIn: "root" });
|
|
63
|
+
SharedComponentsDictionaryService.decorators = [
|
|
64
|
+
{ type: Injectable, args: [{
|
|
65
|
+
providedIn: "root"
|
|
66
|
+
},] }
|
|
67
|
+
];
|
|
68
|
+
SharedComponentsDictionaryService.ctorParameters = () => [];
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdDQUFnQyxDQUFDOztBQUc1RCxpRkFBaUY7QUFJakYsTUFBTSxPQUFPLGlDQUFpQztJQWE1QztRQVJBLG1KQUFtSjtRQUMzSSx1QkFBa0IsR0FBMEQsSUFBSSxHQUFHLEVBQW9ELENBQUM7UUFDeEksa0JBQWEsR0FBaUQsSUFBSSxHQUFHLEVBQTJDLENBQUM7UUFHekgsaUhBQWlIO1FBQ2hHLGlCQUFZLEdBQVcsSUFBSSxDQUFDO0lBSTdDLENBQUM7SUFkRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFjRCxxREFBcUQ7SUFDeEMsYUFBYSxDQUFDLFFBQXNCOztZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxZQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3RELElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMvRjthQUNGO1lBQ0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVEOzs7Ozs7T0FNRztJQUNJLEdBQUcsQ0FBQyxHQUFXLEVBQUUsaUJBQTBCLElBQUksRUFBRSxHQUFHLGdCQUEwQjtRQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsSUFBSSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFekQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztTQUN2RjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUdPLGlCQUFpQixDQUFDLFFBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztZQWpFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnLi4vcmVzL2RpY3Rpb25hcnkvZGljdGlvbmFyaWVzJztcclxuaW1wb3J0IHtMYW5ndWFnZUNvZGV9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtJztcclxuXHJcbi8vIFRoZSBsb2NhbGl6YXRpb24gc2VydmljZSwgcHJvdmlkaW5nIHBlZXJzIHdpdGggdGV4dCB0cmFuc2xhdGlvbiBmdW5jdGlvbmFsaXR5LlxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSB7XHJcbiAgcHVibGljIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfZGljdGlvbmFyeVByb21pc2U6IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+ID0gbmV3IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+KCk7XHJcbiAgcHJpdmF0ZSBfZGljdGlvbmFyeVByb21pc2U6IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+ID0gbmV3IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+KCk7XHJcbiAgcHJpdmF0ZSBfZGljdGlvbmFyaWVzOiBNYXA8TGFuZ3VhZ2VDb2RlLCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiA9IG5ldyBNYXA8TGFuZ3VhZ2VDb2RlLCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PigpO1xyXG4gIHByaXZhdGUgX2xhbmd1YWdlOiBMYW5ndWFnZUNvZGU7XHJcblxyXG4gIC8vIFNvbWUgZGljdGlvbmFyeSB2YWx1ZXMgaGF2ZSBvbmUgb3IgbW9yZSAnfH4nIHRleHRzIGluIHRoZW0sIG1lYW50IHRvIGJlIHJlcGxhY2VkIHdpdGggY2xpZW50LXNpZGUgZ2l2ZW4gdGV4dHMuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwifH5cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAvLyBMb2FkcyB0aGUgZGljdGlvbmFyeSBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgaW4gbWVtb3J5LlxyXG4gIHB1YmxpYyBhc3luYyBzZXREaWN0aW9uYXJ5KGxhbmd1YWdlOiBMYW5ndWFnZUNvZGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcbiAgICBpZiAoIXRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmhhcyhsYW5ndWFnZSkpIHtcclxuICAgICAgY29uc3QgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMgPSBuZXcgRGljdGlvbmFyaWVzKCk7XHJcbiAgICAgIGlmIChkaWN0aW9uYXJpZXMuaGFzT3duUHJvcGVydHkoXCJ0ZXh0X1wiICsgbGFuZ3VhZ2Uuc3Vic3RyKDAsIDIpLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgdGhpcy5fZGljdGlvbmFyaWVzLnNldChsYW5ndWFnZSwgZGljdGlvbmFyaWVzW1widGV4dF9cIiArIGxhbmd1YWdlLnN1YnN0cigwLCAyKS50b0xvd2VyQ2FzZSgpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmdldChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBsb2NhbGl6ZWQgdGV4dCBmb3IgdGhlIGdpdmVuIGRpY3Rpb25hcnkga2V5LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFt1cHBlckNhc2VGaXJzdCA9IHRydWVdIEZhbHNlIGZvciBmaXJzdCBsZXR0ZXIgbG93ZXJjYXNlLCB0cnVlIGZvciBmaXJzdCBsZXR0ZXIgdXBwZXJjYXNlIGZvciByZXR1cm5lZCBkaWN0IHZhbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHJlcGxhY2VtZW50VGV4dHMgUmVzdCBwYXJhbXMgZm9yIHJlcGxhY2VtZW50IG9mICd8ficgaW4gcmV0dXJuZWQgZGljdCB2YWx1ZVxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0cmFuc2xhdGVkIHRleHQgZm9yIGdpdmVuIGRpY3Rpb25hcnkga2V5XHJcbiAgICovXHJcbiAgcHVibGljIGdldChrZXk6IHN0cmluZywgdXBwZXJDYXNlRmlyc3Q6IGJvb2xlYW4gPSB0cnVlLCAuLi5yZXBsYWNlbWVudFRleHRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIVN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aChrZXkpKSB7XHJcbiAgICAgIHJldHVybiBrZXkgfHwgXCJcIjtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuX2RpY3Rpb25hcnlMb2FkZWQodGhpcy5fbGFuZ3VhZ2UpKSB7XHJcbiAgICAgIHJldHVybiBrZXk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRleHQ6IHN0cmluZyA9IHRoaXMuX2RpY3Rpb25hcmllcy5nZXQodGhpcy5fbGFuZ3VhZ2UpW2tleV07XHJcbiAgICB0ZXh0ID0gU3RyaW5nVXRpbHMuSXNTdHJpbmdXaXRoTGVuZ3RoKHRleHQpID8gdGV4dCA6IGtleTtcclxuXHJcbiAgICBpZiAodXBwZXJDYXNlRmlyc3QpIHtcclxuICAgICAgdGV4dCA9IHRleHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0ZXh0LnNsaWNlKDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGV4dCA9IHRleHQuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyB0ZXh0LnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZXBsYWNlbWVudFRleHRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGV4dCA9IFN0cmluZ1V0aWxzLlJlcGxhY2VPY2N1cnJlbmNlc0luKHRleHQsIHRoaXMuX3BsYWNlaG9sZGVyLCAuLi5yZXBsYWNlbWVudFRleHRzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9kaWN0aW9uYXJ5TG9hZGVkKGxhbmd1YWdlOiBMYW5ndWFnZUNvZGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJpZXMuaGFzKGxhbmd1YWdlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { SharedLocalizePipe } from './shared-localize.pipe';
|
|
3
|
+
export class SharedComponentsTranslationModule {
|
|
4
|
+
}
|
|
5
|
+
SharedComponentsTranslationModule.decorators = [
|
|
6
|
+
{ type: NgModule, args: [{
|
|
7
|
+
declarations: [
|
|
8
|
+
SharedLocalizePipe
|
|
9
|
+
],
|
|
10
|
+
exports: [
|
|
11
|
+
SharedLocalizePipe
|
|
12
|
+
]
|
|
13
|
+
},] }
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbXBvbmVudHMtdHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBVTFELE1BQU0sT0FBTyxpQ0FBaUM7OztZQVI3QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtpQkFDbkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NoYXJlZExvY2FsaXplUGlwZX0gZnJvbSAnLi9zaGFyZWQtbG9jYWxpemUucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2hhcmVkTG9jYWxpemVQaXBlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTaGFyZWRMb2NhbGl6ZVBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb21wb25lbnRzVHJhbnNsYXRpb25Nb2R1bGUge31cclxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { SharedComponentsDictionaryService } from './shared-components-dictionary.service';
|
|
3
|
+
export class SharedLocalizePipe {
|
|
4
|
+
constructor(_dictionaryService) {
|
|
5
|
+
this._dictionaryService = _dictionaryService;
|
|
6
|
+
}
|
|
7
|
+
transform(value, upperCaseFirst = true, replace = []) {
|
|
8
|
+
if (!value) {
|
|
9
|
+
return "";
|
|
10
|
+
}
|
|
11
|
+
replace = (replace !== undefined && replace !== null) ? replace : [];
|
|
12
|
+
if (!Array.isArray(replace)) {
|
|
13
|
+
replace = [replace];
|
|
14
|
+
}
|
|
15
|
+
return this._dictionaryService.get(value, upperCaseFirst, ...replace);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
SharedLocalizePipe.decorators = [
|
|
19
|
+
{ type: Pipe, args: [{
|
|
20
|
+
name: "sharedLocalize"
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
SharedLocalizePipe.ctorParameters = () => [
|
|
24
|
+
{ type: SharedComponentsDictionaryService }
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxvY2FsaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdHJhbnNsYXRpb24vc2hhcmVkLWxvY2FsaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFLekYsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUFvQixrQkFBcUQ7UUFBckQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQztJQUFHLENBQUM7SUFFN0UsU0FBUyxDQUFDLEtBQWEsRUFBRSxpQkFBMEIsSUFBSSxFQUFFLFVBQTJCLEVBQUU7UUFDcEYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7UUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OztZQWhCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2Qjs7O1lBSk8saUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiBcInNoYXJlZExvY2FsaXplXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlZExvY2FsaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlKSB7fVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgdXBwZXJDYXNlRmlyc3Q6IGJvb2xlYW4gPSB0cnVlLCByZXBsYWNlOiBzdHJpbmd8c3RyaW5nW10gPSBbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgcmVwbGFjZSA9IChyZXBsYWNlICE9PSB1bmRlZmluZWQgJiYgcmVwbGFjZSAhPT0gbnVsbCkgPyByZXBsYWNlIDogW107XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVwbGFjZSkpIHtcclxuICAgICAgcmVwbGFjZSA9IFtyZXBsYWNlXTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQodmFsdWUsIHVwcGVyQ2FzZUZpcnN0LCAuLi5yZXBsYWNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -125,4 +125,4 @@ export function StringEnumToSingleString(clazz) {
|
|
|
125
125
|
str = StringUtils.RemoveLastChars(str, 2);
|
|
126
126
|
return str;
|
|
127
127
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9lbnVtLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNsQixvRkFBb0Y7SUFDN0UsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQVU7UUFDdEMsTUFBTSxPQUFPLEdBQVUsRUFBRSxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBVTtRQUM3QyxPQUFPLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGVBQW9CO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUss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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM1QixXQUFXLEVBQUUsQ0FBQzthQUNqQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUVKO0FBRUQsbUdBQW1HO0FBQ25HLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFVO0lBQy9DLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUVyQixNQUFNLElBQUksR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDN0QsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDaEM7SUFFRCxHQUFHLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUMsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIHJlbGF0ZWQgdG8gZW51bXMuXHJcbmltcG9ydCB7S2V5VmFsdWVQYWlyfSBmcm9tIFwiLi4vaW50ZXJmYWNlL2tleS12YWx1ZS1wYWlyXCI7XHJcbmltcG9ydCB7Q29Eb21haW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ib1wiO1xyXG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiLi9udW1iZXItdXRpbHNcIjtcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4vc3RyaW5nLXV0aWxzXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgRW51bVV0aWxzIHtcclxuICAgIC8vIFJldHVybnMgYSBuZXcgYXJyYXkgd2l0aCBhbGwgc3RyaW5nIHZhbHVlcyAobm90IGtleXMpIG9mIGdpdmVuIHN0cmluZyBlbnVtIGNsYXNzLlxyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdFbnVtVG9BcnJheShjbGF6ejogYW55KTogc3RyaW5nW10ge1xyXG4gICAgICAgIGNvbnN0IGFzQXJyYXk6IGFueVtdID0gW107XHJcblxyXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY2xhenopO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0ga2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBhc0FycmF5LnB1c2goY2xhenpba2V5c1tpXV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFzQXJyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgc2luZ2xlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBnaXZlbiBzdHJpbmcgZW51bSBjbGFzc1xyXG4gICAgICogQHBhcmFtIGNsYXp6XHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBlZyBcImlucHV0LWxvdi1zbGlkZW91dCwgZmluYW5jaWFsLWN1c3RvbWVyLWdyb3VwLXNlbGVjdFwiIGZvciBhIGdpdmVuIGNsYXp6IG9mIElucHV0TG92U2xpZGVvdXRDb21wb25lbnRTZWxlY3RvcnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdFbnVtVG9TaW5nbGVTdHJpbmcoY2xheno6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZ0VudW1Ub1NpbmdsZVN0cmluZyhjbGF6eik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR2V0IHRoZSBudW1iZXIgdmFsdWVzIGZyb20gYW4gZW51bVxyXG4gICAgcHVibGljIHN0YXRpYyBHZXROdW1iZXJFbnVtVmFsdWVzKG51bWJlckVudW1DbGFzczogYW55KTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkdldE9ialZhbHVlcyhudW1iZXJFbnVtQ2xhc3MpLmZpbHRlcih2YWx1ZSA9PiBOdW1iZXJVdGlscy5Jc051bWJlcih2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCB0aGUgdGhlIHByb3BlcnR5IG9iamVjdCB2YWx1ZSBuYW1lcyBpbiBzdHJpbmcgZm9ybWF0IGZyb20gdGhlIGVudW1cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0U3RyaW5nRW51bVZhbHVlcyhzdHJpbmdFbnVtQ2xhc3M6IGFueSk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5HZXRPYmpWYWx1ZXMoc3RyaW5nRW51bUNsYXNzKS5maWx0ZXIodmFsdWUgPT4gU3RyaW5nVXRpbHMuSXNTdHJpbmcodmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldE9ialZhbHVlcyhudW1iZXJFbnVtQ2xhc3M6IGFueSk6IChudW1iZXIgfCBzdHJpbmcpW10ge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhudW1iZXJFbnVtQ2xhc3MpLm1hcChrZXkgPT4gbnVtYmVyRW51bUNsYXNzW2tleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgZW51bSBpbiBvYmplY3QgZm9ybWF0IHRvIG1ha2UgaGFuZGxpbmcgZWFzaWVyXHJcbiAgICAgKiBXb3JrcyBmb3IgRW51bXMgd2l0aCB0aGUgZm9sbG93aW5nIGZvcm1hdDpcclxuICAgICAqIGZvbzogMVxyXG4gICAgICogYmFyOiAyXHJcbiAgICAgKiBldGMuLi5cclxuICAgICAqIEBwYXJhbSBlbnVtQ2xhc3NcclxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlT2JqZWN0RnJvbUVudW0oZW51bUNsYXNzOiBhbnkpOiBLZXlWYWx1ZVBhaXJbXSB7XHJcbiAgICAgICAvLyBjb25zdCBvYmplY3RpZmllZEVudW06IHsgcmVmTnVtYmVyOiBudW1iZXI7IG5hbWU6IHN0cmluZyB9W10gPSBbXTtcclxuICAgICAgICBjb25zdCBvYmplY3RpZmllZEVudW06IEtleVZhbHVlUGFpcltdID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgZW51bUl0ZW0gaW4gZW51bUNsYXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZW51bUNsYXNzW2VudW1JdGVtXSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0aWZpZWRFbnVtLnB1c2goe2tleTogPG51bWJlcj5lbnVtQ2xhc3NbZW51bUl0ZW1dLCB2YWx1ZTogZW51bUl0ZW19KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9iamVjdGlmaWVkRW51bTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFN0cmluZ0VudW1LZXlzQXJyYXkoZW51bVR5cGU6IG9iamVjdCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBjb25zdCBtZW1iZXJzID0gT2JqZWN0LmtleXMoZW51bVR5cGUpO1xyXG4gICAgICAgIGlmICghRW51bVV0aWxzLmlzTnVtZXJhbChlbnVtVHlwZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1lbWJlcnM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIG1lbWJlcnMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHgsIDEwKTtcclxuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGtleXMucHVzaCh4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBrZXlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgIGJ1aWxkUHJvbWlzZURvbWFpblZhbHVlTGlzdEZyb21FbnVtQ2xhc3MoZW51bUNsYXNzOiBhbnksIGRpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLCBrZXlzQXNEZXNjcmlwdGlvbjogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxDb0RvbWFpblZhbHVlW10+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShFbnVtVXRpbHMuYnVpbGREb21haW5WYWx1ZUxpc3RGcm9tRW51bUNsYXNzKGVudW1DbGFzcywgZGljdGlvbmFyeSwga2V5c0FzRGVzY3JpcHRpb24pKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkRG9tYWluVmFsdWVMaXN0RnJvbUVudW1DbGFzcyhlbnVtQ2xhc3M6IGFueSwgZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsIGtleXNBc0Rlc2NyaXB0aW9uOiBib29sZWFuID0gZmFsc2UpOiBDb0RvbWFpblZhbHVlW10ge1xyXG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IENvRG9tYWluVmFsdWVbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoa2V5c0FzRGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgZW51bUtleXM6IHN0cmluZ1tdID0gRW51bVV0aWxzLmdldFN0cmluZ0VudW1LZXlzQXJyYXkoZW51bUNsYXNzKTtcclxuICAgICAgICAgICAgZW51bUtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRvbWFpbk9iamVjdEZvckxvdjogQ29Eb21haW5WYWx1ZSA9IG5ldyBDb0RvbWFpblZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICBkb21haW5PYmplY3RGb3JMb3YuY29kZSA9IGVudW1DbGFzc1trZXldO1xyXG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LmRlc2NyaXB0aW9uID0gZGljdGlvbmFyeS5nZXQoa2V5KTtcclxuICAgICAgICAgICAgICAgIGRvbWFpbk9iamVjdEZvckxvdi5zZXF1ZW5jZSA9IGluZGV4O1xyXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi5wdXNoKGRvbWFpbk9iamVjdEZvckxvdik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIEVudW1VdGlscy5TdHJpbmdFbnVtVG9BcnJheShlbnVtQ2xhc3MpLmZvckVhY2goKHN0ckVudW1WYWw6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG9tYWluT2JqZWN0Rm9yTG92OiBDb0RvbWFpblZhbHVlID0gbmV3IENvRG9tYWluVmFsdWUoKTtcclxuICAgICAgICAgICAgICAgIGRvbWFpbk9iamVjdEZvckxvdi5jb2RlID0gc3RyRW51bVZhbDtcclxuICAgICAgICAgICAgICAgIGRvbWFpbk9iamVjdEZvckxvdi5kZXNjcmlwdGlvbiA9IGRpY3Rpb25hcnkuZ2V0KHN0ckVudW1WYWwpO1xyXG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LnNlcXVlbmNlID0gaW5kZXg7XHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2goZG9tYWluT2JqZWN0Rm9yTG92KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEtleUJ5VmFsdWUoZW51bVR5cGU6IG9iamVjdCwgZW51bVZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhlbnVtVHlwZSlbT2JqZWN0LnZhbHVlcyhlbnVtVHlwZSkuaW5kZXhPZihlbnVtVmFsdWUpXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bWVyYWwoZW51bVR5cGU6IG9iamVjdCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG1lbWJlcnMgPSBPYmplY3Qua2V5cyhlbnVtVHlwZSk7XHJcbiAgICAgICAgaWYgKCFtZW1iZXJzLnNvbWUoKHgpID0+IHRydWUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGVudW1lcmF0aW9uIHR5cGUuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcGFyc2VkQ291bnQgPSAwO1xyXG4gICAgICAgIG1lbWJlcnMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHgsIDEwKTtcclxuICAgICAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocGFyc2VkVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJzZWRDb3VudCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlZENvdW50ID09PSBtZW1iZXJzLmxlbmd0aCAvIDI7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBPdXRzaWRlIHRoZSBjbGFzcyBiZWNhdXNlIGl0J3MgdXNlZCB0byBnZW5lcmF0ZSBjb21wb25lbnQgc2VsZWN0b3JzLCBhbmQgYW90IGNhbid0IGNhbGwgc3RhdGljcy5cclxuZXhwb3J0IGZ1bmN0aW9uIFN0cmluZ0VudW1Ub1NpbmdsZVN0cmluZyhjbGF6ejogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCBzdHI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjbGF6eik7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGtleXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBzdHIgKz0gY2xhenpba2V5c1tpXV0gKyBcIiwgXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RyID0gU3RyaW5nVXRpbHMuUmVtb3ZlTGFzdENoYXJzKHN0ciwgMik7XHJcbiAgICByZXR1cm4gc3RyO1xyXG59XHJcbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9lbnVtLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNsQixvRkFBb0Y7SUFDN0UsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQVU7UUFDdEMsTUFBTSxPQUFPLEdBQVUsRUFBRSxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBVTtRQUM3QyxPQUFPLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGVBQW9CO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUss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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM1QixXQUFXLEVBQUUsQ0FBQzthQUNqQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUVKO0FBRUQsbUdBQW1HO0FBQ25HLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFVO0lBQy9DLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUVyQixNQUFNLElBQUksR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDN0QsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDaEM7SUFFRCxHQUFHLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUMsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIHJlbGF0ZWQgdG8gZW51bXMuXHJcbmltcG9ydCB7S2V5VmFsdWVQYWlyfSBmcm9tIFwiLi4vaW50ZXJmYWNlL2tleS12YWx1ZS1wYWlyXCI7XHJcbmltcG9ydCB7Q29Eb21haW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ib1wiO1xyXG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiLi9udW1iZXItdXRpbHNcIjtcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4vc3RyaW5nLXV0aWxzXCI7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgRW51bVV0aWxzIHtcclxuICAgIC8vIFJldHVybnMgYSBuZXcgYXJyYXkgd2l0aCBhbGwgc3RyaW5nIHZhbHVlcyAobm90IGtleXMpIG9mIGdpdmVuIHN0cmluZyBlbnVtIGNsYXNzLlxyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdFbnVtVG9BcnJheShjbGF6ejogYW55KTogc3RyaW5nW10ge1xyXG4gICAgICAgIGNvbnN0IGFzQXJyYXk6IGFueVtdID0gW107XHJcblxyXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY2xhenopO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0ga2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBhc0FycmF5LnB1c2goY2xhenpba2V5c1tpXV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFzQXJyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgc2luZ2xlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBnaXZlbiBzdHJpbmcgZW51bSBjbGFzc1xyXG4gICAgICogQHBhcmFtIGNsYXp6XHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBlZyBcImlucHV0LWxvdi1zbGlkZW91dCwgZmluYW5jaWFsLWN1c3RvbWVyLWdyb3VwLXNlbGVjdFwiIGZvciBhIGdpdmVuIGNsYXp6IG9mIElucHV0TG92U2xpZGVvdXRDb21wb25lbnRTZWxlY3RvcnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdFbnVtVG9TaW5nbGVTdHJpbmcoY2xheno6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZ0VudW1Ub1NpbmdsZVN0cmluZyhjbGF6eik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR2V0IHRoZSBudW1iZXIgdmFsdWVzIGZyb20gYW4gZW51bVxyXG4gICAgcHVibGljIHN0YXRpYyBHZXROdW1iZXJFbnVtVmFsdWVzKG51bWJlckVudW1DbGFzczogYW55KTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkdldE9ialZhbHVlcyhudW1iZXJFbnVtQ2xhc3MpLmZpbHRlcih2YWx1ZSA9PiBOdW1iZXJVdGlscy5Jc051bWJlcih2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCB0aGUgdGhlIHByb3BlcnR5IG9iamVjdCB2YWx1ZSBuYW1lcyBpbiBzdHJpbmcgZm9ybWF0IGZyb20gdGhlIGVudW1cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0U3RyaW5nRW51bVZhbHVlcyhzdHJpbmdFbnVtQ2xhc3M6IGFueSk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5HZXRPYmpWYWx1ZXMoc3RyaW5nRW51bUNsYXNzKS5maWx0ZXIodmFsdWUgPT4gU3RyaW5nVXRpbHMuSXNTdHJpbmcodmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldE9ialZhbHVlcyhudW1iZXJFbnVtQ2xhc3M6IGFueSk6IChudW1iZXIgfCBzdHJpbmcpW10ge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhudW1iZXJFbnVtQ2xhc3MpLm1hcChrZXkgPT4gbnVtYmVyRW51bUNsYXNzW2tleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgZW51bSBpbiBvYmplY3QgZm9ybWF0IHRvIG1ha2UgaGFuZGxpbmcgZWFzaWVyXHJcbiAgICAgKiBXb3JrcyBmb3IgRW51bXMgd2l0aCB0aGUgZm9sbG93aW5nIGZvcm1hdDpcclxuICAgICAqIGZvbzogMVxyXG4gICAgICogYmFyOiAyXHJcbiAgICAgKiBldGMuLi5cclxuICAgICAqIEBwYXJhbSBlbnVtQ2xhc3NcclxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlT2JqZWN0RnJvbUVudW0oZW51bUNsYXNzOiBhbnkpOiBLZXlWYWx1ZVBhaXJbXSB7XHJcbiAgICAgICAvLyBjb25zdCBvYmplY3RpZmllZEVudW06IHsgcmVmTnVtYmVyOiBudW1iZXI7IG5hbWU6IHN0cmluZyB9W10gPSBbXTtcclxuICAgICAgICBjb25zdCBvYmplY3RpZmllZEVudW06IEtleVZhbHVlUGFpcltdID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgZW51bUl0ZW0gaW4gZW51bUNsYXNzKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZW51bUNsYXNzW2VudW1JdGVtXSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0aWZpZWRFbnVtLnB1c2goe2tleTogPG51bWJlcj5lbnVtQ2xhc3NbZW51bUl0ZW1dLCB2YWx1ZTogZW51bUl0ZW19KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9iamVjdGlmaWVkRW51bTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFN0cmluZ0VudW1LZXlzQXJyYXkoZW51bVR5cGU6IG9iamVjdCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBjb25zdCBtZW1iZXJzID0gT2JqZWN0LmtleXMoZW51bVR5cGUpO1xyXG4gICAgICAgIGlmICghRW51bVV0aWxzLmlzTnVtZXJhbChlbnVtVHlwZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1lbWJlcnM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIG1lbWJlcnMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHBhcnNlSW50KHgsIDEwKTtcclxuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGtleXMucHVzaCh4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBrZXlzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgIGJ1aWxkUHJvbWlzZURvbWFpblZhbHVlTGlzdEZyb21FbnVtQ2xhc3MoZW51bUNsYXNzOiBhbnksIGRpY3Rpb25hcnk6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSwga2V5c0FzRGVzY3JpcHRpb246IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8Q29Eb21haW5WYWx1ZVtdPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoRW51bVV0aWxzLmJ1aWxkRG9tYWluVmFsdWVMaXN0RnJvbUVudW1DbGFzcyhlbnVtQ2xhc3MsIGRpY3Rpb25hcnksIGtleXNBc0Rlc2NyaXB0aW9uKSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBidWlsZERvbWFpblZhbHVlTGlzdEZyb21FbnVtQ2xhc3MoZW51bUNsYXNzOiBhbnksIGRpY3Rpb25hcnk6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSwga2V5c0FzRGVzY3JpcHRpb246IGJvb2xlYW4gPSBmYWxzZSk6IENvRG9tYWluVmFsdWVbXSB7XHJcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogQ29Eb21haW5WYWx1ZVtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChrZXlzQXNEZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICBjb25zdCBlbnVtS2V5czogc3RyaW5nW10gPSBFbnVtVXRpbHMuZ2V0U3RyaW5nRW51bUtleXNBcnJheShlbnVtQ2xhc3MpO1xyXG4gICAgICAgICAgICBlbnVtS2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG9tYWluT2JqZWN0Rm9yTG92OiBDb0RvbWFpblZhbHVlID0gbmV3IENvRG9tYWluVmFsdWUoKTtcclxuICAgICAgICAgICAgICAgIGRvbWFpbk9iamVjdEZvckxvdi5jb2RlID0gZW51bUNsYXNzW2tleV07XHJcbiAgICAgICAgICAgICAgICBkb21haW5PYmplY3RGb3JMb3YuZGVzY3JpcHRpb24gPSBkaWN0aW9uYXJ5LmdldChrZXkpO1xyXG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LnNlcXVlbmNlID0gaW5kZXg7XHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2goZG9tYWluT2JqZWN0Rm9yTG92KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgRW51bVV0aWxzLlN0cmluZ0VudW1Ub0FycmF5KGVudW1DbGFzcykuZm9yRWFjaCgoc3RyRW51bVZhbDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb21haW5PYmplY3RGb3JMb3Y6IENvRG9tYWluVmFsdWUgPSBuZXcgQ29Eb21haW5WYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LmNvZGUgPSBzdHJFbnVtVmFsO1xyXG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LmRlc2NyaXB0aW9uID0gZGljdGlvbmFyeS5nZXQoc3RyRW51bVZhbCk7XHJcbiAgICAgICAgICAgICAgICBkb21haW5PYmplY3RGb3JMb3Yuc2VxdWVuY2UgPSBpbmRleDtcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24ucHVzaChkb21haW5PYmplY3RGb3JMb3YpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0S2V5QnlWYWx1ZShlbnVtVHlwZTogb2JqZWN0LCBlbnVtVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1UeXBlKVtPYmplY3QudmFsdWVzKGVudW1UeXBlKS5pbmRleE9mKGVudW1WYWx1ZSldO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGlzTnVtZXJhbChlbnVtVHlwZTogb2JqZWN0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgbWVtYmVycyA9IE9iamVjdC5rZXlzKGVudW1UeXBlKTtcclxuICAgICAgICBpZiAoIW1lbWJlcnMuc29tZSgoeCkgPT4gdHJ1ZSkpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgZW51bWVyYXRpb24gdHlwZS5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBwYXJzZWRDb3VudCA9IDA7XHJcbiAgICAgICAgbWVtYmVycy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gcGFyc2VJbnQoeCwgMTApO1xyXG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHBhcnNlZENvdW50Kys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcGFyc2VkQ291bnQgPT09IG1lbWJlcnMubGVuZ3RoIC8gMjtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIE91dHNpZGUgdGhlIGNsYXNzIGJlY2F1c2UgaXQncyB1c2VkIHRvIGdlbmVyYXRlIGNvbXBvbmVudCBzZWxlY3RvcnMsIGFuZCBhb3QgY2FuJ3QgY2FsbCBzdGF0aWNzLlxyXG5leHBvcnQgZnVuY3Rpb24gU3RyaW5nRW51bVRvU2luZ2xlU3RyaW5nKGNsYXp6OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGNsYXp6KTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0ga2V5cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgIHN0ciArPSBjbGF6eltrZXlzW2ldXSArIFwiLCBcIjtcclxuICAgIH1cclxuXHJcbiAgICBzdHIgPSBTdHJpbmdVdGlscy5SZW1vdmVMYXN0Q2hhcnMoc3RyLCAyKTtcclxuICAgIHJldHVybiBzdHI7XHJcbn1cclxuIl19
|
package/esm2015/public-api.js
CHANGED
|
@@ -5,7 +5,6 @@ export * from './lib/components/docsign/docsign.component';
|
|
|
5
5
|
export * from './lib/components/docsign/docsign.module';
|
|
6
6
|
export * from './lib/components/stock/stock.component';
|
|
7
7
|
export * from './lib/components/stock/stock.module';
|
|
8
|
-
export * from './lib/components/stock/localization/translation';
|
|
9
8
|
export * from './lib/components/send-method-dialog/send-method-dialog.component';
|
|
10
9
|
export * from './lib/components/send-method-dialog/send-method-dialog.module';
|
|
11
10
|
export * from './lib/components/key-pad/key-pad.component';
|
|
@@ -35,7 +34,9 @@ export * from './lib/components/task-creator/task-creator.module';
|
|
|
35
34
|
export * from './lib/components/role-email-selector/role-email-selector.component';
|
|
36
35
|
export * from './lib/components/role-email-selector/role-email-selector.module';
|
|
37
36
|
export * from './lib/service/shared.service';
|
|
37
|
+
export * from './lib/translation/shared-components-translation.module';
|
|
38
|
+
export * from './lib/translation/shared-components-dictionary.service';
|
|
38
39
|
export * from './lib/enum/calendar-view.enum';
|
|
39
40
|
export * from './lib/model/agenda-event-per-day.model';
|
|
40
41
|
export * from './lib/model/agenda-event.model';
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc2hhcmVkY29tcG9uZW50c1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZG9jc2lnbi9kb2NzaWduLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZG9jc2lnbi9kb2NzaWduLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvc2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2V5LXBhZC9rZXktcGFkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2V5LXBhZC9rZXktcGFkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0LXN3aXRjaGVyL2xheW91dC1zd2l0Y2hlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC1zd2l0Y2hlci9sYXlvdXQtc3dpdGNoZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saW5lYXItZ2F1Z2UvY28tbGluZWFyLWdhdWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGluZWFyLWdhdWdlL2NvLWxpbmVhci1nYXVnZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGF0dXNiYXIvc3RhdHVzYmFyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9kYXRlLXBsYW5uaW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9kYXRlLXBsYW5uaW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2ltcGxlLXRhZ3Mvc2ltcGxlLXRhZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaW1wbGUtdGFncy9zaW1wbGUtdGFncy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpbXBsZS10YWdzLWZvcm0vc2ltcGxlLXRhZ3MtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpbXBsZS10YWdzLWZvcm0vc2ltcGxlLXRhZ3MtZm9ybS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC9hY3Rpdml0eS1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC9hY3Rpdml0eS1saXN0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy93b3JrZmxvdy1pbmZvLXRpbGVzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy93b3JrZmxvdy1pbmZvLXRpbGVzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFzay1jcmVhdG9yL3Rhc2stY3JlYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlLWVtYWlsLXNlbGVjdG9yL3JvbGUtZW1haWwtc2VsZWN0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yb2xlLWVtYWlsLXNlbGVjdG9yL3JvbGUtZW1haWwtc2VsZWN0b3IubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW0vY2FsZW5kYXItdmlldy5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvYWdlbmRhLWV2ZW50LXBlci1kYXkubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC9hZ2VuZGEtZXZlbnQubW9kZWwnO1xyXG4iXX0=
|