@colijnit/sharedcomponents 255.1.18 → 255.1.20
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 +515 -684
- 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 +9 -21
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +3 -2
- package/esm2015/lib/components/task-creator/task-creator.component.js +32 -29
- 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 +6 -6
- 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 +514 -664
- 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 +18805 -0
- package/lib/service/options.service.d.ts +2 -2
- package/lib/service/shared.service.d.ts +5 -4
- 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 +2 -2
- package/public-api.d.ts +2 -1
- 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/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
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from
|
|
3
|
-
import { Icon } from
|
|
4
|
-
import { IconCacheService } from
|
|
5
|
-
import { Activity } from
|
|
6
|
-
import { ActivityType } from
|
|
7
|
-
import { Remark } from
|
|
8
|
-
import { TableName } from
|
|
9
|
-
import { Work } from
|
|
10
|
-
import { Task } from
|
|
11
|
-
import { ArrayUtils } from
|
|
12
|
-
import { SharedService } from
|
|
13
|
-
import { ReportType } from
|
|
14
|
-
import { CoreDialogService, FormComponent, FormMasterService } from
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { Icon } from '../../enum/icon.enum';
|
|
4
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
5
|
+
import { Activity } from '@colijnit/mainapi/build/model/activity.bo';
|
|
6
|
+
import { ActivityType } from '@colijnit/mainapi/build/enum/activity-type';
|
|
7
|
+
import { Remark } from '@colijnit/mainapi/build/model/remark.bo';
|
|
8
|
+
import { TableName } from '@colijnit/mainapi/build/enum/table-name.enum';
|
|
9
|
+
import { Work } from '@colijnit/mainapi/build/model/work.bo';
|
|
10
|
+
import { Task } from '@colijnit/mainapi/build/model/task.bo';
|
|
11
|
+
import { ArrayUtils } from '../../utils/array-utils';
|
|
12
|
+
import { SharedService } from '../../service/shared.service';
|
|
13
|
+
import { ReportType } from '@colijnit/mainapi/build/enum/report-type.enum';
|
|
14
|
+
import { CoreDialogService, FormComponent, FormMasterService } from '@colijnit/corecomponents_v12';
|
|
15
|
+
import { ActivityEmailHistory } from '@colijnit/mainapi/build/model/activity-email-history.bo';
|
|
16
|
+
import { CoEmailAttachment } from '@colijnit/mainapi/build/model/co-email-attachment.bo';
|
|
17
|
+
import { FileUtils } from '@colijnit/mainapi/build/utils/file-utils';
|
|
18
|
+
import { SharedComponentsDictionaryService } from '../../translation/shared-components-dictionary.service';
|
|
17
19
|
export class TaskCreatorComponent {
|
|
18
20
|
constructor(iconService, dictionaryService, sharedService, _dialogService, _formMasterService) {
|
|
19
21
|
this.iconService = iconService;
|
|
@@ -208,7 +210,7 @@ export class TaskCreatorComponent {
|
|
|
208
210
|
}
|
|
209
211
|
startEmailing(template) {
|
|
210
212
|
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
const emailsSent = yield this.sharedService.emailViaTemplate(template, this.createEmailAddressString(this.emailAddresses), this.createEmailAddressString(this.bccEmailAddresses), this.senderAddress, this.createEmailSubject(), "",
|
|
213
|
+
const emailsSent = yield this.sharedService.emailViaTemplate(template, this.createEmailAddressString(this.emailAddresses), this.createEmailAddressString(this.bccEmailAddresses), this.senderAddress, this.createEmailSubject(), "", this.createAttachmentsArray(), this.createEmailParams());
|
|
212
214
|
if (emailsSent) {
|
|
213
215
|
let history = new ActivityEmailHistory();
|
|
214
216
|
history.emailAddresses = this.createEmailAddressString(this.emailAddresses);
|
|
@@ -251,18 +253,18 @@ export class TaskCreatorComponent {
|
|
|
251
253
|
createAttachmentsArray() {
|
|
252
254
|
let attachments = [];
|
|
253
255
|
if (this.documents.length === 0) {
|
|
254
|
-
return;
|
|
256
|
+
return attachments;
|
|
255
257
|
}
|
|
256
258
|
else {
|
|
257
259
|
this.documents.forEach(d => {
|
|
258
|
-
|
|
260
|
+
let attachment = new CoEmailAttachment();
|
|
259
261
|
attachment.filename = d.fileName;
|
|
260
262
|
if (d.fileName.split(".").length > 1) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
+
const str = d.fileName.split(".");
|
|
264
|
+
attachment.extension = str[str.length - 1];
|
|
263
265
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
+
attachment.body = FileUtils.ConvertStringToArrayBuffer(d.documentBody);
|
|
267
|
+
attachments.push(attachment);
|
|
266
268
|
});
|
|
267
269
|
return attachments;
|
|
268
270
|
}
|
|
@@ -287,6 +289,7 @@ export class TaskCreatorComponent {
|
|
|
287
289
|
this.emailAddresses = [];
|
|
288
290
|
this.bccEmailAddresses = [];
|
|
289
291
|
this.emailRequest = null;
|
|
292
|
+
this.documents = [];
|
|
290
293
|
this.createdWork = undefined;
|
|
291
294
|
this.createdRemark = undefined;
|
|
292
295
|
this.createdTask = undefined;
|
|
@@ -303,15 +306,15 @@ TaskCreatorComponent.decorators = [
|
|
|
303
306
|
<co-form #createForm class="creator-remarks input-fields">
|
|
304
307
|
<co-list-of-icons [collection]="optionCollection" (itemSelected)="itemSelected($event)"></co-list-of-icons>
|
|
305
308
|
<co-input-textarea *ngIf="chosenActivityType === optionCollection[0]" [required]="chosenActivityType === optionCollection[0]"
|
|
306
|
-
[placeholder]="'REMARK' |
|
|
309
|
+
[placeholder]="'REMARK' | sharedLocalize" [(model)]="remarkText"
|
|
307
310
|
class="large-remark"></co-input-textarea>
|
|
308
311
|
<co-input-textarea *ngIf="chosenActivityType === optionCollection[1]" [required]="chosenActivityType === optionCollection[1]"
|
|
309
|
-
[placeholder]="'DESCRIPTION' |
|
|
312
|
+
[placeholder]="'DESCRIPTION' | sharedLocalize" [(model)]="workDescription"
|
|
310
313
|
class="large-remark"></co-input-textarea>
|
|
311
314
|
<div class="task-input-fields" *ngIf="chosenActivityType === optionCollection[2]">
|
|
312
|
-
<co-input-text [(model)]="taskName" [placeholder]="'NAME' |
|
|
315
|
+
<co-input-text [(model)]="taskName" [placeholder]="'NAME' | sharedLocalize"
|
|
313
316
|
[required]="chosenActivityType === optionCollection[2]"></co-input-text>
|
|
314
|
-
<co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' |
|
|
317
|
+
<co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | sharedLocalize"
|
|
315
318
|
class="large-remark"
|
|
316
319
|
[required]="chosenActivityType === optionCollection[2]"></co-input-textarea>
|
|
317
320
|
</div>
|
|
@@ -338,7 +341,7 @@ TaskCreatorComponent.decorators = [
|
|
|
338
341
|
<ng-template #attachmentHeaderTemplate>
|
|
339
342
|
<div class="co-dialog-wrapper-popup-title">
|
|
340
343
|
<co-icon [iconData]="iconService.getIcon(icons.PaperclipRegular)"></co-icon>
|
|
341
|
-
<div class="co-dialog-header-title" [textContent]="'ATTACHMENTS' |
|
|
344
|
+
<div class="co-dialog-header-title" [textContent]="'ATTACHMENTS' | sharedLocalize"></div>
|
|
342
345
|
</div>
|
|
343
346
|
</ng-template>
|
|
344
347
|
<co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
|
|
@@ -364,7 +367,7 @@ TaskCreatorComponent.decorators = [
|
|
|
364
367
|
];
|
|
365
368
|
TaskCreatorComponent.ctorParameters = () => [
|
|
366
369
|
{ type: IconCacheService },
|
|
367
|
-
{ type:
|
|
370
|
+
{ type: SharedComponentsDictionaryService },
|
|
368
371
|
{ type: SharedService },
|
|
369
372
|
{ type: CoreDialogService },
|
|
370
373
|
{ type: FormMasterService }
|
|
@@ -380,4 +383,4 @@ TaskCreatorComponent.propDecorators = {
|
|
|
380
383
|
activityCreated: [{ type: Output }],
|
|
381
384
|
showClass: [{ type: HostBinding, args: ["class.co-task-creator",] }]
|
|
382
385
|
};
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUduRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JB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QjthQUNGOzs7WUExRk8sZ0JBQWdCO1lBa0JoQixpQkFBaUI7WUFMakIsYUFBYTtZQUdiLGlCQUFpQjtZQUFpQixpQkFBaUI7Ozt5QkE4RXhELFNBQVMsU0FBQyxhQUFhO3FCQUd2QixLQUFLO3VCQUdMLEtBQUs7b0JBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZVwiO1xyXG5pbXBvcnQge1JlbWFya30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbWFyay5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge1dvcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrLmJvXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi8uLi91dGlscy9hcnJheS11dGlsc1wiO1xyXG5pbXBvcnQge1JvbGVFbWFpbGFkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yb2xlLWVtYWlsLWFkZHJlc3NcIjtcclxuaW1wb3J0IHthY3Rpdml0eUVtYWlsUmVxdWVzdERhdGF9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1yZXF1ZXN0LWRhdGFcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1JlcG9ydFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3JlcG9ydC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQuYm9cIjtcclxuaW1wb3J0IHtDb3JlRGlhbG9nU2VydmljZSwgRm9ybUNvbXBvbmVudCwgRm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7SWNvbkxpc3RJdGVtfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMi9saWIvbW9kZWwvaWNvbi1saXN0LWl0ZW1cIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1lbWFpbC1hdHRhY2htZW50LmJvXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10YXNrLWNyZWF0b3JcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWNyZWF0b3Itd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b3Atcm93c1wiPlxyXG4gICAgICAgICAgPGNvLWVtYWlsLXNlbGVjdG9yIFsoZW1haWxBZGRyZXNzZXMpXT1cImVtYWlsQWRkcmVzc2VzXCIgWyhiY2NFbWFpbEFkZHJlc3NlcyldPVwiYmNjRW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldPVwicmVtYXJrQW5kV29ya0tleVwiIFt3b3JrZmxvd0NhdGVnb3J5VHlwZV09XCJ3b3JrZmxvd0NhdGVnb3J5VHlwZVwiPjwvY28tZW1haWwtc2VsZWN0b3I+XHJcbiAgICAgICAgICA8Y28tZm9ybSAjY3JlYXRlRm9ybSBjbGFzcz1cImNyZWF0b3ItcmVtYXJrcyBpbnB1dC1maWVsZHNcIj5cclxuICAgICAgICAgICAgPGNvLWxpc3Qtb2YtaWNvbnMgW2NvbGxlY3Rpb25dPVwib3B0aW9uQ29sbGVjdGlvblwiIChpdGVtU2VsZWN0ZWQpPVwiaXRlbVNlbGVjdGVkKCRldmVudClcIj48L2NvLWxpc3Qtb2YtaWNvbnM+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblswXVwiIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1JFTUFSSycgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cInJlbWFya1RleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsxXVwiIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYXJnZS1yZW1hcmtcIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1pbnB1dC1maWVsZHNcIiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRhc2tOYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidOQU1FJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJ0YXNrRGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleHRyYXMtYnV0dG9uc1wiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiICAoY2xpY2spPVwib3BlbkF0dGFjaG1lbnREaWFsb2coKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJkb2N1bWVudHMubGVuZ3RoID09PSAwID8gJycgOiBkb2N1bWVudHMubGVuZ3RoLnRvU3RyaW5nKClcIiA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVSZW1hcmtDbGlja2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVdvcmtDbGlja2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVRhc2tDbGlja2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93RmlsZXNEaWFsb2dcIiAoY2xvc2VDbGljayk9XCJhdHRhY2htZW50RGlhbG9nQ2FuY2VsbGVkKClcIlxyXG4gICAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50SGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50Rm9vdGVyVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNhdHRhY2htZW50SGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJjbGlwUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidBVFRBQ0hNRU5UUycgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8Y28tZmlsZXMtdXBsb2FkIChkb2N1bWVudHNBZGRlZCk9XCJhZGRlZERvY3VtZW50KCRldmVudClcIiAoZG9jdW1lbnREZWxldGVkKT1cImRlbGV0ZWREb2N1bWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcblxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNhdHRhY2htZW50Rm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhc2tDcmVhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgcHVibGljIGNyZWF0ZUZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UcmFuc2FjdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0FuZFdvcmtLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5VHlwZTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW1xyXG4gICAgeyBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5Db21tZW50UmVndWxhciksbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKSB9LFxyXG4gICAgeyBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5QZXJzb25EaWdnaW5nUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnV09SSycsIHRydWUpIH0sXHJcbiAgICB7IGljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkxpc3RVbFJlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1RBU0snLCB0cnVlKSB9LFxyXG4gIF07XHJcblxyXG4gIHB1YmxpYyBzaG93RmlsZXNEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuICBwdWJsaWMgb2xkRG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcblxyXG4gIHB1YmxpYyBzaG93RW1haWxEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VuZGVyQWRkcmVzczogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBiY2NFbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHVibGljIGVtYWlsUmVxdWVzdDogYWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGNyZWF0ZWRUYXNrOiBUYXNrO1xyXG4gIHB1YmxpYyBjcmVhdGVkUmVtYXJrOiBSZW1hcms7XHJcbiAgcHVibGljIGNyZWF0ZWRXb3JrOiBXb3JrO1xyXG4gIHB1YmxpYyBjaG9zZW5BY3Rpdml0eVR5cGU6IEljb25MaXN0SXRlbTtcclxuXHJcbiAgcHVibGljIHJlbWFya1RleHQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHdvcmtEZXNjcmlwdGlvbjogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdGFza05hbWU6IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXTtcclxuICAgIHRoaXMuc2VuZGVyQWRkcmVzcyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSgnU0VSVklDRV9PUkRFUicsIHRoaXMucmVtYXJrQW5kV29ya0tleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXRlbVNlbGVjdGVkKGl0ZW06IEljb25MaXN0SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BdHRhY2htZW50RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbGREb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cy5zbGljZSgpO1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSB0cnVlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0ZpbGVzRGlhbG9nID0gZmFsc2VcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2FuY2VsbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2N1bWVudHMgPSB0aGlzLm9sZERvY3VtZW50cy5zbGljZSgpO1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZGVkRG9jdW1lbnQoZG9jczogQ29Eb2N1bWVudFtdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLmNvbmNhdChkb2NzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVkRG9jdW1lbnQoZG9jOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnQoZG9jLCB0aGlzLmRvY3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlUmVtYXJrQ2xpY2tlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgaWYgKHRoaXMuY3JlYXRlRm9ybS5pc1ZhbGlkKCkpIHtcclxuICAgICAgbGV0IHJlbWFyazogUmVtYXJrID0gdGhpcy5jcmVhdGVSZW1hcmsoKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlJlbWFyaztcclxuICAgICAgYWN0aXZpdHkucmVtYXJrID0gcmVtYXJrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkUmVtYXJrID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydFJlbWFyayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVdvcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgd29yazogV29yayA9IHRoaXMuY3JlYXRlV29yaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuV29yaztcclxuICAgICAgYWN0aXZpdHkud29yayA9IHdvcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRXb3JrID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydFdvcmsoYWN0aXZpdHkpO1xyXG4gICAgICBpZiAodGhpcy5jcmVhdGVkV29yaykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVSZW1hcmsoKTogUmVtYXJrIHtcclxuICAgIGxldCByZW1hcms6IFJlbWFyayA9IG5ldyBSZW1hcmsoKTtcclxuICAgIHJlbWFyay5hdXRob3IgPSB0aGlzLmF1dGhvcjtcclxuICAgIHJlbWFyay5hdXRob3IuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICByZW1hcmsuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICByZW1hcmsucmVtYXJrID0gdGhpcy5yZW1hcmtUZXh0O1xyXG4gICAgcmVtYXJrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHJlbWFyay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICByZW1hcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xyXG4gICAgcmVtYXJrLnJlYWQgPSBmYWxzZTtcclxuICAgIHJlbWFyay5jdXJyZW50ID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gcmVtYXJrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVXb3JrKCk6IFdvcmsge1xyXG4gICAgbGV0IHdvcms6IFdvcmsgPSBuZXcgV29yaygpO1xyXG4gICAgd29yay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcclxuICAgIHdvcmsuZXhlY3V0aXZlLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgd29yay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHdvcmsud29ya2VkVGltZSA9IDA7XHJcbiAgICB3b3JrLndvcmtEZXNjcmlwdGlvbiA9IHRoaXMud29ya0Rlc2NyaXB0aW9uXHJcbiAgICB3b3JrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHdvcmsudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgd29yay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcblxyXG4gICAgcmV0dXJuIHdvcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRhc2soKTogVGFzayB7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgdGFzay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLnJlcG9ydGVyID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLnJlcG9ydGVyLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgdGFzay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHRhc2submFtZSA9IHRoaXMudGFza05hbWU7XHJcbiAgICB0YXNrLmRlc2NyaXB0aW9uID0gdGhpcy50YXNrRGVzY3JpcHRpb247XHJcbiAgICB0YXNrLmNyZWF0aW9uRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGFzay5kYXRlRGVmaW5hdGUgPSBmYWxzZTtcclxuICAgIHRhc2submVlZHNQbGFubmluZyA9IHRydWU7XHJcbiAgICB0YXNrLnByaW9yaXR5ID0gMDtcclxuICAgIHRhc2sud29ya2Zsb3dDYXRlZ29yeSA9IHRoaXMud29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcbiAgICB0YXNrLnJlZmVyZW5jZSA9IHRoaXMudGFza0tleTtcclxuICAgIHRhc2suZW1haWxBZGRyZXNzZXMgPSB0aGlzLmVtYWlsQWRkcmVzc2VzO1xyXG5cclxuICAgIHJldHVybiB0YXNrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVBZnRlckNyZWF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgdGhpcy5jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IHRlbXBsYXRlczogUmVwb3J0W10gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsUmVwb3J0VGVtcGxhdGVzRm9yQnJhbmNoKHRoaXMuYnJhbmNoTm8sIHRoaXMuZmluZFJlcG9ydFR5cGUoKSk7XHJcbiAgICAgIGlmICh0ZW1wbGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGU6IFJlcG9ydCA9IHRoaXMuZmluZERlZmF1bHQodGVtcGxhdGVzKTtcclxuICAgICAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKCdOT19ERUZBVUxUX0VNQUlMX1RFTVBMQVRFX0ZPUl9SRVBPUlQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmKHIuaXNEZWZhdWx0KSB7XHJcbiAgICAgICAgZGVmYXVsdFRlbXBsYXRlID0gIHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBlbWFpbHNTZW50OmJvb2xlYW4gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZW1haWxWaWFUZW1wbGF0ZSh0ZW1wbGF0ZSwgdGhpcy5jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3NlcyksIHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuYmNjRW1haWxBZGRyZXNzZXMpLFxyXG4gICAgICB0aGlzLnNlbmRlckFkZHJlc3MsIHRoaXMuY3JlYXRlRW1haWxTdWJqZWN0KCksIFwiXCIsIFtdLCB0aGlzLmNyZWF0ZUVtYWlsUGFyYW1zKCkpO1xyXG4gICAgaWYoZW1haWxzU2VudCkge1xyXG4gICAgICBsZXQgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkgPSBuZXcgQWN0aXZpdHlFbWFpbEhpc3RvcnkoKTtcclxuICAgICAgaGlzdG9yeS5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgICBoaXN0b3J5LmVtYWlsRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBoaXN0b3J5Lm1lc3NhZ2UgPSAnRW1haWwgQ29udGVudCBjcmVhdGVkIHZpYSBSZXBvcnQnO1xyXG4gICAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JSZW1hcmsodGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkLCBoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsodGhpcy5jcmVhdGVkV29yay53b3JrSWQsIGhpc3RvcnkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKHRoaXMuY3JlYXRlZFRhc2sudGFza0lkLCBoaXN0b3J5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcoYWRkcmVzc2VzOiBzdHJpbmdbXSApOiBzdHJpbmcge1xyXG4gICAgaWYgKGFkZHJlc3Nlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFkZHJlc3Nlcy5qb2luKCc7Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUVtYWlsU3ViamVjdCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN1YmplY3Q6IHN0cmluZyA9IFwiLSBcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgP3RoaXMuY3JlYXRlZFRhc2sucmVmZXJlbmNlIDogdGhpcy5jcmVhdGVkVGFzay50YXNrSWQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUF0dGFjaG1lbnRzQXJyYXkoKTogQ29FbWFpbEF0dGFjaG1lbnRbXSB7XHJcbiAgICBsZXQgYXR0YWNobWVudHM6IENvRW1haWxBdHRhY2htZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb2N1bWVudHMuZm9yRWFjaChkID0+IHtcclxuICAgICAgICAvKmxldCBhdHRhY2htZW50OiBDb0VtYWlsQXR0YWNobWVudCA9IG5ldyBDb0VtYWlsQXR0YWNobWVudCgpO1xyXG4gICAgICAgIGF0dGFjaG1lbnQuZmlsZW5hbWUgPSBkLmZpbGVOYW1lO1xyXG4gICAgICAgIGlmIChkLmZpbGVOYW1lLnNwbGl0KFwiLlwiKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICBjb25zdCBzdHI6IHN0cmluZ1tdID0gZC5maWxlTmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICBhdHRhY2htZW50LmV4dGVuc2lvbiA9IHN0cltzdHIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRleHRFbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XHJcbiAgICAgICAgYXR0YWNobWVudC5ib2R5ID0gdGV4dEVuY29kZXIuZW5jb2RlKFwiWW91ciBzdHJpbmcgaGVyZVwiKTsqL1xyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4gYXR0YWNobWVudHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUVtYWlsUGFyYW1zKCk6IG9iamVjdCB7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVkUmVtYXJrKSB7XHJcbiAgICAgIHJldHVybiB7b3BtZXJraW5nX2lkOiB0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQgKyBcIlwifTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkV29yaykge1xyXG4gICAgICByZXR1cm4ge3dlcmt6aF9pZDogdGhpcy5jcmVhdGVkV29yay53b3JrSWQgKyBcIlwifTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICByZXR1cm4ge3RhYWtfaWQ6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkICsgXCJcIn07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyRmllbGRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1hcmtUZXh0ID0gXCJcIjtcclxuICAgIHRoaXMud29ya0Rlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIHRoaXMudGFza05hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG5cclxuICAgIHRoaXMuc2VuZGVyQWRkcmVzcyA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzc2VzID0gW107XHJcbiAgICB0aGlzLmJjY0VtYWlsQWRkcmVzc2VzID0gW107XHJcbiAgICB0aGlzLmVtYWlsUmVxdWVzdCA9IG51bGw7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVkV29yayA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY3JlYXRlZFJlbWFyayA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY3JlYXRlZFRhc2sgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
386
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsaUJB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LElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQzs7O1lBcFlGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E2RFQ7Z0JBQ0gsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7YUFDRjs7O1lBMUZPLGdCQUFnQjtZQW9CaEIsaUNBQWlDO1lBUmpDLGFBQWE7WUFHYixpQkFBaUI7WUFBaUIsaUJBQWlCOzs7eUJBK0V4RCxTQUFTLFNBQUMsYUFBYTtxQkFHdkIsS0FBSzt1QkFHTCxLQUFLO29CQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO21DQUdMLEtBQUs7OEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ibyc7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGUnO1xyXG5pbXBvcnQge1JlbWFya30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVtYXJrLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvblNtYWxsT2JqZWN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1dvcmt9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmsuYm8nO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm8nO1xyXG5pbXBvcnQge1dvcmtmbG93Q2F0ZWdvcnlUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3dvcmtmbG93LWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tICcuLi8uLi91dGlscy9hcnJheS11dGlscyc7XHJcbmltcG9ydCB7YWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1yZXF1ZXN0LWRhdGEnO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcG9ydFR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vcmVwb3J0LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7UmVwb3J0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQuYm8nO1xyXG5pbXBvcnQge0NvcmVEaWFsb2dTZXJ2aWNlLCBGb3JtQ29tcG9uZW50LCBGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7SWNvbkxpc3RJdGVtfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyL2xpYi9tb2RlbC9pY29uLWxpc3QtaXRlbSc7XHJcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge0NvRW1haWxBdHRhY2htZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1lbWFpbC1hdHRhY2htZW50LmJvJztcclxuaW1wb3J0IHtGaWxlVXRpbHN9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL3V0aWxzL2ZpbGUtdXRpbHMnO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXRhc2stY3JlYXRvclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInRhc2stY3JlYXRvci13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1yb3dzXCI+XHJcbiAgICAgICAgICA8Y28tZW1haWwtc2VsZWN0b3IgWyhlbWFpbEFkZHJlc3NlcyldPVwiZW1haWxBZGRyZXNzZXNcIiBbKGJjY0VtYWlsQWRkcmVzc2VzKV09XCJiY2NFbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tleV09XCJyZW1hcmtBbmRXb3JrS2V5XCIgW3dvcmtmbG93Q2F0ZWdvcnlUeXBlXT1cIndvcmtmbG93Q2F0ZWdvcnlUeXBlXCI+PC9jby1lbWFpbC1zZWxlY3Rvcj5cclxuICAgICAgICAgIDxjby1mb3JtICNjcmVhdGVGb3JtIGNsYXNzPVwiY3JlYXRvci1yZW1hcmtzIGlucHV0LWZpZWxkc1wiPlxyXG4gICAgICAgICAgICA8Y28tbGlzdC1vZi1pY29ucyBbY29sbGVjdGlvbl09XCJvcHRpb25Db2xsZWN0aW9uXCIgKGl0ZW1TZWxlY3RlZCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPjwvY28tbGlzdC1vZi1pY29ucz5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCIgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblswXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwicmVtYXJrVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFyZ2UtcmVtYXJrXCI+PC9jby1pbnB1dC10ZXh0YXJlYT5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCIgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVTQ1JJUFRJT04nIHwgc2hhcmVkTG9jYWxpemVcIiBbKG1vZGVsKV09XCJ3b3JrRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWlucHV0LWZpZWxkc1wiICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwidGFza05hbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ05BTUUnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhIFsobW9kZWwpXT1cInRhc2tEZXNjcmlwdGlvblwiIFtwbGFjZWhvbGRlcl09XCInREVTQ1JJUFRJT04nIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFyZ2UtcmVtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+PC9jby1pbnB1dC10ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImV4dHJhcy1idXR0b25zXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyY2xpcFJlZ3VsYXIpXCIgIChjbGljayk9XCJvcGVuQXR0YWNobWVudERpYWxvZygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImRvY3VtZW50cy5sZW5ndGggPT09IDAgPyAnJyA6IGRvY3VtZW50cy5sZW5ndGgudG9TdHJpbmcoKVwiID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlV29ya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlc0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImF0dGFjaG1lbnRIZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImF0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZVwiPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRIZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctd3JhcHBlci1wb3B1cC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0FUVEFDSE1FTlRTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxjby1maWxlcy11cGxvYWQgKGRvY3VtZW50c0FkZGVkKT1cImFkZGVkRG9jdW1lbnQoJGV2ZW50KVwiIChkb2N1bWVudERlbGV0ZWQpPVwiZGVsZXRlZERvY3VtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkb2N1bWVudHNdPVwiZG9jdW1lbnRzXCIgW3VzZVdpdGhvdXRTZXR0aW5nUHJvcHNdPVwidHJ1ZVwiPjwvY28tZmlsZXMtdXBsb2FkPlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuXHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhdHRhY2htZW50RGlhbG9nQ2xvc2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXR0YWNobWVudERpYWxvZ0NhbmNlbGxlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2VcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudClcclxuICBwdWJsaWMgY3JlYXRlRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0aG9yOiBSZWxhdGlvblNtYWxsT2JqZWN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBicmFuY2hObzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWJsZTogVGFibGVOYW1lID0gVGFibGVOYW1lLlRyYW5zYWN0aW9ucztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrQW5kV29ya0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrS2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFjdGl2aXR5Q3JlYXRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10YXNrLWNyZWF0b3JcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3B0aW9uQ29sbGVjdGlvbjogSWNvbkxpc3RJdGVtW10gPSBbXHJcbiAgICB7IGljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNvbW1lbnRSZWd1bGFyKSxsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1JFTUFSSycsIHRydWUpIH0sXHJcbiAgICB7IGljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLlBlcnNvbkRpZ2dpbmdSZWd1bGFyKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdXT1JLJywgdHJ1ZSkgfSxcclxuICAgIHsgaWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuTGlzdFVsUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnVEFTSycsIHRydWUpIH0sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHNob3dGaWxlc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb2N1bWVudHM6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBvbGREb2N1bWVudHM6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuXHJcbiAgcHVibGljIHNob3dFbWFpbERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZW5kZXJBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIGJjY0VtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgZW1haWxSZXF1ZXN0OiBhY3Rpdml0eUVtYWlsUmVxdWVzdERhdGEgPSBudWxsO1xyXG5cclxuICBwdWJsaWMgY3JlYXRlZFRhc2s6IFRhc2s7XHJcbiAgcHVibGljIGNyZWF0ZWRSZW1hcms6IFJlbWFyaztcclxuICBwdWJsaWMgY3JlYXRlZFdvcms6IFdvcms7XHJcbiAgcHVibGljIGNob3NlbkFjdGl2aXR5VHlwZTogSWNvbkxpc3RJdGVtO1xyXG5cclxuICBwdWJsaWMgcmVtYXJrVGV4dDogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgd29ya0Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrTmFtZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXTtcclxuICAgIHRoaXMuc2VuZGVyQWRkcmVzcyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSgnU0VSVklDRV9PUkRFUicsIHRoaXMucmVtYXJrQW5kV29ya0tleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXRlbVNlbGVjdGVkKGl0ZW06IEljb25MaXN0SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BdHRhY2htZW50RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbGREb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cy5zbGljZSgpO1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSB0cnVlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0ZpbGVzRGlhbG9nID0gZmFsc2VcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2FuY2VsbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2N1bWVudHMgPSB0aGlzLm9sZERvY3VtZW50cy5zbGljZSgpO1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZGVkRG9jdW1lbnQoZG9jczogQ29Eb2N1bWVudFtdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLmNvbmNhdChkb2NzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVkRG9jdW1lbnQoZG9jOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnQoZG9jLCB0aGlzLmRvY3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlUmVtYXJrQ2xpY2tlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgaWYgKHRoaXMuY3JlYXRlRm9ybS5pc1ZhbGlkKCkpIHtcclxuICAgICAgbGV0IHJlbWFyazogUmVtYXJrID0gdGhpcy5jcmVhdGVSZW1hcmsoKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlJlbWFyaztcclxuICAgICAgYWN0aXZpdHkucmVtYXJrID0gcmVtYXJrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkUmVtYXJrID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydFJlbWFyayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVdvcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgd29yazogV29yayA9IHRoaXMuY3JlYXRlV29yaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuV29yaztcclxuICAgICAgYWN0aXZpdHkud29yayA9IHdvcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRXb3JrID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydFdvcmsoYWN0aXZpdHkpO1xyXG4gICAgICBpZiAodGhpcy5jcmVhdGVkV29yaykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVSZW1hcmsoKTogUmVtYXJrIHtcclxuICAgIGxldCByZW1hcms6IFJlbWFyayA9IG5ldyBSZW1hcmsoKTtcclxuICAgIHJlbWFyay5hdXRob3IgPSB0aGlzLmF1dGhvcjtcclxuICAgIHJlbWFyay5hdXRob3IuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICByZW1hcmsuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICByZW1hcmsucmVtYXJrID0gdGhpcy5yZW1hcmtUZXh0O1xyXG4gICAgcmVtYXJrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHJlbWFyay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICByZW1hcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xyXG4gICAgcmVtYXJrLnJlYWQgPSBmYWxzZTtcclxuICAgIHJlbWFyay5jdXJyZW50ID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gcmVtYXJrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVXb3JrKCk6IFdvcmsge1xyXG4gICAgbGV0IHdvcms6IFdvcmsgPSBuZXcgV29yaygpO1xyXG4gICAgd29yay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcclxuICAgIHdvcmsuZXhlY3V0aXZlLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgd29yay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHdvcmsud29ya2VkVGltZSA9IDA7XHJcbiAgICB3b3JrLndvcmtEZXNjcmlwdGlvbiA9IHRoaXMud29ya0Rlc2NyaXB0aW9uXHJcbiAgICB3b3JrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHdvcmsudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgd29yay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcblxyXG4gICAgcmV0dXJuIHdvcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRhc2soKTogVGFzayB7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgdGFzay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLnJlcG9ydGVyID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLnJlcG9ydGVyLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgdGFzay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHRhc2submFtZSA9IHRoaXMudGFza05hbWU7XHJcbiAgICB0YXNrLmRlc2NyaXB0aW9uID0gdGhpcy50YXNrRGVzY3JpcHRpb247XHJcbiAgICB0YXNrLmNyZWF0aW9uRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGFzay5kYXRlRGVmaW5hdGUgPSBmYWxzZTtcclxuICAgIHRhc2submVlZHNQbGFubmluZyA9IHRydWU7XHJcbiAgICB0YXNrLnByaW9yaXR5ID0gMDtcclxuICAgIHRhc2sud29ya2Zsb3dDYXRlZ29yeSA9IHRoaXMud29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcbiAgICB0YXNrLnJlZmVyZW5jZSA9IHRoaXMudGFza0tleTtcclxuICAgIHRhc2suZW1haWxBZGRyZXNzZXMgPSB0aGlzLmVtYWlsQWRkcmVzc2VzO1xyXG5cclxuICAgIHJldHVybiB0YXNrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVBZnRlckNyZWF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgdGhpcy5jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IHRlbXBsYXRlczogUmVwb3J0W10gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsUmVwb3J0VGVtcGxhdGVzRm9yQnJhbmNoKHRoaXMuYnJhbmNoTm8sIHRoaXMuZmluZFJlcG9ydFR5cGUoKSk7XHJcbiAgICAgIGlmICh0ZW1wbGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGU6IFJlcG9ydCA9IHRoaXMuZmluZERlZmF1bHQodGVtcGxhdGVzKTtcclxuICAgICAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKCdOT19ERUZBVUxUX0VNQUlMX1RFTVBMQVRFX0ZPUl9SRVBPUlQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmKHIuaXNEZWZhdWx0KSB7XHJcbiAgICAgICAgZGVmYXVsdFRlbXBsYXRlID0gIHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBlbWFpbHNTZW50OmJvb2xlYW4gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZW1haWxWaWFUZW1wbGF0ZSh0ZW1wbGF0ZSwgdGhpcy5jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3NlcyksIHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuYmNjRW1haWxBZGRyZXNzZXMpLFxyXG4gICAgICB0aGlzLnNlbmRlckFkZHJlc3MsIHRoaXMuY3JlYXRlRW1haWxTdWJqZWN0KCksIFwiXCIsIHRoaXMuY3JlYXRlQXR0YWNobWVudHNBcnJheSgpLCB0aGlzLmNyZWF0ZUVtYWlsUGFyYW1zKCkpO1xyXG4gICAgaWYoZW1haWxzU2VudCkge1xyXG4gICAgICBsZXQgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkgPSBuZXcgQWN0aXZpdHlFbWFpbEhpc3RvcnkoKTtcclxuICAgICAgaGlzdG9yeS5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgICBoaXN0b3J5LmVtYWlsRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBoaXN0b3J5Lm1lc3NhZ2UgPSAnRW1haWwgQ29udGVudCBjcmVhdGVkIHZpYSBSZXBvcnQnO1xyXG4gICAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JSZW1hcmsodGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkLCBoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsodGhpcy5jcmVhdGVkV29yay53b3JrSWQsIGhpc3RvcnkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKHRoaXMuY3JlYXRlZFRhc2sudGFza0lkLCBoaXN0b3J5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcoYWRkcmVzc2VzOiBzdHJpbmdbXSApOiBzdHJpbmcge1xyXG4gICAgaWYgKGFkZHJlc3Nlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFkZHJlc3Nlcy5qb2luKCc7Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUVtYWlsU3ViamVjdCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN1YmplY3Q6IHN0cmluZyA9IFwiLSBcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgP3RoaXMuY3JlYXRlZFRhc2sucmVmZXJlbmNlIDogdGhpcy5jcmVhdGVkVGFzay50YXNrSWQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUF0dGFjaG1lbnRzQXJyYXkoKTogQ29FbWFpbEF0dGFjaG1lbnRbXSB7XHJcbiAgICBsZXQgYXR0YWNobWVudHM6IENvRW1haWxBdHRhY2htZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGF0dGFjaG1lbnRzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb2N1bWVudHMuZm9yRWFjaChkID0+IHtcclxuICAgICAgICBsZXQgYXR0YWNobWVudDogQ29FbWFpbEF0dGFjaG1lbnQgPSBuZXcgQ29FbWFpbEF0dGFjaG1lbnQoKTtcclxuICAgICAgICBhdHRhY2htZW50LmZpbGVuYW1lID0gZC5maWxlTmFtZTtcclxuICAgICAgICBpZiAoZC5maWxlTmFtZS5zcGxpdChcIi5cIikubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY29uc3Qgc3RyOiBzdHJpbmdbXSA9IGQuZmlsZU5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgYXR0YWNobWVudC5leHRlbnNpb24gPSBzdHJbc3RyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhdHRhY2htZW50LmJvZHkgPSBGaWxlVXRpbHMuQ29udmVydFN0cmluZ1RvQXJyYXlCdWZmZXIoZC5kb2N1bWVudEJvZHkpO1xyXG4gICAgICAgIGF0dGFjaG1lbnRzLnB1c2goYXR0YWNobWVudCk7XHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybiBhdHRhY2htZW50cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRW1haWxQYXJhbXMoKTogb2JqZWN0IHtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgcmV0dXJuIHtvcG1lcmtpbmdfaWQ6IHRoaXMuY3JlYXRlZFJlbWFyay5yZW1hcmtJZCArIFwiXCJ9O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHJldHVybiB7d2Vya3poX2lkOiB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCArIFwiXCJ9O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRUYXNrKSB7XHJcbiAgICAgIHJldHVybiB7dGFha19pZDogdGhpcy5jcmVhdGVkVGFzay50YXNrSWQgKyBcIlwifTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJGaWVsZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbWFya1RleHQgPSBcIlwiO1xyXG4gICAgdGhpcy53b3JrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tEZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuZW1haWxSZXF1ZXN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUYXNrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { NgModule } from
|
|
2
|
-
import { TaskCreatorComponent } from
|
|
3
|
-
import { BusinessObjectFactory } from
|
|
4
|
-
import { ButtonModule, CoDialogModule, FormModule, IconModule, InputTextareaModule, InputTextModule, ListOfIconsModule, ListOfValuesModule } from
|
|
5
|
-
import { CommonModule } from
|
|
6
|
-
import { FilesUploadModule } from
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TaskCreatorComponent } from './task-creator.component';
|
|
3
|
+
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
|
|
4
|
+
import { ButtonModule, CoDialogModule, FormModule, IconModule, InputTextareaModule, InputTextModule, ListOfIconsModule, ListOfValuesModule } from '@colijnit/corecomponents_v12';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { FilesUploadModule } from '../files-upload/files-upload.module';
|
|
7
|
+
import { RoleEmailSelectorModule } from '../role-email-selector/role-email-selector.module';
|
|
8
|
+
import { EmailSelectorModule } from '../email-selector/email-selector.module';
|
|
9
|
+
import { SharedComponentsTranslationModule } from '../../translation/shared-components-translation.module';
|
|
10
10
|
export class TaskCreatorModule {
|
|
11
11
|
}
|
|
12
12
|
TaskCreatorModule.decorators = [
|
|
@@ -18,7 +18,7 @@ TaskCreatorModule.decorators = [
|
|
|
18
18
|
CommonModule,
|
|
19
19
|
CoDialogModule,
|
|
20
20
|
FilesUploadModule,
|
|
21
|
-
|
|
21
|
+
SharedComponentsTranslationModule,
|
|
22
22
|
ListOfIconsModule,
|
|
23
23
|
FormModule,
|
|
24
24
|
IconModule,
|
|
@@ -37,4 +37,4 @@ TaskCreatorModule.decorators = [
|
|
|
37
37
|
]
|
|
38
38
|
},] }
|
|
39
39
|
];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUE2QnpHLE1BQU0sT0FBTyxpQkFBaUI7OztZQTFCN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixpQ0FBaUM7b0JBQ2pDLGlCQUFpQjtvQkFDakIsVUFBVTtvQkFDVixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsbUJBQW1CO29CQUNuQixtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDWixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUYXNrQ3JlYXRvckNvbXBvbmVudH0gZnJvbSAnLi90YXNrLWNyZWF0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSxcclxuICBDb0RpYWxvZ01vZHVsZSxcclxuICBGb3JtTW9kdWxlLFxyXG4gIEljb25Nb2R1bGUsXHJcbiAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgTGlzdE9mSWNvbnNNb2R1bGUsXHJcbiAgTGlzdE9mVmFsdWVzTW9kdWxlXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkTW9kdWxlfSBmcm9tICcuLi9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLm1vZHVsZSc7XHJcbmltcG9ydCB7Um9sZUVtYWlsU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL3JvbGUtZW1haWwtc2VsZWN0b3Ivcm9sZS1lbWFpbC1zZWxlY3Rvci5tb2R1bGUnO1xyXG5pbXBvcnQge0VtYWlsU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2VtYWlsLXNlbGVjdG9yL2VtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy10cmFuc2xhdGlvbi5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGaWxlc1VwbG9hZE1vZHVsZSxcclxuICAgIFNoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgIExpc3RPZkljb25zTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBSb2xlRW1haWxTZWxlY3Rvck1vZHVsZSxcclxuICAgIEVtYWlsU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRhc2tDcmVhdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUYXNrQ3JlYXRvckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBCdXNpbmVzc09iamVjdEZhY3RvcnlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrQ3JlYXRvck1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild } from
|
|
3
|
-
import { CoreDialogService, FormComponent } from
|
|
4
|
-
import { Activity } from
|
|
5
|
-
import { InputBoolean } from
|
|
6
|
-
import { Icon } from
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
2
|
+
import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { CoreDialogService, FormComponent } from '@colijnit/corecomponents_v12';
|
|
4
|
+
import { Activity } from '@colijnit/mainapi/build/model/activity.bo';
|
|
5
|
+
import { InputBoolean } from '../../decorator/input-boolean.decorator';
|
|
6
|
+
import { Icon } from '../../enum/icon.enum';
|
|
7
|
+
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
|
|
8
|
+
import { IconCacheService } from '../../service/icon-cache.service';
|
|
9
|
+
import { AppPopupButtonType } from '../../enum/app-button-type.enum';
|
|
10
|
+
import { ModifyTaskFormComponent } from '../modify-task-form/modify-task-form.component';
|
|
11
|
+
import { SharedService } from '../../service/shared.service';
|
|
12
|
+
import { SharedComponentsDictionaryService } from '../../translation/shared-components-dictionary.service';
|
|
13
13
|
export class TaskModifierComponent {
|
|
14
14
|
constructor(_dialogService, _boFactory, _dictionary, iconService, sharedService) {
|
|
15
15
|
this._dialogService = _dialogService;
|
|
@@ -204,7 +204,7 @@ TaskModifierComponent.decorators = [
|
|
|
204
204
|
<ng-template #headerTemplate>
|
|
205
205
|
<div class="header-title-wrapper">
|
|
206
206
|
<co-icon [iconData]="iconService.getIcon(icons.ListUlRegular)"></co-icon>
|
|
207
|
-
<div class="co-dialog-header-title" [textContent]="'TASK' |
|
|
207
|
+
<div class="co-dialog-header-title" [textContent]="'TASK' | sharedLocalize"></div>
|
|
208
208
|
</div>
|
|
209
209
|
</ng-template>
|
|
210
210
|
<div class="popup-wrapper"
|
|
@@ -228,7 +228,7 @@ TaskModifierComponent.decorators = [
|
|
|
228
228
|
</div>
|
|
229
229
|
<div class="popup-buttons" fxLayout="column">
|
|
230
230
|
<div *ngIf="showNewForm" fxLayout="row" class="popup-thumb">
|
|
231
|
-
<span [textContent]="'SHOW_AFTER_INSERT' |
|
|
231
|
+
<span [textContent]="'SHOW_AFTER_INSERT' | sharedLocalize"></span>
|
|
232
232
|
<!-- <thumb [(active)]=showAfterInsert"></thumb>-->
|
|
233
233
|
</div>
|
|
234
234
|
</div>
|
|
@@ -252,7 +252,7 @@ TaskModifierComponent.decorators = [
|
|
|
252
252
|
TaskModifierComponent.ctorParameters = () => [
|
|
253
253
|
{ type: CoreDialogService },
|
|
254
254
|
{ type: BusinessObjectFactory },
|
|
255
|
-
{ type:
|
|
255
|
+
{ type: SharedComponentsDictionaryService },
|
|
256
256
|
{ type: IconCacheService },
|
|
257
257
|
{ type: SharedService }
|
|
258
258
|
];
|
|
@@ -279,4 +279,4 @@ TaskModifierComponent.propDecorators = {
|
|
|
279
279
|
__decorate([
|
|
280
280
|
InputBoolean()
|
|
281
281
|
], TaskModifierComponent.prototype, "forceReadonly", void 0);
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZmllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsYUFBYSxFQUNkLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFJcEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBb0UzRCxNQUFNLE9BQU8scUJBQXFCO0lBb0g5QixZQUNZLGNBQWlDLEVBQ2pDLFVBQWlDLEVBQ3hCLFdBQThCLEVBQ3hDLFdBQTZCLEVBQzFCLGFBQTRCO1FBSjlCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxD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QU07d0JBR04sV0FBVyxTQUFDLHdCQUF3Qjs7QUExQnJDO0lBREMsWUFBWSxFQUFFOzREQUNlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gIERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlLFxyXG4gIEZvcm1Db21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XHJcbmltcG9ydCB7T3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1hY3Rpdml0eVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSBcIi4uLy4uL2VudW0vYXBwLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtNb2RpZnlUYXNrRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL21vZGlmeS10YXNrLWZvcm0vbW9kaWZ5LXRhc2stZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGFzay1tb2RpZmllclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZGlhbG9nICAqbmdJZj1cInNob3dGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJvblBvcHVwQ2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFzay1wb3B1cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY3NzSWQ9XCJ0YXNrX21vZGlmaWVyX3BvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbjwhLS1cclxuICAgICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJdPVwic3ViSGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJMaW5rXT1cInN1YkhlYWRlckxpbmtcIlxyXG4gICAgICAgICAgW3N1YlN1YkhlYWRlcl09XCJzdWJTdWJIZWFkZXJcIlxyXG4gICAgICAgICAgW2hlYWRlckljb25dPVwiaWNvbnMuVGFza1wiXHJcbiAgICAgICAgICAob3BlbkxpbmspPVwib3BlblJlZmVyZW5jZUluTW9kdWxlKClcIi0tPlxyXG4gICAgICA8IS0tICAgICAgPG5nLXRlbXBsYXRlPi0tPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuTGlzdFVsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1RBU0snIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIoc2hvd05ld0Zvcm0pID8gJ25ldy10YXNrLXBvcHVwJyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tZm9ybSAjbWFpbkZvcm0gKHZhbGlkU3VibWl0KT1cIm9uVmFsaWQoKVwiPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmV3LXRhc2stZm9ybSAqbmdJZj1cInNob3dOZXdGb3JtXCIgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiIFtteUNmZ05hbWVzXT1cInRhc2tDZmdOYW1lc1wiIFt0YXNrS2V5XT1cInJlZmVyZW5jZUlkXCIgW3Rhc2tXb3JrZmxvd0NhdGVnb3J5XT1cIndvcmtmbG93Q2F0ZWdvcnlcIj48L25ldy10YXNrLWZvcm0+XHJcbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLW1vZGlmeS10YXNrLWZvcm0gI21vZGlmeVRhc2tGb3JtICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BvcHVwQ29udGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXNDaGFuZ2UpPVwiZG9IYW5kbGVTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1dvcmtMb2cuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJ1cGRhdGVFZGl0QWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLW1vZGlmeS10YXNrLWZvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWJ1dHRvbnNcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TmV3Rm9ybVwiIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwb3B1cC10aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1NIT1dfQUZURVJfSU5TRVJUJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICA8IS0tICAgICAgICAgPHRodW1iIFsoYWN0aXZlKV09c2hvd0FmdGVySW5zZXJ0XCI+PC90aHVtYj4tLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtkaXNhYmxlZF09XCJyZWFkb25seSB8fCB0YXNrRWRpdHRpbmdcIiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTYXZlRm9ybSgpXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDYW5jZWxGb3JtKClcIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm0gJiYgIXJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoYmluKVwiIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHkgfHwgdGFza0VkaXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVUYXNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgIDwhLS0gPC9uZy10ZW1wbGF0ZT4tLT5cclxuICAgICAgICA8L2NvLWRpYWxvZz5cclxuICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrTW9kaWZpZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxyXG4gICAgcHVibGljIG1haW5Gb3JtOiBGb3JtQ29tcG9uZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudCkpXHJcbiAgICBwdWJsaWMgbW9kaWZ5VGFza0Zvcm06IE1vZGlmeVRhc2tGb3JtQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy9yZXR1cm4gdGhpcy5tb2R1bGVTZXJ2aWNlLnJlYWRvbmx5ICYmXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbi8qICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGFza0NmZ05hbWVzOiBBY3Rpdml0aWVzVGFza0NvbmZpZ05hbWVzOyovXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5OiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZmVyZW5jZTogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVmZXJlbmNlSWQ6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHVzZXJHcm91cElkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWxhdGlvbklkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjcmVhdGVUYXNrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRpbmdDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZpdHlTYXZlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZpdHlEZWxldGVkOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBjbG9zZWRXaXRob3V0Q29tcGxldGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzaG93V29ya0xvZzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRhc2tDcmVhdGVkOiBFdmVudEVtaXR0ZXI8VGFzaz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2s+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFza01vZGlmaWVkOiBFdmVudEVtaXR0ZXI8VGFzaz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2s+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlckZpcmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1tb2RpZmllclwiKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzaG93Rm9ybSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG93TmV3Rm9ybSB8fCB0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtKSA/IFwiVEFTS1wiIDogXCJBRERfVEFTSzJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YkhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRBY3Rpdml0eSA/IHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sudGFza0lkICsgXCJcIiA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzdWJTdWJIZWFkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZpdHk/LnRhc2s/Lmxhc3RNb2RpZmllZEJ5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5Py50YXNrPy5sYXN0TW9kaWZpZWREYXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoJ0xBU1RfQ0hBTkdFJyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3RNb2RpZmllZEJ5OiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrPy5sYXN0TW9kaWZpZWREaXNwbGF5TmFtZTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdE1vZGlmaWVkRGF0ZTogc3RyaW5nID0gdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzaz8ubGFzdE1vZGlmaWVkRGF0ZS50b0xvY2FsZVN0cmluZygpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsICsgJzogJyArIGxhc3RNb2RpZmllZEJ5ICsgJyB8ICcgKyBsYXN0TW9kaWZpZWREYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YkhlYWRlckxpbmsoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93TW9kaWZpY2F0aW9uRm9ybSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkgJiYgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay5yZWZlcmVuY2UpIHtcclxuICAgICAgICAgICAgICAgIGxldCBhY3Rpdml0eU5hbWU6IHN0cmluZztcclxuICAgICAgICAgICAgICAgIGFjdGl2aXR5TmFtZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiV09SS0ZMT1dfQ0FURUdPUllfXCIgKyB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkpICsgXCIgXCIgKyB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLnJlZmVyZW5jZSArIFwiKVwiO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXR5TmFtZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHVzZXJJc1Rhc2tSZXBvcnRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0QWN0aXZpdHkgJiZcclxuICAgICAgICAgICAgKCh0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyVXNlckdyb3VwSWQgJiYgdGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlclVzZXJHcm91cElkID09PSB0aGlzLnVzZXJHcm91cElkKSB8fFxyXG4gICAgICAgICAgICAgICAgKHRoaXMuZWRpdEFjdGl2aXR5LnRhc2sucmVwb3J0ZXIgJiYgdGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlci5yZWxhdGlvbklkID09PSB0aGlzLnJlbGF0aW9uSWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd0FmdGVySW5zZXJ0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd05ld0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93TW9kaWZpY2F0aW9uRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGN1cnJlbnRBY3Rpdml0eTogQWN0aXZpdHk7XHJcbiAgICBwdWJsaWMgZWRpdEFjdGl2aXR5OiBBY3Rpdml0eTtcclxuXHJcbiAgICBwdWJsaWMgdGFza0VkaXR0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnksXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlU2F2ZUZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tYWluRm9ybS5zdWJtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25WYWxpZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0QWN0aXZpdHkpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3QWN0aXZpdHk6IGJvb2xlYW4gPSB0aGlzLmVkaXRBY3Rpdml0eS5pc05ldztcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLnVwZGF0ZUFjdGl2aXR5KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eVNhdmVkLm5leHQodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0aW5nQ29tcGxldGUubmV4dCh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgICAgICBpZiAobmV3QWN0aXZpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tDcmVhdGVkLm5leHQodGhpcy5lZGl0QWN0aXZpdHkudGFzaylcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrTW9kaWZpZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eS50YXNrKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3dBZnRlckluc2VydCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRNb2RpZnlpbmdUYXNrKHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVDYW5jZWxGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNsb25lKCk7XHJcbiAgICAgICAgLy9UT0RPOiBpcyB0aGlzIG5lZWRlZD9cclxuICAgICAgICAvL3RoaXMubW9kdWxlU2VydmljZS5jYW5jZWxFZGl0KCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZWRXaXRob3V0Q29tcGxldGUubmV4dCh0cnVlKTtcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Qb3B1cENsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9yY2VSZWFkb25seSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VkV2l0aG91dENvbXBsZXRlLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9UT0RPIGZpZ3VyZSBvdXQgcm91dGluZyBmcm9tIGV4dGVybmFsIGNvbXBvbmVudFxyXG4gICAgLypwdWJsaWMgb3BlblJlZmVyZW5jZUluTW9kdWxlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkgPT09IFdvcmtmbG93Q2F0ZWdvcnlUeXBlLkFic2VuY2VGaWxlIHx8IHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSA9PT0gV29ya2Zsb3dDYXRlZ29yeVR5cGUuUHJldmVudGl2ZUFic2VuY2VGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBOYXZpZ2F0b3IubmF2aWdhdGVUb0lPbmVNb2R1bGUoSU9uZU1vZHVsZU5hbWUuQWJzZW5jZUZpbGUsIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sucmVmZXJlbmNlSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0qL1xyXG5cclxuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd05ld0Zvcm0gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRlbGV0ZVRhc2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgZG9EZWxldGU6IERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlID0gYXdhaXQgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93WWVzTm8oXCJERUxFVEVfVEFTS1wiLFwiREVMRVRFX1RBU0tcIixmYWxzZSk7XHJcbiAgICAgICAgaWYgKGRvRGVsZXRlLmJ1dHRvbiA9PT0gQXBwUG9wdXBCdXR0b25UeXBlLlllcykge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZGVsZXRlQWN0aXZpdHkodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2aXR5RGVsZXRlZC5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVOZXdUYXNrKHN0YW5kYWxvbmU6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zaG93QWZ0ZXJJbnNlcnQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eSA9IGF3YWl0IHRoaXMuY3JlYXRlVGFza09wZXJhdGlvbih7c3RhbmRhbG9uZTogc3RhbmRhbG9uZSwgd29ya2Zsb3dDYXRlZ29yeTogdGhpcy53b3JrZmxvd0NhdGVnb3J5LCByZWZlcmVuY2U6IHRoaXMucmVmZXJlbmNlLCByZWZlcmVuY2VJZDogdGhpcy5yZWZlcmVuY2VJZH0pO1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNsb25lKCk7XHJcbiAgICAgICAgdGhpcy5zaG93TmV3Rm9ybSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0TW9kaWZ5aW5nVGFzayhhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5zaG93Rm9ybSB8fCAhYWN0aXZpdHkuSXNUYXNrKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd0FmdGVySW5zZXJ0ID0gZmFsc2U7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmxvY2tUYXNrKGFjdGl2aXR5LnRhc2sudGFza0lkKTtcclxuICAgICAgICBhY3Rpdml0eS50YXNrID0gYWN0aXZpdHkudGFzaztcclxuICAgICAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eSA9IGFjdGl2aXR5O1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNsb25lKCk7XHJcbiAgICAgICAgdGhpcy5zaG93TW9kaWZpY2F0aW9uRm9ybSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0TW9kaWZ5aW5nVGFza0FuZFdvcmtMb2coYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydE1vZGlmeWluZ1Rhc2soYWN0aXZpdHkpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAvKmlmICh0aGlzLm1vZGlmeVRhc2tGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGlmeVRhc2tGb3JtLmhhbmRsZVJlZ2lzdGVyV29yaygpO1xyXG4gICAgICAgICAgICB9Ki9cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgX2NyZWF0ZUNsb25lKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEFjdGl2aXR5ID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWN0aXZpdHksIHRoaXMuY3VycmVudEFjdGl2aXR5KWFzIEFjdGl2aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkb0hhbmRsZVN0YXR1c0NoYW5nZShlZGl0dGluZzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFza0VkaXR0aW5nID0gZWRpdHRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZUVkaXRBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRBY3Rpdml0eSA9IHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFjdGl2aXR5LCBhY3Rpdml0eSkgYXMgQWN0aXZpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVRyaWdnZXJGaXJlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyaWdnZXJGaXJlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBJY29uID0gSWNvbjtcclxufVxyXG4iXX0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZmllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBQyxpQkFBaUIsRUFBMkIsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFHcEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBb0V6RyxNQUFNLE9BQU8scUJBQXFCO0lBb0g5QixZQUNZLGNBQWlDLEVBQ2pDLFVBQWlDLEVBQ3hCLFdBQThDLEVBQ3hELFdBQTZCLEVBQzFCLGFBQTRCO1FBSjlCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxD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QUFNO3dCQUdOLFdBQVcsU0FBQyx3QkFBd0I7O0FBMUJyQztJQURDLFlBQVksRUFBRTs0REFDZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZURpYWxvZ1NlcnZpY2UsIERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlLCBGb3JtQ29tcG9uZW50fSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm8nO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSAnLi4vLi4vZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yJztcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS93b3JrZmxvdy1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YXNrLmJvJztcclxuaW1wb3J0IHtPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5fSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLWFjdGl2aXR5JztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7QXBwUG9wdXBCdXR0b25UeXBlfSBmcm9tICcuLi8uLi9lbnVtL2FwcC1idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtNb2RpZnlUYXNrRm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGFzay1tb2RpZmllclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZGlhbG9nICAqbmdJZj1cInNob3dGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJvblBvcHVwQ2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFzay1wb3B1cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY3NzSWQ9XCJ0YXNrX21vZGlmaWVyX3BvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbjwhLS1cclxuICAgICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJdPVwic3ViSGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJMaW5rXT1cInN1YkhlYWRlckxpbmtcIlxyXG4gICAgICAgICAgW3N1YlN1YkhlYWRlcl09XCJzdWJTdWJIZWFkZXJcIlxyXG4gICAgICAgICAgW2hlYWRlckljb25dPVwiaWNvbnMuVGFza1wiXHJcbiAgICAgICAgICAob3BlbkxpbmspPVwib3BlblJlZmVyZW5jZUluTW9kdWxlKClcIi0tPlxyXG4gICAgICA8IS0tICAgICAgPG5nLXRlbXBsYXRlPi0tPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuTGlzdFVsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1RBU0snIHwgc2hhcmVkTG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIoc2hvd05ld0Zvcm0pID8gJ25ldy10YXNrLXBvcHVwJyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tZm9ybSAjbWFpbkZvcm0gKHZhbGlkU3VibWl0KT1cIm9uVmFsaWQoKVwiPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmV3LXRhc2stZm9ybSAqbmdJZj1cInNob3dOZXdGb3JtXCIgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiIFtteUNmZ05hbWVzXT1cInRhc2tDZmdOYW1lc1wiIFt0YXNrS2V5XT1cInJlZmVyZW5jZUlkXCIgW3Rhc2tXb3JrZmxvd0NhdGVnb3J5XT1cIndvcmtmbG93Q2F0ZWdvcnlcIj48L25ldy10YXNrLWZvcm0+XHJcbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLW1vZGlmeS10YXNrLWZvcm0gI21vZGlmeVRhc2tGb3JtICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BvcHVwQ29udGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXNDaGFuZ2UpPVwiZG9IYW5kbGVTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1dvcmtMb2cuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJ1cGRhdGVFZGl0QWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLW1vZGlmeS10YXNrLWZvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWJ1dHRvbnNcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TmV3Rm9ybVwiIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJwb3B1cC10aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1NIT1dfQUZURVJfSU5TRVJUJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICA8IS0tICAgICAgICAgPHRodW1iIFsoYWN0aXZlKV09c2hvd0FmdGVySW5zZXJ0XCI+PC90aHVtYj4tLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtkaXNhYmxlZF09XCJyZWFkb25seSB8fCB0YXNrRWRpdHRpbmdcIiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTYXZlRm9ybSgpXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDYW5jZWxGb3JtKClcIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm0gJiYgIXJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoYmluKVwiIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHkgfHwgdGFza0VkaXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVUYXNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgIDwhLS0gPC9uZy10ZW1wbGF0ZT4tLT5cclxuICAgICAgICA8L2NvLWRpYWxvZz5cclxuICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrTW9kaWZpZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxyXG4gICAgcHVibGljIG1haW5Gb3JtOiBGb3JtQ29tcG9uZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudCkpXHJcbiAgICBwdWJsaWMgbW9kaWZ5VGFza0Zvcm06IE1vZGlmeVRhc2tGb3JtQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy9yZXR1cm4gdGhpcy5tb2R1bGVTZXJ2aWNlLnJlYWRvbmx5ICYmXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbi8qICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGFza0NmZ05hbWVzOiBBY3Rpdml0aWVzVGFza0NvbmZpZ05hbWVzOyovXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5OiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZmVyZW5jZTogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVmZXJlbmNlSWQ6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHVzZXJHcm91cElkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWxhdGlvbklkOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjcmVhdGVUYXNrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRpbmdDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZpdHlTYXZlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZpdHlEZWxldGVkOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBjbG9zZWRXaXRob3V0Q29tcGxldGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzaG93V29ya0xvZzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRhc2tDcmVhdGVkOiBFdmVudEVtaXR0ZXI8VGFzaz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2s+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFza01vZGlmaWVkOiBFdmVudEVtaXR0ZXI8VGFzaz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2s+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlckZpcmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1tb2RpZmllclwiKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzaG93Rm9ybSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG93TmV3Rm9ybSB8fCB0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtKSA/IFwiVEFTS1wiIDogXCJBRERfVEFTSzJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YkhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRBY3Rpdml0eSA/IHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sudGFza0lkICsgXCJcIiA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzdWJTdWJIZWFkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZpdHk/LnRhc2s/Lmxhc3RNb2RpZmllZEJ5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5Py50YXNrPy5sYXN0TW9kaWZpZWREYXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoJ0xBU1RfQ0hBTkdFJyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3RNb2RpZmllZEJ5OiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrPy5sYXN0TW9kaWZpZWREaXNwbGF5TmFtZTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdE1vZGlmaWVkRGF0ZTogc3RyaW5nID0gdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzaz8ubGFzdE1vZGlmaWVkRGF0ZS50b0xvY2FsZVN0cmluZygpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsICsgJzogJyArIGxhc3RNb2RpZmllZEJ5ICsgJyB8ICcgKyBsYXN0TW9kaWZpZWREYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YkhlYWRlckxpbmsoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93TW9kaWZpY2F0aW9uRm9ybSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkgJiYgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay5yZWZlcmVuY2UpIHtcclxuICAgICAgICAgICAgICAgIGxldCBhY3Rpdml0eU5hbWU6IHN0cmluZztcclxuICAgICAgICAgICAgICAgIGFjdGl2aXR5TmFtZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiV09SS0ZMT1dfQ0FURUdPUllfXCIgKyB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkpICsgXCIgXCIgKyB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLnJlZmVyZW5jZSArIFwiKVwiO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXR5TmFtZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHVzZXJJc1Rhc2tSZXBvcnRlcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0QWN0aXZpdHkgJiZcclxuICAgICAgICAgICAgKCh0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyVXNlckdyb3VwSWQgJiYgdGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlclVzZXJHcm91cElkID09PSB0aGlzLnVzZXJHcm91cElkKSB8fFxyXG4gICAgICAgICAgICAgICAgKHRoaXMuZWRpdEFjdGl2aXR5LnRhc2sucmVwb3J0ZXIgJiYgdGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlci5yZWxhdGlvbklkID09PSB0aGlzLnJlbGF0aW9uSWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd0FmdGVySW5zZXJ0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2hvd05ld0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93TW9kaWZpY2F0aW9uRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGN1cnJlbnRBY3Rpdml0eTogQWN0aXZpdHk7XHJcbiAgICBwdWJsaWMgZWRpdEFjdGl2aXR5OiBBY3Rpdml0eTtcclxuXHJcbiAgICBwdWJsaWMgdGFza0VkaXR0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnksXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZGljdGlvbmFyeTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNhdmVGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWFpbkZvcm0uc3VibWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9uVmFsaWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdEFjdGl2aXR5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0FjdGl2aXR5OiBib29sZWFuID0gdGhpcy5lZGl0QWN0aXZpdHkuaXNOZXc7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS51cGRhdGVBY3Rpdml0eSh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlTYXZlZC5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdGluZ0NvbXBsZXRlLm5leHQodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5ld0FjdGl2aXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrQ3JlYXRlZC5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5LnRhc2spXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFza01vZGlmaWVkLm5leHQodGhpcy5lZGl0QWN0aXZpdHkudGFzayk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zaG93QWZ0ZXJJbnNlcnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TW9kaWZ5aW5nVGFzayh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2FuY2VsRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVDbG9uZSgpO1xyXG4gICAgICAgIC8vVE9ETzogaXMgdGhpcyBuZWVkZWQ/XHJcbiAgICAgICAgLy90aGlzLm1vZHVsZVNlcnZpY2UuY2FuY2VsRWRpdCgpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VkV2l0aG91dENvbXBsZXRlLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUG9wdXBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZvcmNlUmVhZG9ubHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB0aGlzLmNsb3NlZFdpdGhvdXRDb21wbGV0ZS5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVE9ETyBmaWd1cmUgb3V0IHJvdXRpbmcgZnJvbSBleHRlcm5hbCBjb21wb25lbnRcclxuICAgIC8qcHVibGljIG9wZW5SZWZlcmVuY2VJbk1vZHVsZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZpdHkgJiYgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzaykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay53b3JrZmxvd0NhdGVnb3J5ID09PSBXb3JrZmxvd0NhdGVnb3J5VHlwZS5BYnNlbmNlRmlsZSB8fCB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLndvcmtmbG93Q2F0ZWdvcnkgPT09IFdvcmtmbG93Q2F0ZWdvcnlUeXBlLlByZXZlbnRpdmVBYnNlbmNlRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYXBwTmF2aWdhdG9yLm5hdmlnYXRlVG9JT25lTW9kdWxlKElPbmVNb2R1bGVOYW1lLkFic2VuY2VGaWxlLCB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLnJlZmVyZW5jZUlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9Ki9cclxuXHJcbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dOZXdGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93TW9kaWZpY2F0aW9uRm9ybSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkZWxldGVUYXNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGRvRGVsZXRlOiBEaWFsb2dSZXNwb25zZUludGVyZmFjZSA9IGF3YWl0IHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd1llc05vKFwiREVMRVRFX1RBU0tcIixcIkRFTEVURV9UQVNLXCIsZmFsc2UpO1xyXG4gICAgICAgIGlmIChkb0RlbGV0ZS5idXR0b24gPT09IEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXMpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmRlbGV0ZUFjdGl2aXR5KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgdGhpcy5hY3Rpdml0eURlbGV0ZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlTmV3VGFzayhzdGFuZGFsb25lOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd0FmdGVySW5zZXJ0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZpdHkgPSBhd2FpdCB0aGlzLmNyZWF0ZVRhc2tPcGVyYXRpb24oe3N0YW5kYWxvbmU6IHN0YW5kYWxvbmUsIHdvcmtmbG93Q2F0ZWdvcnk6IHRoaXMud29ya2Zsb3dDYXRlZ29yeSwgcmVmZXJlbmNlOiB0aGlzLnJlZmVyZW5jZSwgcmVmZXJlbmNlSWQ6IHRoaXMucmVmZXJlbmNlSWR9KTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVDbG9uZSgpO1xyXG4gICAgICAgIHRoaXMuc2hvd05ld0Zvcm0gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzdGFydE1vZGlmeWluZ1Rhc2soYWN0aXZpdHk6IEFjdGl2aXR5KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0Zvcm0gfHwgIWFjdGl2aXR5LklzVGFzaykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dBZnRlckluc2VydCA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5sb2NrVGFzayhhY3Rpdml0eS50YXNrLnRhc2tJZCk7XHJcbiAgICAgICAgYWN0aXZpdHkudGFzayA9IGFjdGl2aXR5LnRhc2s7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZpdHkgPSBhY3Rpdml0eTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVDbG9uZSgpO1xyXG4gICAgICAgIHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm0gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzdGFydE1vZGlmeWluZ1Rhc2tBbmRXb3JrTG9nKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc3RhcnRNb2RpZnlpbmdUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLyppZiAodGhpcy5tb2RpZnlUYXNrRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RpZnlUYXNrRm9ybS5oYW5kbGVSZWdpc3RlcldvcmsoKTtcclxuICAgICAgICAgICAgfSovXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIF9jcmVhdGVDbG9uZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRBY3Rpdml0eSA9IHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFjdGl2aXR5LCB0aGlzLmN1cnJlbnRBY3Rpdml0eSlhcyBBY3Rpdml0eTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZG9IYW5kbGVTdGF0dXNDaGFuZ2UoZWRpdHRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRhc2tFZGl0dGluZyA9IGVkaXR0aW5nO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVFZGl0QWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0QWN0aXZpdHkgPSB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBY3Rpdml0eSwgYWN0aXZpdHkpIGFzIEFjdGl2aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVUcmlnZ2VyRmlyZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyRmlyZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgSWNvbiA9IEljb247XHJcbn1cclxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { NgModule } from
|
|
2
|
-
import { TaskModifierComponent } from
|
|
3
|
-
import { ButtonModule, CoDialogModule, FormModule, IconModule } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TaskModifierComponent } from './task-modifier.component';
|
|
3
|
+
import { ButtonModule, CoDialogModule, FormModule, IconModule } from '@colijnit/corecomponents_v12';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { ModifyTaskFormModule } from '../modify-task-form/modify-task-form.module';
|
|
6
|
+
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
|
|
7
|
+
import { SharedComponentsTranslationModule } from '../../translation/shared-components-translation.module';
|
|
8
8
|
export class TaskModifyerModule {
|
|
9
9
|
}
|
|
10
10
|
TaskModifyerModule.decorators = [
|
|
@@ -12,7 +12,7 @@ TaskModifyerModule.decorators = [
|
|
|
12
12
|
imports: [
|
|
13
13
|
FormModule,
|
|
14
14
|
CoDialogModule,
|
|
15
|
-
|
|
15
|
+
SharedComponentsTranslationModule,
|
|
16
16
|
CommonModule,
|
|
17
17
|
ButtonModule,
|
|
18
18
|
ModifyTaskFormModule,
|
|
@@ -29,4 +29,4 @@ TaskModifyerModule.decorators = [
|
|
|
29
29
|
]
|
|
30
30
|
},] }
|
|
31
31
|
];
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZnllci5tb2R1bGUuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tb2RpZnllci90YXNrLW1vZGlmeWVyLm1vZHVsZS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBdUJ6RyxNQUFNLE9BQU8sa0JBQWtCOzs7WUFwQjlCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsVUFBVTtvQkFDVixjQUFjO29CQUNkLGlDQUFpQztvQkFDakMsWUFBWTtvQkFDWixZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsVUFBVTtpQkFDYjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QscUJBQXFCO2lCQUN0QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFza01vZGlmaWVyQ29tcG9uZW50fSBmcm9tICcuL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLCBGb3JtTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TW9kaWZ5VGFza0Zvcm1Nb2R1bGV9IGZyb20gJy4uL21vZGlmeS10YXNrLWZvcm0vbW9kaWZ5LXRhc2stZm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy10cmFuc2xhdGlvbi5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgRm9ybU1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBTaGFyZWRDb21wb25lbnRzVHJhbnNsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNb2RpZnlUYXNrRm9ybU1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVGFza01vZGlmaWVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUYXNrTW9kaWZpZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQnVzaW5lc3NPYmplY3RGYWN0b3J5XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza01vZGlmeWVyTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
|