vcomply-workflow-engine 6.0.3 → 6.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +1 -1
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +10 -10
- package/esm2022/lib/report-a-case/constants/report-case.constants.mjs +5 -5
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +2 -2
- package/fesm2022/vcomply-workflow-engine.mjs +16 -16
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/report-a-case/components/due-date/due-date.component.d.ts +5 -3
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -13,8 +13,10 @@ import * as i9 from "../assignee/assignee.component";
|
|
|
13
13
|
export class DueDateComponent {
|
|
14
14
|
set initialSelection(value) {
|
|
15
15
|
this.dueDate = value?.resolution_deadline?.due_date;
|
|
16
|
-
this.
|
|
17
|
-
|
|
16
|
+
if (this.mode === 'EDIT') {
|
|
17
|
+
this.emailReminder = value?.resolution_deadline?.assignee_remind_before;
|
|
18
|
+
this.escalationEmail = value?.resolution_deadline?.owner_remind_before;
|
|
19
|
+
}
|
|
18
20
|
}
|
|
19
21
|
constructor(commonDateService, frequencyService) {
|
|
20
22
|
this.commonDateService = commonDateService;
|
|
@@ -52,12 +54,10 @@ export class DueDateComponent {
|
|
|
52
54
|
this.animation = false;
|
|
53
55
|
}, 300);
|
|
54
56
|
this.setAssigneeList();
|
|
55
|
-
|
|
56
|
-
this.initializeEditMode();
|
|
57
|
-
}
|
|
57
|
+
this.initializeEditMode();
|
|
58
58
|
}
|
|
59
59
|
initializeEditMode() {
|
|
60
|
-
if (!this.payload?.caseToWorkflow?.resolution_deadline)
|
|
60
|
+
if (!this.payload?.caseToWorkflow?.resolution_deadline?.due_date)
|
|
61
61
|
return;
|
|
62
62
|
const deadline = this.payload.caseToWorkflow.resolution_deadline;
|
|
63
63
|
this.initializeDeadlineValues(deadline);
|
|
@@ -282,7 +282,7 @@ export class DueDateComponent {
|
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
284
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DueDateComponent, deps: [{ token: i1.CommonService }, { token: i2.FrequencyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
285
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DueDateComponent, selector: "app-due-date", inputs: { payload: "payload", dueDate: "dueDate", workflowDetails: "workflowDetails", userList: "userList", groupList: "groupList", initialSelection: "initialSelection", mode: "mode" }, outputs: { closeDueDateResolution: "closeDueDateResolution", closeDueDateEvent: "closeDueDateEvent" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "animation", first: true, predicate: ["datePicker"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"configure-resolution\">\n <div\n class=\"configure-resolution-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Resolution Deadline & Stage Details\n </div>\n </div>\n <div class=\"configure-resolution-body\">\n <div class=\"configure-resolution-body-inner\">\n <app-loader-inline *ngIf=\"false\"></app-loader-inline>\n <app-no-data\n *ngIf=\"false\"\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n\n <ng-container>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n SPECIFY THE DEADLINE TO CLOSE THIS CASE\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <div class=\"case-calendar vx-mb-3\">\n <div class=\"case-calendar-inner vx-d-flex vx-align-center\">\n <input\n type=\"text\"\n readonly\n placeholder=\"{{\n dueDateTexts.case_details.due_date.deadline_placeholder\n }}\"\n (click)=\"openDatePicker()\"\n [value]=\"dueDate | date : 'dd MMM yyyy'\"\n id=\"effective-date\"\n />\n <i class=\"icons\"></i>\n <dp-date-picker\n #datePicker\n (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\n [config]=\"dateConfig\"\n [(ngModel)]=\"dueDate\"\n >\n </dp-date-picker>\n <div\n class=\"vx-overlay\"\n (click)=\"closeDatePicker($event)\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div *ngIf=\"showError\" class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\">\n {{ dueDateTexts.errorMessage.dueDate }}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-1\">\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-tt-uppercase\"\n >\n CONFIGURE DEADLINE & ASSIGNEE FOR EACH STAGE IN THE WORKFLOW\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <!-- <div class=\"toggle-area vx-d-flex vx-align-center\">\n <app-cs-switch>Allow Reopening of Previous Stage</app-cs-switch>\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-2\"\n [appTooltip]=\"\n 'If enabled, this option allows the assignee to revisit and reopen a previously completed stage. The stage will be reset, and the assigned user will need to complete it again.'\n \"\n placement=\"bottom-right\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div> -->\n </div>\n <div class=\"configure-resolution-table\">\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n >\n STAGE NAME\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n >\n TRANSITION STATUS\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.transition_status\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n >\n ASSIGNEE\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.assignee\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center deadline\"\n >\n DEADLINE\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.deadline\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n *ngFor=\"\n let data of workflowDetails?.stages_assignees;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no vx-fs-13 vx-d-flex vx-align-center vx-justify-center\"\n [appTooltip]=\"i + 1\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ i + 1 }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n >\n <div\n class=\"value vx-fs-13 vx-pr-2\"\n [appTooltip]=\"data?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ data?.name }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n >\n <div class=\"value vx-fs-12\">\n {{ data?.status_transition?.fromName }}<br /><span\n class=\"vx-mr-1\"\n >To</span\n >{{ data?.status_transition?.toName }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n (click)=\"activateSelector(true, i)\"\n >\n <div\n *ngIf=\"!assigneeData[i]?.length\"\n class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3\"\n >\n <div class=\"value vx-fs-13\">Select a User</div>\n <i class=\"icons arrow vx-fs-12\"></i>\n </div>\n <div\n *ngIf=\"assigneeData[i]?.length > 0\"\n class=\"after-select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-2\"\n >\n <div\n class=\"value-chip vx-fs-11 vx-pl-2 vx-pr-2 vx-lh-6\"\n [appTooltip]=\"assigneeData[i][0]?.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ assigneeData[i][0]?.member_name }}\n </div>\n <button\n (click)=\"activateSelector(true, i)\"\n class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-fs-12 vx-txt-blue vx-mr-1\"></i\n >EDIT\n </button>\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-2 vx-d-flex vx-align-center deadline\"\n >\n <div\n class=\"case-calendar vx-d-flex vx-justify-between vx-pt-3 vx-pb-3\"\n >\n <div\n class=\"case-calendar-inner vx-d-flex vx-align-center\"\n [class.disabled]=\"true\"\n >\n <input\n type=\"text\"\n readonly\n value=\"{{ dueDate | date : 'dd MMM yyyy' }}\"\n (click)=\"openDatePicker()\"\n id=\"effective-date\"\n />\n <i class=\"icons\"></i>\n <dp-date-picker\n #datePicker\n (onSelect)=\"\n datePickerOverlay = false; closeDatePicker($event)\n \"\n [config]=\"dateConfig\"\n >\n </dp-date-picker>\n <div\n class=\"vx-overlay\"\n (click)=\"closeDatePicker($event)\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"showAssigneeError\"\n class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\"\n >\n {{ dueDateTexts.errorMessage.stageAssignee }}\n </div>\n </div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n EMAIL REMINDER CONFIGURATION\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <div class=\"divider vx-mb-2\"></div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n REMINDER EMAIL\n </div>\n <div\n class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n >\n <div class=\"vx-fs-13 vx-mr-1\">\n Send regular email reminders to the assignee\n </div>\n <input\n type=\"number\"\n [(ngModel)]=\"emailReminder\"\n onkeydown=\"return event.key !== '.'\"\n oninput=\"this.value = Math.abs(this.value)\"\n (change)=\"onInputChange()\"\n />\n <div class=\"vx-fs-13 vx-ml-1\">\n <span class=\"black-text\">days</span> before the stage deadline.\n </div>\n </div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n ESCALATION EMAIL\n </div>\n <div\n class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n >\n <div class=\"vx-fs-13 vx-mr-1\">\n Send email escalation to the Case Owner\n </div>\n <input\n type=\"number\"\n [(ngModel)]=\"escalationEmail\"\n onkeydown=\"return event.key !== '.'\"\n oninput=\"this.value = Math.abs(this.value)\"\n (change)=\"onInputChange()\"\n />\n <div class=\"vx-fs-13 vx-ml-1\">\n <span class=\"black-text\">days</span> before the overall case\n deadline, if the case is still open.\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n (closeList)=\"closeDueDate()\"\n (closeEvent)=\"saveCaseResolutionDeadline()\"\n ></app-floating-bar>\n </div>\n</div>\n<app-assignee\n *ngIf=\"assigneeClicked\"\n [payload]=\"payload\"\n [assigneeList]=\"assigneeList\"\n [activeAssignee]=\"activeAssignee\"\n (selectedAssigneeEvent)=\"selectedAssignee($event)\"\n (closeEvent)=\"activateSelector(false)\"\n></app-assignee>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-resolution{background:#fff;position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .configure-resolution:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .configure-resolution.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .configure-resolution-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .configure-resolution-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .configure-resolution-body-inner{height:calc(100% - 3rem);padding:0 2rem 1rem 0;width:calc(100% + 2rem);overflow-y:auto;scrollbar-width:thin}::ng-deep .configure-resolution-body-inner .divider{background:#e3e3e9;width:100%;height:1px}::ng-deep .configure-resolution-body .label-top .required{color:#c7381b}::ng-deep .configure-resolution-body .errorMsg{color:#a82a1d}::ng-deep .configure-resolution-body .toggle-area{cursor:pointer}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch{order:1;width:24px!important;min-width:24px!important;height:16px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-box{background:#cdced6!important;border:1px solid #cdced6!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-ball{height:12px!important;width:12px!important;border:none!important;left:2px!important;top:2px!important;bottom:2px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box{background:#34aa44!important;border-color:#34aa44!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box .switch-ball{left:10px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .value{order:2;color:#000!important;cursor:pointer;font-size:11px!important;margin-left:.5rem;width:unset!important}::ng-deep .configure-resolution-body .toggle-area i.info{cursor:pointer}::ng-deep .configure-resolution-body .case-calendar{background:#fff;border-radius:.25rem}::ng-deep .configure-resolution-body .case-calendar-inner{position:relative;width:100%}::ng-deep .configure-resolution-body .case-calendar-inner input{background:transparent;border-radius:.25rem;border:1px solid #cdced6;color:#747576;font-size:13px;font-weight:400;height:2.5rem;line-height:2.5rem;padding:0 .75rem 0 2rem;outline:none;width:100%;transition:all .2s ease-in-out}::ng-deep .configure-resolution-body .case-calendar-inner input::placeholder{color:#a9aab6}::ng-deep .configure-resolution-body .case-calendar-inner input:hover,::ng-deep .configure-resolution-body .case-calendar-inner input:focus{border-color:#1e5dd3}::ng-deep .configure-resolution-body .case-calendar-inner i{display:flex;justify-content:center;align-items:center;height:.75rem;width:.75rem;position:absolute;left:.75rem;top:.75rem;color:#747576;font-size:12px;pointer-events:none}::ng-deep .configure-resolution-body .case-calendar-inner.disabled{background:#f2f2f5;pointer-events:none;opacity:1}::ng-deep .configure-resolution-body .case-calendar-inner.disabled input,::ng-deep .configure-resolution-body .case-calendar-inner.disabled i{color:#a9aab6}::ng-deep .configure-resolution-body .email-configure-box{border-radius:.25rem;border:1px solid #dbdbdb;color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box input{-moz-appearance:textfield;border-radius:.25rem;border:1px solid #dbdbdb;color:#343952;display:inline-block;font-size:13px;text-align:center;width:2.25rem;height:1.75rem;padding:.125rem;outline:none}::ng-deep .configure-resolution-body .email-configure-box input::-webkit-inner-spin-button,::ng-deep .configure-resolution-body .email-configure-box input::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .configure-resolution-body .email-configure-box input::placeholder{color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box .black-text{color:#000}::ng-deep .configure-resolution-table{margin-bottom:.75rem}::ng-deep .configure-resolution-table .table-header{background:#fff;border-radius:.25rem .25rem 0 0;border:1px solid #f2f2f5;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-header .table-column{color:#787a8c!important;line-height:.75rem!important;min-height:2rem!important}::ng-deep .configure-resolution-table .table-body{border-radius:0 0 .25rem .25rem;border:1px solid #f2f2f5;border-top:none}::ng-deep .configure-resolution-table .table-row{display:flex;justify-content:space-between;position:relative;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-row:last-of-type .table-column,::ng-deep .configure-resolution-table .table-row:only-child .table-column{border-bottom:none}::ng-deep .configure-resolution-table .table-row .table-column{border-bottom:1px solid #f2f2f5;color:#000;min-height:3.25rem;position:relative;width:100%}::ng-deep .configure-resolution-table .table-row .table-column i.info{cursor:pointer}::ng-deep .configure-resolution-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .configure-resolution-table .table-row .table-column.serial .sr-no{width:1rem;height:3.25rem}::ng-deep .configure-resolution-table .table-row .table-column.stage-name{width:calc(100% - 37rem);min-width:calc(100% - 37rem)}::ng-deep .configure-resolution-table .table-row .table-column.stage-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.status{width:10rem;min-width:10rem}::ng-deep .configure-resolution-table .table-row .table-column.status .value span{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee{width:15rem;min-width:15rem}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box{border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .value{color:#a9aab6}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .arrow{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box{background:#f9f9fa;border-radius:.25rem;border:1px solid #cdced6;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box .value-chip{background:#fff;border-radius:.125rem;border:1px solid #f4f8ff;box-shadow:0 0 2px #1e5dd326;color:#000;height:1.5rem;max-width:9.5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box button.edit-btn{background:transparent;border-radius:0;border:none}::ng-deep .configure-resolution-table .table-row .table-column.deadline{width:10rem;min-width:10rem}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i6.DatePickerComponent, selector: "dp-date-picker", inputs: ["config", "mode", "placeholder", "disabled", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i9.AssigneeComponent, selector: "app-assignee", inputs: ["assigneeList", "activeAssignee", "payload"], outputs: ["closeEvent", "selectedAssigneeEvent"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
|
|
285
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DueDateComponent, selector: "app-due-date", inputs: { payload: "payload", dueDate: "dueDate", workflowDetails: "workflowDetails", userList: "userList", groupList: "groupList", mode: "mode", initialSelection: "initialSelection" }, outputs: { closeDueDateResolution: "closeDueDateResolution", closeDueDateEvent: "closeDueDateEvent" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "animation", first: true, predicate: ["datePicker"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"configure-resolution\">\n <div\n class=\"configure-resolution-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Resolution Deadline & Stage Details\n </div>\n </div>\n <div class=\"configure-resolution-body\">\n <div class=\"configure-resolution-body-inner\">\n <app-loader-inline *ngIf=\"false\"></app-loader-inline>\n <app-no-data\n *ngIf=\"false\"\n [noDataImage]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\n \"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n\n <ng-container>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n SPECIFY THE DEADLINE TO CLOSE THIS CASE\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <div class=\"case-calendar vx-mb-3\">\n <div class=\"case-calendar-inner vx-d-flex vx-align-center\">\n <input\n type=\"text\"\n readonly\n placeholder=\"{{\n dueDateTexts.case_details.due_date.deadline_placeholder\n }}\"\n (click)=\"openDatePicker()\"\n [value]=\"dueDate | date : 'dd MMM yyyy'\"\n id=\"effective-date\"\n />\n <i class=\"icons\"></i>\n <dp-date-picker\n #datePicker\n (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\n [config]=\"dateConfig\"\n [(ngModel)]=\"dueDate\"\n >\n </dp-date-picker>\n <div\n class=\"vx-overlay\"\n (click)=\"closeDatePicker($event)\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div *ngIf=\"showError\" class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\">\n {{ dueDateTexts.errorMessage.dueDate }}\n </div>\n </div>\n <div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-1\">\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-tt-uppercase\"\n >\n CONFIGURE DEADLINE & ASSIGNEE FOR EACH STAGE IN THE WORKFLOW\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <!-- <div class=\"toggle-area vx-d-flex vx-align-center\">\n <app-cs-switch>Allow Reopening of Previous Stage</app-cs-switch>\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-2\"\n [appTooltip]=\"\n 'If enabled, this option allows the assignee to revisit and reopen a previously completed stage. The stage will be reset, and the assigned user will need to complete it again.'\n \"\n placement=\"bottom-right\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div> -->\n </div>\n <div class=\"configure-resolution-table\">\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n >\n STAGE NAME\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n >\n TRANSITION STATUS\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.transition_status\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n >\n ASSIGNEE\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.assignee\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center deadline\"\n >\n DEADLINE\n <i\n class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n [appTooltip]=\"helperText.deadline\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"white\"\n [tooltipMandatory]=\"true\"\n ></i\n >\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n *ngFor=\"\n let data of workflowDetails?.stages_assignees;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no vx-fs-13 vx-d-flex vx-align-center vx-justify-center\"\n [appTooltip]=\"i + 1\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ i + 1 }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n >\n <div\n class=\"value vx-fs-13 vx-pr-2\"\n [appTooltip]=\"data?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ data?.name }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n >\n <div class=\"value vx-fs-12\">\n {{ data?.status_transition?.fromName }}<br /><span\n class=\"vx-mr-1\"\n >To</span\n >{{ data?.status_transition?.toName }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n (click)=\"activateSelector(true, i)\"\n >\n <div\n *ngIf=\"!assigneeData[i]?.length\"\n class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3\"\n >\n <div class=\"value vx-fs-13\">Select a User</div>\n <i class=\"icons arrow vx-fs-12\"></i>\n </div>\n <div\n *ngIf=\"assigneeData[i]?.length > 0\"\n class=\"after-select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-2\"\n >\n <div\n class=\"value-chip vx-fs-11 vx-pl-2 vx-pr-2 vx-lh-6\"\n [appTooltip]=\"assigneeData[i][0]?.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ assigneeData[i][0]?.member_name }}\n </div>\n <button\n (click)=\"activateSelector(true, i)\"\n class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-fs-12 vx-txt-blue vx-mr-1\"></i\n >EDIT\n </button>\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-2 vx-d-flex vx-align-center deadline\"\n >\n <div\n class=\"case-calendar vx-d-flex vx-justify-between vx-pt-3 vx-pb-3\"\n >\n <div\n class=\"case-calendar-inner vx-d-flex vx-align-center\"\n [class.disabled]=\"true\"\n >\n <input\n type=\"text\"\n readonly\n value=\"{{ dueDate | date : 'dd MMM yyyy' }}\"\n (click)=\"openDatePicker()\"\n id=\"effective-date\"\n />\n <i class=\"icons\"></i>\n <dp-date-picker\n #datePicker\n (onSelect)=\"\n datePickerOverlay = false; closeDatePicker($event)\n \"\n [config]=\"dateConfig\"\n >\n </dp-date-picker>\n <div\n class=\"vx-overlay\"\n (click)=\"closeDatePicker($event)\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"showAssigneeError\"\n class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\"\n >\n {{ dueDateTexts.errorMessage.stageAssignee }}\n </div>\n </div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n EMAIL REMINDER CONFIGURATION\n <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n </div>\n <div class=\"divider vx-mb-2\"></div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n REMINDER EMAIL\n </div>\n <div\n class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n >\n <div class=\"vx-fs-13 vx-mr-1\">\n Send regular email reminders to the assignee\n </div>\n <input\n type=\"number\"\n [(ngModel)]=\"emailReminder\"\n onkeydown=\"return event.key !== '.'\"\n oninput=\"this.value = Math.abs(this.value)\"\n (change)=\"onInputChange()\"\n />\n <div class=\"vx-fs-13 vx-ml-1\">\n <span class=\"black-text\">days</span> before the stage deadline.\n </div>\n </div>\n <div\n class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n >\n ESCALATION EMAIL\n </div>\n <div\n class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n >\n <div class=\"vx-fs-13 vx-mr-1\">\n Send email escalation to the Case Owner\n </div>\n <input\n type=\"number\"\n [(ngModel)]=\"escalationEmail\"\n onkeydown=\"return event.key !== '.'\"\n oninput=\"this.value = Math.abs(this.value)\"\n (change)=\"onInputChange()\"\n />\n <div class=\"vx-fs-13 vx-ml-1\">\n <span class=\"black-text\">days</span> before the overall case\n deadline, if the case is still open.\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n (closeList)=\"closeDueDate()\"\n (closeEvent)=\"saveCaseResolutionDeadline()\"\n ></app-floating-bar>\n </div>\n</div>\n<app-assignee\n *ngIf=\"assigneeClicked\"\n [payload]=\"payload\"\n [assigneeList]=\"assigneeList\"\n [activeAssignee]=\"activeAssignee\"\n (selectedAssigneeEvent)=\"selectedAssignee($event)\"\n (closeEvent)=\"activateSelector(false)\"\n></app-assignee>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-resolution{background:#fff;position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .configure-resolution:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .configure-resolution.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .configure-resolution-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .configure-resolution-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .configure-resolution-body-inner{height:calc(100% - 3rem);padding:0 2rem 1rem 0;width:calc(100% + 2rem);overflow-y:auto;scrollbar-width:thin}::ng-deep .configure-resolution-body-inner .divider{background:#e3e3e9;width:100%;height:1px}::ng-deep .configure-resolution-body .label-top .required{color:#c7381b}::ng-deep .configure-resolution-body .errorMsg{color:#a82a1d}::ng-deep .configure-resolution-body .toggle-area{cursor:pointer}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch{order:1;width:24px!important;min-width:24px!important;height:16px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-box{background:#cdced6!important;border:1px solid #cdced6!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-ball{height:12px!important;width:12px!important;border:none!important;left:2px!important;top:2px!important;bottom:2px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box{background:#34aa44!important;border-color:#34aa44!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box .switch-ball{left:10px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .value{order:2;color:#000!important;cursor:pointer;font-size:11px!important;margin-left:.5rem;width:unset!important}::ng-deep .configure-resolution-body .toggle-area i.info{cursor:pointer}::ng-deep .configure-resolution-body .case-calendar{background:#fff;border-radius:.25rem}::ng-deep .configure-resolution-body .case-calendar-inner{position:relative;width:100%}::ng-deep .configure-resolution-body .case-calendar-inner input{background:transparent;border-radius:.25rem;border:1px solid #cdced6;color:#747576;font-size:13px;font-weight:400;height:2.5rem;line-height:2.5rem;padding:0 .75rem 0 2rem;outline:none;width:100%;transition:all .2s ease-in-out}::ng-deep .configure-resolution-body .case-calendar-inner input::placeholder{color:#a9aab6}::ng-deep .configure-resolution-body .case-calendar-inner input:hover,::ng-deep .configure-resolution-body .case-calendar-inner input:focus{border-color:#1e5dd3}::ng-deep .configure-resolution-body .case-calendar-inner i{display:flex;justify-content:center;align-items:center;height:.75rem;width:.75rem;position:absolute;left:.75rem;top:.75rem;color:#747576;font-size:12px;pointer-events:none}::ng-deep .configure-resolution-body .case-calendar-inner.disabled{background:#f2f2f5;pointer-events:none;opacity:1}::ng-deep .configure-resolution-body .case-calendar-inner.disabled input,::ng-deep .configure-resolution-body .case-calendar-inner.disabled i{color:#a9aab6}::ng-deep .configure-resolution-body .email-configure-box{border-radius:.25rem;border:1px solid #dbdbdb;color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box input{-moz-appearance:textfield;border-radius:.25rem;border:1px solid #dbdbdb;color:#343952;display:inline-block;font-size:13px;text-align:center;width:2.25rem;height:1.75rem;padding:.125rem;outline:none}::ng-deep .configure-resolution-body .email-configure-box input::-webkit-inner-spin-button,::ng-deep .configure-resolution-body .email-configure-box input::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .configure-resolution-body .email-configure-box input::placeholder{color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box .black-text{color:#000}::ng-deep .configure-resolution-table{margin-bottom:.75rem}::ng-deep .configure-resolution-table .table-header{background:#fff;border-radius:.25rem .25rem 0 0;border:1px solid #f2f2f5;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-header .table-column{color:#787a8c!important;line-height:.75rem!important;min-height:2rem!important}::ng-deep .configure-resolution-table .table-body{border-radius:0 0 .25rem .25rem;border:1px solid #f2f2f5;border-top:none}::ng-deep .configure-resolution-table .table-row{display:flex;justify-content:space-between;position:relative;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-row:last-of-type .table-column,::ng-deep .configure-resolution-table .table-row:only-child .table-column{border-bottom:none}::ng-deep .configure-resolution-table .table-row .table-column{border-bottom:1px solid #f2f2f5;color:#000;min-height:3.25rem;position:relative;width:100%}::ng-deep .configure-resolution-table .table-row .table-column i.info{cursor:pointer}::ng-deep .configure-resolution-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .configure-resolution-table .table-row .table-column.serial .sr-no{width:1rem;height:3.25rem}::ng-deep .configure-resolution-table .table-row .table-column.stage-name{width:calc(100% - 37rem);min-width:calc(100% - 37rem)}::ng-deep .configure-resolution-table .table-row .table-column.stage-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.status{width:10rem;min-width:10rem}::ng-deep .configure-resolution-table .table-row .table-column.status .value span{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee{width:15rem;min-width:15rem}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box{border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .value{color:#a9aab6}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .arrow{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box{background:#f9f9fa;border-radius:.25rem;border:1px solid #cdced6;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box .value-chip{background:#fff;border-radius:.125rem;border:1px solid #f4f8ff;box-shadow:0 0 2px #1e5dd326;color:#000;height:1.5rem;max-width:9.5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box button.edit-btn{background:transparent;border-radius:0;border:none}::ng-deep .configure-resolution-table .table-row .table-column.deadline{width:10rem;min-width:10rem}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i6.DatePickerComponent, selector: "dp-date-picker", inputs: ["config", "mode", "placeholder", "disabled", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i9.AssigneeComponent, selector: "app-assignee", inputs: ["assigneeList", "activeAssignee", "payload"], outputs: ["closeEvent", "selectedAssigneeEvent"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
|
|
286
286
|
}
|
|
287
287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DueDateComponent, decorators: [{
|
|
288
288
|
type: Component,
|
|
@@ -303,10 +303,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
303
303
|
type: Input
|
|
304
304
|
}], groupList: [{
|
|
305
305
|
type: Input
|
|
306
|
-
}], initialSelection: [{
|
|
307
|
-
type: Input
|
|
308
306
|
}], mode: [{
|
|
309
307
|
type: Input
|
|
308
|
+
}], initialSelection: [{
|
|
309
|
+
type: Input
|
|
310
310
|
}], closeDueDateResolution: [{
|
|
311
311
|
type: Output
|
|
312
312
|
}], closeDueDateEvent: [{
|
|
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
315
315
|
type: HostListener,
|
|
316
316
|
args: ['document:click', ['$event']]
|
|
317
317
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVlLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsR0FFaEIsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdDM0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztRQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQztJQUN6RSxDQUFDO0lBTUQsWUFDVSxpQkFBZ0MsRUFDaEMsZ0JBQWtDO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZTtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekM1QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixlQUFV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QUFJLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDLHlCQUF5QixDQUFDO1NBQ2xFO0lBQ0gsQ0FBQzsrR0FyVVUsZ0JBQWdCO21HQUFoQixnQkFBZ0Isd2tCQUVNLFVBQVUsNkJDN0I3Qyw4aVpBc1VBOzs0RkQzU2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7bUlBS0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUV2QixTQUFTO3NCQURSLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQXlCbkQsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBMlFQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQsIElEYXRlUGlja2VyQ29uZmlnIH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcblxuaW1wb3J0IHtcbiAgUkVQT1JUX0NBU0UsXG4gIEhFTFBFUl9URVhULFxuICBFTUFJTF9SRU1JTkRFUlMsXG4gIE1PTlRIX05BTUVTLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcblxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kdWUtZGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R1ZS1kYXRlLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIER1ZURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgZGF0ZVBpY2tlciE6IERhdGVQaWNrZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcbiAgZGF0ZVBpY2tlclBvcFVwITogRWxlbWVudFJlZjtcbiAgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTtcbiAgZGF0ZUNvbmZpZzogSURhdGVQaWNrZXJDb25maWcgPSB7XG4gICAgZGlzYWJsZUtleXByZXNzOiB0cnVlLFxuICAgIGZvcm1hdDogJ0REIE1NIFlZWVknLFxuICAgIHVuU2VsZWN0T25DbGljazogdHJ1ZSxcbiAgICBvcGVuT25DbGljazogZmFsc2UsXG4gICAgb3Blbk9uRm9jdXM6IGZhbHNlLFxuICAgIG1pbjogJycsXG4gIH07XG4gIGNvbW1vblNlcnZpY2U6IGFueTtcbiAgZHVlRGF0ZVRleHRzID0gUkVQT1JUX0NBU0U7XG4gIGhlbHBlclRleHQgPSBIRUxQRVJfVEVYVDtcbiAgYXNzaWduZWVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGFzc2lnbmVlTGlzdDogYW55W10gPSBbXTtcbiAgYXNzaWduZWVEYXRhOiB7IFtrZXk6IG51bWJlcl06IGFueVtdIH0gPSB7fTtcbiAgY3VycmVudFN0YWdlSW5kZXg6IG51bWJlciA9IC0xO1xuICBhY3RpdmVBc3NpZ25lZTogYW55W10gPSBbXTtcbiAgZW1haWxSZW1pbmRlcjogbnVtYmVyID0gRU1BSUxfUkVNSU5ERVJTLmVtYWlsX3JlbWluZGVyO1xuICBlc2NhbGF0aW9uRW1haWw6IG51bWJlciA9IEVNQUlMX1JFTUlOREVSUy5lc2NhbGF0aW9uX2VtYWlsX3JlbWluZGVyO1xuICBzaG93RXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0Fzc2lnbmVlRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnk7XG4gIEBJbnB1dCgpIGR1ZURhdGU6IGFueTtcbiAgQElucHV0KCkgd29ya2Zsb3dEZXRhaWxzOiBhbnk7XG4gIEBJbnB1dCgpIHVzZXJMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBncm91cExpc3Q6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmR1ZURhdGUgPSB2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8uZHVlX2RhdGU7XG4gICAgdGhpcy5lbWFpbFJlbWluZGVyID0gdmFsdWU/LnJlc29sdXRpb25fZGVhZGxpbmU/LmFzc2lnbmVlX3JlbWluZF9iZWZvcmU7XG4gICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPSB2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8ub3duZXJfcmVtaW5kX2JlZm9yZTtcbiAgfVxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgY2xvc2VEdWVEYXRlUmVzb2x1dGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlRHVlRGF0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tbW9uRGF0ZVNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDb25maWcubWluID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZvcm1hdERhdGUoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLnNldEFzc2lnbmVlTGlzdCgpO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgdGhpcy5pbml0aWFsaXplRWRpdE1vZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFZGl0TW9kZSgpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmUpIHJldHVybjtcblxuICAgIGNvbnN0IGRlYWRsaW5lID0gdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmU7XG4gICAgdGhpcy5pbml0aWFsaXplRGVhZGxpbmVWYWx1ZXMoZGVhZGxpbmUpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWdlQXNzaWduZWVzKGRlYWRsaW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURlYWRsaW5lVmFsdWVzKGRlYWRsaW5lOiBhbnkpIHtcbiAgICB0aGlzLmR1ZURhdGUgPSBuZXcgRGF0ZShkZWFkbGluZT8uZHVlX2RhdGUpO1xuICAgIHRoaXMuZW1haWxSZW1pbmRlciA9XG4gICAgICBkZWFkbGluZS5hc3NpZ25lZV9yZW1pbmRfYmVmb3JlIHx8IEVNQUlMX1JFTUlOREVSUy5lbWFpbF9yZW1pbmRlcjtcbiAgICB0aGlzLmVzY2FsYXRpb25FbWFpbCA9XG4gICAgICBkZWFkbGluZS5vd25lcl9yZW1pbmRfYmVmb3JlIHx8IEVNQUlMX1JFTUlOREVSUy5lc2NhbGF0aW9uX2VtYWlsX3JlbWluZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplU3RhZ2VBc3NpZ25lZXMoZGVhZGxpbmU6IGFueSkge1xuICAgIGlmICghZGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/Lmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3RhZ2VBc3NpZ25lZU1hcCA9IHRoaXMuY3JlYXRlU3RhZ2VBc3NpZ25lZU1hcChcbiAgICAgIGRlYWRsaW5lLnN0YWdlc19hc3NpZ25lZXNcbiAgICApO1xuICAgIHRoaXMubWFwV29ya2Zsb3dTdGFnZXMoc3RhZ2VBc3NpZ25lZU1hcCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVN0YWdlQXNzaWduZWVNYXAoc3RhZ2VzQXNzaWduZWVzOiBhbnlbXSk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgTWFwKFxuICAgICAgc3RhZ2VzQXNzaWduZWVzLm1hcCgoc3RhZ2U6IGFueSkgPT4gW3N0YWdlPy5zdGFnZV9pZCwgc3RhZ2U/LmFzc2lnbmVlX2lkXSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBXb3JrZmxvd1N0YWdlcyhzdGFnZUFzc2lnbmVlTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgdGhpcy53b3JrZmxvd0RldGFpbHM/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goXG4gICAgICAod29ya2Zsb3dTdGFnZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGFzc2lnbmVlSWQgPSBzdGFnZUFzc2lnbmVlTWFwPy5nZXQod29ya2Zsb3dTdGFnZT8uc3RhZ2VfaWQpO1xuICAgICAgICBpZiAoIWFzc2lnbmVlSWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBhc3NpZ25lZSA9IHRoaXMuYXNzaWduZWVMaXN0Py5maW5kKFxuICAgICAgICAgIChhc3NpZ25lZTogYW55KSA9PiBhc3NpZ25lZT8uX2lkID09PSBhc3NpZ25lZUlkXG4gICAgICAgICk7XG4gICAgICAgIGlmIChhc3NpZ25lZSkge1xuICAgICAgICAgIHRoaXMuYXNzaWduZWVEYXRhW2luZGV4XSA9IFthc3NpZ25lZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgb3BlbkRhdGVQaWNrZXIoKSB7XG4gICAgdGhpcy5kYXRlUGlja2VyPy5hcGk/Lm9wZW4oKTtcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjbG9zZXMgdGhlIGRhdGUgcGlja2VyIGZyb20gcG9saWN5IGZvcm1cbiAgICovXG4gIGNsb3NlRGF0ZVBpY2tlcihldnQ6IGFueSkge1xuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTtcblxuICAgIGlmICghZXZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldnQ/LmRhdGU/LiRkKSB7XG4gICAgICBsZXQgbW9udGhBcnJheSA9IFtcbiAgICAgICAgJ0phbicsXG4gICAgICAgICdGZWInLFxuICAgICAgICAnTWFyJyxcbiAgICAgICAgJ0FwcicsXG4gICAgICAgICdKdW4nLFxuICAgICAgICAnSnVsJyxcbiAgICAgICAgJ0F1ZycsXG4gICAgICAgICdTZXAnLFxuICAgICAgICAnT2N0JyxcbiAgICAgICAgJ05vdicsXG4gICAgICAgICdEZWMnLFxuICAgICAgXTtcbiAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IG5ldyBEYXRlKGV2dD8uZGF0ZT8uJGQpLmdldERhdGUoKTtcbiAgICAgIGNvbnN0IG1vbnRoVmFsdWUgPSBtb250aEFycmF5W25ldyBEYXRlKGV2dD8uZGF0ZT8uJGQpLmdldE1vbnRoKCldO1xuICAgICAgY29uc3QgeWVhclZhbHVlID0gbmV3IERhdGUoZXZ0Py5kYXRlPy4kZCkuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSBgJHtkYXRlVmFsdWV9ICR7bW9udGhWYWx1ZX0gJHt5ZWFyVmFsdWV9YDtcbiAgICB9XG4gICAgaWYgKGV2dD8uZGF0ZT8uJGQpIHtcbiAgICAgIHRoaXMuZHVlRGF0ZSA9IG5ldyBEYXRlKGV2dC5kYXRlLiRkKTtcbiAgICAgIHRoaXMuc2hvd0Vycm9yID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuZGF0ZVBpY2tlcj8uYXBpPy5jbG9zZSgpO1xuICB9XG5cbiAgY2xvc2VEdWVEYXRlKCkge1xuICAgIHRoaXMuY2xvc2VEdWVEYXRlRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgYWN0aXZhdGVTZWxlY3RvcihhY3RpdmU6IGJvb2xlYW4sIHN0YWdlSW5kZXg/OiBudW1iZXIpIHtcbiAgICB0aGlzLmFzc2lnbmVlQ2xpY2tlZCA9IGFjdGl2ZTtcbiAgICBpZiAoYWN0aXZlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTdGFnZUluZGV4ID0gc3RhZ2VJbmRleCA/PyAtMTtcbiAgICAgIHRoaXMuYWN0aXZlQXNzaWduZWUgPVxuICAgICAgICB0aGlzLmN1cnJlbnRTdGFnZUluZGV4ICE9PSAtMVxuICAgICAgICAgID8gdGhpcy5hc3NpZ25lZURhdGFbdGhpcy5jdXJyZW50U3RhZ2VJbmRleF1cbiAgICAgICAgICA6IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNldEFzc2lnbmVlTGlzdCgpIHtcbiAgICBjb25zdCBkaXJlY3RBc3NpZ25lZXMgPSB0aGlzLmdldEFzc2lnbmVlcygpO1xuICAgIGNvbnN0IGdyb3VwQXNzaWduZWVzID0gdGhpcy5nZXRHcm91cEFzc2lnbmVlcygpO1xuICAgIHRoaXMuYXNzaWduZWVMaXN0ID0gdGhpcy5nZXRVbmlxdWVBc3NpZ25lZXMoZGlyZWN0QXNzaWduZWVzLCBncm91cEFzc2lnbmVlcyk7XG4gIH1cblxuICBnZXRBc3NpZ25lZXMoKTogYW55W10ge1xuICAgIGNvbnN0IGFzc2lnbmVlSWRzID0gdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXMgfHwgW107XG4gICAgXG4gICAgcmV0dXJuIHRoaXMudXNlckxpc3RcbiAgICAgID8uZmlsdGVyKCh1c2VyOiBhbnkpID0+IGFzc2lnbmVlSWRzLmluY2x1ZGVzKHVzZXI/Ll9pZCkpXG4gICAgICA/Lm1hcCgodXNlcjogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXJHcm91cHMgPSB0aGlzLmdldFVzZXJHcm91cHModXNlcik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICBhc3NvY2lhdGVkR3JvdXBzOiB1c2VyR3JvdXBzLFxuICAgICAgICB9O1xuICAgICAgfSkgfHwgW107XG4gIH1cblxuICBnZXRVc2VyR3JvdXBzKHVzZXI6IGFueSk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cExpc3Q/LmZpbHRlcigoZ3JvdXA6IGFueSkgPT5cbiAgICAgIHVzZXI/LnVzZXJncm91cF9pZD8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKVxuICAgICk7XG4gIH1cblxuICBnZXRHcm91cEFzc2lnbmVlcygpOiBhbnlbXSB7XG4gICAgY29uc3QgYXNzaWduZWVHcm91cElkcyA9IHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzX2dyb3VwIHx8IFtdO1xuICAgIFxuICAgIHJldHVybiBhc3NpZ25lZUdyb3VwSWRzLmZsYXRNYXAoKGdyb3VwSWQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZpbmRHcm91cEJ5SWQoZ3JvdXBJZCk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBc3NpZ25lZXNGcm9tR3JvdXAoZ3JvdXApO1xuICAgIH0pIHx8IFtdO1xuICB9XG5cbiAgZmluZEdyb3VwQnlJZChncm91cElkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdyb3VwTGlzdD8uZmluZCgoZ3JvdXA6IGFueSkgPT4gZ3JvdXA/Ll9pZCA9PT0gZ3JvdXBJZCk7XG4gIH1cblxuICBnZXRBc3NpZ25lZXNGcm9tR3JvdXAoZ3JvdXA6IGFueSk6IGFueVtdIHtcbiAgICByZXR1cm4gZ3JvdXA/LmFzc29jaWF0ZWRVc2Vycz8ubWFwKCh1c2VyOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHVzZXJGcm9tTGlzdCA9IHRoaXMuZmluZFVzZXJCeUlkKHVzZXI/LnVzZXJJZD8uX2lkKTtcbiAgICAgIGlmICh1c2VyRnJvbUxpc3QpIHtcbiAgICAgICAgY29uc3QgdXNlckdyb3VwcyA9IHRoaXMuZ2V0VXNlckdyb3Vwcyh1c2VyRnJvbUxpc3QpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnVzZXJGcm9tTGlzdCxcbiAgICAgICAgICBhc3NvY2lhdGVkR3JvdXBzOiB1c2VyR3JvdXBzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSkuZmlsdGVyKCh1c2VyOiBhbnkpID0+IHVzZXIgIT09IG51bGwpIHx8IFtdO1xuICB9XG5cbiAgZmluZFVzZXJCeUlkKHVzZXJJZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy51c2VyTGlzdD8uZmluZCgodXNlcjogYW55KSA9PiB1c2VyPy5faWQgPT09IHVzZXJJZCk7XG4gIH1cblxuICBnZXRVbmlxdWVBc3NpZ25lZXMoZGlyZWN0QXNzaWduZWVzOiBhbnlbXSwgZ3JvdXBBc3NpZ25lZXM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBbLi4uZGlyZWN0QXNzaWduZWVzLCAuLi5ncm91cEFzc2lnbmVlc10ucmVkdWNlKChhY2M6IGFueVtdLCB1c2VyOiBhbnkpID0+IHtcbiAgICAgIGlmICghYWNjLnNvbWUoKHU6IGFueSkgPT4gdT8uX2lkID09PSB1c2VyPy5faWQpKSB7XG4gICAgICAgIGFjYy5wdXNoKHVzZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBzZWxlY3RlZEFzc2lnbmVlKGV2ZW50OiBhbnlbXSkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRTdGFnZUluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5hc3NpZ25lZURhdGFbdGhpcy5jdXJyZW50U3RhZ2VJbmRleF0gPSBldmVudDtcbiAgICB9XG4gICAgdGhpcy5hc3NpZ25lZUNsaWNrZWQgPSBmYWxzZTtcbiAgICBpZiAoZXZlbnQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2hvd0Fzc2lnbmVlRXJyb3IgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FzZVJlc29sdXRpb25EZWFkbGluZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNEdWVEYXRlVmFsaWQoKSkge1xuICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuYXJlQXNzaWduZWVzVmFsaWQoKSkge1xuICAgICAgdGhpcy5zaG93QXNzaWduZWVFcnJvciA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2hvd0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zaG93QXNzaWduZWVFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2V0UGF5bG9hZCgpO1xuICAgIHRoaXMuY2xvc2VEdWVEYXRlUmVzb2x1dGlvbi5lbWl0KCk7XG4gIH1cblxuICBpc0R1ZURhdGVWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmR1ZURhdGU7XG4gIH1cblxuICBhcmVBc3NpZ25lZXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53b3JrZmxvd0RldGFpbHM/LnN0YWdlc19hc3NpZ25lZXM/LmV2ZXJ5KFxuICAgICAgKHN0YWdlOiBhbnksIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgIHRoaXMuYXNzaWduZWVEYXRhW2luZGV4XSAmJiB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF0/Lmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgZm9ybWF0RHVlRGF0ZShkYXRlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIC8vIEFkZCBvbmUgZGF5IHRvIHRoZSBkYXRlXG4gICAgbG9jYWxEYXRlLnNldERhdGUobG9jYWxEYXRlLmdldERhdGUoKSArIDEpO1xuICAgIC8vIFNldCB0aW1lIHRvIG1pZG5pZ2h0XG4gICAgbG9jYWxEYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIHJldHVybiBsb2NhbERhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIHNldERlYWRsaW5lUmVtaW5kZXJzKCk6IHZvaWQge1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLmFzc2lnbmVlX3JlbWluZF9iZWZvcmUgPVxuICAgICAgdGhpcy5lbWFpbFJlbWluZGVyO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLm93bmVyX3JlbWluZF9iZWZvcmUgPVxuICAgICAgdGhpcy5lc2NhbGF0aW9uRW1haWw7XG4gIH1cblxuICBzZXRTdGFnZXNBc3NpZ25lZXMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLndvcmtmbG93RGV0YWlscz8uc3RhZ2VzX2Fzc2lnbmVlc1xuICAgICAgLm1hcCgoc3RhZ2U6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBhc3NpZ25lZURhdGEgPSB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF07XG4gICAgICAgIHJldHVybiBhc3NpZ25lZURhdGFcbiAgICAgICAgICA/IHRoaXMuY3JlYXRlU3RhZ2VBc3NpZ25lZShzdGFnZSwgYXNzaWduZWVEYXRhKVxuICAgICAgICAgIDogbnVsbDtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgY3JlYXRlU3RhZ2VBc3NpZ25lZShzdGFnZTogYW55LCBhc3NpZ25lZURhdGE6IGFueVtdKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhZ2VfaWQ6IHN0YWdlPy5zdGFnZV9pZCB8fCAnJyxcbiAgICAgIGFzc2lnbmVlX2lkOiBhc3NpZ25lZURhdGFbMF0/Ll9pZCB8fCAnJyxcbiAgICAgIGR1ZV9kYXRlOiBzdGFnZT8uZHVlX2RhdGUgfHwgJycsXG4gICAgfTtcbiAgfVxuXG4gIHNldFBheWxvYWQoKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuZHVlRGF0ZTtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5kdWVfZGF0ZSA9IGZvcm1hdHRlZERhdGU7XG4gICAgdGhpcy5zZXREZWFkbGluZVJlbWluZGVycygpO1xuICAgIGNvbnN0IHN0YWdlc0Fzc2lnbmVlcyA9IHRoaXMuc2V0U3RhZ2VzQXNzaWduZWVzKCk7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUuc3RhZ2VzX2Fzc2lnbmVlcyA9XG4gICAgICBzdGFnZXNBc3NpZ25lZXM7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LndvcmtmbG93X2lkID0gdGhpcy53b3JrZmxvd0RldGFpbHM/Ll9pZDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgZG9jdW1lbnRDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZVBpY2tlck9iamVjdCA9IHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIGNsYXNzOiAnZWZmZWN0aXZlLWRhdGUnLFxuICAgICAgcG9wdXA6IHRoaXMuZGF0ZVBpY2tlclBvcFVwLFxuICAgICAgY29tcG9uZW50OiB0aGlzLmRhdGVQaWNrZXIsXG4gICAgICBvdmVybGF5OiB0aGlzLmRhdGVQaWNrZXJPdmVybGF5LFxuICAgIH07XG4gICAgdGhpcy5jb21tb25EYXRlU2VydmljZS5oYW5kbGVEb2N1bWVudENsaWNrKGRhdGVQaWNrZXJPYmplY3QpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZSgpIHtcbiAgICBpZiAodGhpcy5lbWFpbFJlbWluZGVyID09PSAwKSB7XG4gICAgICB0aGlzLmVtYWlsUmVtaW5kZXIgPSBFTUFJTF9SRU1JTkRFUlMuZW1haWxfcmVtaW5kZXI7XG4gICAgfVxuICAgIGlmICh0aGlzLmVzY2FsYXRpb25FbWFpbCA9PT0gMCkge1xuICAgICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPSBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb25maWd1cmUtcmVzb2x1dGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjb25maWd1cmUtcmVzb2x1dGlvbi1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlxuICAgICAgQ29uZmlndXJlIFJlc29sdXRpb24gRGVhZGxpbmUgJiBTdGFnZSBEZXRhaWxzXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24tYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtcmVzb2x1dGlvbi1ib2R5LWlubmVyXCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJmYWxzZVwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCJmYWxzZVwiXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcbiAgICAgICAgXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG5cbiAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtbWItMSB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgU1BFQ0lGWSBUSEUgREVBRExJTkUgVE8gQ0xPU0UgVEhJUyBDQVNFXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNiB2eC1mdy00MDBcIj4qPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2UtY2FsZW5kYXIgdngtbWItM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNlLWNhbGVuZGFyLWlubmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcbiAgICAgICAgICAgICAgICBkdWVEYXRlVGV4dHMuY2FzZV9kZXRhaWxzLmR1ZV9kYXRlLmRlYWRsaW5lX3BsYWNlaG9sZGVyXG4gICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwiZHVlRGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcbiAgICAgICAgICAgICAgaWQ9XCJlZmZlY3RpdmUtZGF0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MmQ7PC9pPlxuICAgICAgICAgICAgPGRwLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICNkYXRlUGlja2VyXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJkYXRlUGlja2VyT3ZlcmxheSA9IGZhbHNlOyBjbG9zZURhdGVQaWNrZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtjb25maWddPVwiZGF0ZUNvbmZpZ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZHVlRGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2RwLWRhdGUtcGlja2VyPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LW92ZXJsYXlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEYXRlUGlja2VyKCRldmVudClcIlxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGVQaWNrZXJPdmVybGF5XCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJlcnJvck1zZyB2eC1mcy0xMSB2eC1saC00IHZ4LW10LTFcIj5cbiAgICAgICAgICAgIHt7IGR1ZURhdGVUZXh0cy5lcnJvck1lc3NhZ2UuZHVlRGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LW1iLTFcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBDT05GSUdVUkUgREVBRExJTkUgJiBBU1NJR05FRSBGT1IgRUFDSCBTVEFHRSBJTiBUSEUgV09SS0ZMT1dcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQgdngtZnMtMTYgdngtZnctNDAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0b2dnbGUtYXJlYSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICA8YXBwLWNzLXN3aXRjaD5BbGxvdyBSZW9wZW5pbmcgb2YgUHJldmlvdXMgU3RhZ2U8L2FwcC1jcy1zd2l0Y2g+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zIGluZm8gdngtZnMtMTIgdngtdHh0LWJsdWUgdngtbWwtMlwiXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICdJZiBlbmFibGVkLCB0aGlzIG9wdGlvbiBhbGxvd3MgdGhlIGFzc2lnbmVlIHRvIHJldmlzaXQgYW5kIHJlb3BlbiBhIHByZXZpb3VzbHkgY29tcGxldGVkIHN0YWdlLiBUaGUgc3RhZ2Ugd2lsbCBiZSByZXNldCwgYW5kIHRoZSBhc3NpZ25lZCB1c2VyIHdpbGwgbmVlZCB0byBjb21wbGV0ZSBpdCBhZ2Fpbi4nXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24tdGFibGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICNcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhZ2UtbmFtZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBTVEFHRSBOQU1FXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHN0YXR1c1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBUUkFOU0lUSU9OIFNUQVRVU1xuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zIGluZm8gdngtZnMtMTIgdngtdHh0LWJsdWUgdngtbWwtMVwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJoZWxwZXJUZXh0LnRyYW5zaXRpb25fc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPiYjeGU5MWY7PC9pXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhc3NpZ25lZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBBU1NJR05FRVxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zIGluZm8gdngtZnMtMTIgdngtdHh0LWJsdWUgdngtbWwtMVwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJoZWxwZXJUZXh0LmFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPiYjeGU5MWY7PC9pXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBkZWFkbGluZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBERUFETElORVxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zIGluZm8gdngtZnMtMTIgdngtdHh0LWJsdWUgdngtbWwtMVwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJoZWxwZXJUZXh0LmRlYWRsaW5lXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPiYjeGU5MWY7PC9pXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgb2Ygd29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzO1xuICAgICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vIHZ4LWZzLTEzIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaSArIDFcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzdGFnZS1uYW1lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTMgdngtcHItMlwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJkYXRhPy5uYW1lXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGRhdGE/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzdGF0dXNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyXCI+XG4gICAgICAgICAgICAgICAgICB7eyBkYXRhPy5zdGF0dXNfdHJhbnNpdGlvbj8uZnJvbU5hbWUgfX08YnIgLz48c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LW1yLTFcIlxuICAgICAgICAgICAgICAgICAgICA+VG88L3NwYW5cbiAgICAgICAgICAgICAgICAgID57eyBkYXRhPy5zdGF0dXNfdHJhbnNpdGlvbj8udG9OYW1lIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYXNzaWduZWVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKHRydWUsIGkpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWFzc2lnbmVlRGF0YVtpXT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC0zIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xM1wiPlNlbGVjdCBhIFVzZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgYXJyb3cgdngtZnMtMTJcIj4mI3hlOWU4OzwvaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImFzc2lnbmVlRGF0YVtpXT8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFmdGVyLXNlbGVjdC1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtMyB2eC1wci0yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUtY2hpcCB2eC1mcy0xMSB2eC1wbC0yIHZ4LXByLTIgdngtbGgtNlwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImFzc2lnbmVlRGF0YVtpXVswXT8ubWVtYmVyX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYXNzaWduZWVEYXRhW2ldWzBdPy5tZW1iZXJfbmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKHRydWUsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtdHh0LWJsdWUgdngtbXItMVwiPiYjeGU5YmE7PC9pXG4gICAgICAgICAgICAgICAgICAgID5FRElUXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBkZWFkbGluZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNhc2UtY2FsZW5kYXIgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wdC0zIHZ4LXBiLTNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXNlLWNhbGVuZGFyLWlubmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICByZWFkb25seVxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwie3sgZHVlRGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlZmZlY3RpdmUtZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJkOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGRwLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgI2RhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlUGlja2VyT3ZlcmxheSA9IGZhbHNlOyBjbG9zZURhdGVQaWNrZXIoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJkYXRlQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2RwLWRhdGUtcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1vdmVybGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEYXRlUGlja2VyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0ZVBpY2tlck92ZXJsYXlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25lZUVycm9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXJyb3JNc2cgdngtZnMtMTEgdngtbGgtNCB2eC1tdC0xXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBkdWVEYXRlVGV4dHMuZXJyb3JNZXNzYWdlLnN0YWdlQXNzaWduZWUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtbWItMSB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgRU1BSUwgUkVNSU5ERVIgQ09ORklHVVJBVElPTlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQgdngtZnMtMTYgdngtZnctNDAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyIHZ4LW1iLTJcIj48L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibGFiZWwtdG9wIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNCB2eC1tYi0xIHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBSRU1JTkRFUiBFTUFJTFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZW1haWwtY29uZmlndXJlLWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWZsZXgtd3JhcCB2eC1wLTIgdngtcGwtMyB2eC1wci0zIHZ4LW1iLTJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1yLTFcIj5cbiAgICAgICAgICAgIFNlbmQgcmVndWxhciBlbWFpbCByZW1pbmRlcnMgdG8gdGhlIGFzc2lnbmVlXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxSZW1pbmRlclwiXG4gICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5ICE9PSAnLidcIlxuICAgICAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtbWwtMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibGFjay10ZXh0XCI+ZGF5czwvc3Bhbj4gYmVmb3JlIHRoZSBzdGFnZSBkZWFkbGluZS5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtbWItMSB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgRVNDQUxBVElPTiBFTUFJTFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZW1haWwtY29uZmlndXJlLWJveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWZsZXgtd3JhcCB2eC1wLTIgdngtcGwtMyB2eC1wci0zIHZ4LW1iLTJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1yLTFcIj5cbiAgICAgICAgICAgIFNlbmQgZW1haWwgZXNjYWxhdGlvbiB0byB0aGUgQ2FzZSBPd25lclxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVzY2FsYXRpb25FbWFpbFwiXG4gICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5ICE9PSAnLidcIlxuICAgICAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtbWwtMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibGFjay10ZXh0XCI+ZGF5czwvc3Bhbj4gYmVmb3JlIHRoZSBvdmVyYWxsIGNhc2VcbiAgICAgICAgICAgIGRlYWRsaW5lLCBpZiB0aGUgY2FzZSBpcyBzdGlsbCBvcGVuLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlRHVlRGF0ZSgpXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmVDYXNlUmVzb2x1dGlvbkRlYWRsaW5lKClcIlxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXBwLWFzc2lnbmVlXG4gICpuZ0lmPVwiYXNzaWduZWVDbGlja2VkXCJcbiAgW3BheWxvYWRdPVwicGF5bG9hZFwiXG4gIFthc3NpZ25lZUxpc3RdPVwiYXNzaWduZWVMaXN0XCJcbiAgW2FjdGl2ZUFzc2lnbmVlXT1cImFjdGl2ZUFzc2lnbmVlXCJcbiAgKHNlbGVjdGVkQXNzaWduZWVFdmVudCk9XCJzZWxlY3RlZEFzc2lnbmVlKCRldmVudClcIlxuICAoY2xvc2VFdmVudCk9XCJhY3RpdmF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4+PC9hcHAtYXNzaWduZWU+XG4iXX0=
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVlLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsR0FFaEIsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFVL0MsTUFBTSxPQUFPLGdCQUFnQjtJQWlDM0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO1lBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztJQUtELFlBQ1UsaUJBQWdDLEVBQ2hDLGdCQUFrQztRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWU7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNDNUMsY0FBUyxHQUFHLElB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QUNYLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQztTQUNsRTtJQUNILENBQUM7K0dBclVVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHdrQkFFTSxVQUFVLDZCQzdCN0MsOGlaQXNVQTs7NEZEM1NhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO21JQUtDLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFFdkIsU0FBUztzQkFEUixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkF5Qm5ELE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQXlRUCxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50LCBJRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XG5cbmltcG9ydCB7XG4gIFJFUE9SVF9DQVNFLFxuICBIRUxQRVJfVEVYVCxcbiAgRU1BSUxfUkVNSU5ERVJTLFxuICBNT05USF9OQU1FUyxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZHVlLWRhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHVlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kdWUtZGF0ZS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEdWVEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGFuaW1hdGlvbiA9IHRydWU7XG4gIGRhdGVQaWNrZXJQb3BVcCE6IEVsZW1lbnRSZWY7XG4gIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XG4gIGRhdGVDb25maWc6IElEYXRlUGlja2VyQ29uZmlnID0ge1xuICAgIGRpc2FibGVLZXlwcmVzczogdHJ1ZSxcbiAgICBmb3JtYXQ6ICdERCBNTSBZWVlZJyxcbiAgICB1blNlbGVjdE9uQ2xpY2s6IHRydWUsXG4gICAgb3Blbk9uQ2xpY2s6IGZhbHNlLFxuICAgIG9wZW5PbkZvY3VzOiBmYWxzZSxcbiAgICBtaW46ICcnLFxuICB9O1xuICBjb21tb25TZXJ2aWNlOiBhbnk7XG4gIGR1ZURhdGVUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBoZWxwZXJUZXh0ID0gSEVMUEVSX1RFWFQ7XG4gIGFzc2lnbmVlQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhc3NpZ25lZUxpc3Q6IGFueVtdID0gW107XG4gIGFzc2lnbmVlRGF0YTogeyBba2V5OiBudW1iZXJdOiBhbnlbXSB9ID0ge307XG4gIGN1cnJlbnRTdGFnZUluZGV4OiBudW1iZXIgPSAtMTtcbiAgYWN0aXZlQXNzaWduZWU6IGFueVtdID0gW107XG4gIGVtYWlsUmVtaW5kZXI6IG51bWJlciA9IEVNQUlMX1JFTUlOREVSUy5lbWFpbF9yZW1pbmRlcjtcbiAgZXNjYWxhdGlvbkVtYWlsOiBudW1iZXIgPSBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgc2hvd0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dBc3NpZ25lZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55O1xuICBASW5wdXQoKSBkdWVEYXRlOiBhbnk7XG4gIEBJbnB1dCgpIHdvcmtmbG93RGV0YWlsczogYW55O1xuICBASW5wdXQoKSB1c2VyTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuZHVlRGF0ZSA9IHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5kdWVfZGF0ZTtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcbiAgICAgIHRoaXMuZW1haWxSZW1pbmRlciA9IHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5hc3NpZ25lZV9yZW1pbmRfYmVmb3JlO1xuICAgICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPSB2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8ub3duZXJfcmVtaW5kX2JlZm9yZTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgY2xvc2VEdWVEYXRlUmVzb2x1dGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlRHVlRGF0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tbW9uRGF0ZVNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDb25maWcubWluID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZvcm1hdERhdGUoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgICB0aGlzLnNldEFzc2lnbmVlTGlzdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUVkaXRNb2RlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFZGl0TW9kZSgpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LmR1ZV9kYXRlKSByZXR1cm47XG5cbiAgICBjb25zdCBkZWFkbGluZSA9IHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURlYWRsaW5lVmFsdWVzKGRlYWRsaW5lKTtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFnZUFzc2lnbmVlcyhkZWFkbGluZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEZWFkbGluZVZhbHVlcyhkZWFkbGluZTogYW55KSB7XG4gICAgdGhpcy5kdWVEYXRlID0gbmV3IERhdGUoZGVhZGxpbmU/LmR1ZV9kYXRlKTtcbiAgICB0aGlzLmVtYWlsUmVtaW5kZXIgPVxuICAgICAgZGVhZGxpbmUuYXNzaWduZWVfcmVtaW5kX2JlZm9yZSB8fCBFTUFJTF9SRU1JTkRFUlMuZW1haWxfcmVtaW5kZXI7XG4gICAgdGhpcy5lc2NhbGF0aW9uRW1haWwgPVxuICAgICAgZGVhZGxpbmUub3duZXJfcmVtaW5kX2JlZm9yZSB8fCBFTUFJTF9SRU1JTkRFUlMuZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0YWdlQXNzaWduZWVzKGRlYWRsaW5lOiBhbnkpIHtcbiAgICBpZiAoIWRlYWRsaW5lPy5zdGFnZXNfYXNzaWduZWVzPy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IHN0YWdlQXNzaWduZWVNYXAgPSB0aGlzLmNyZWF0ZVN0YWdlQXNzaWduZWVNYXAoXG4gICAgICBkZWFkbGluZS5zdGFnZXNfYXNzaWduZWVzXG4gICAgKTtcbiAgICB0aGlzLm1hcFdvcmtmbG93U3RhZ2VzKHN0YWdlQXNzaWduZWVNYXApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdGFnZUFzc2lnbmVlTWFwKHN0YWdlc0Fzc2lnbmVlczogYW55W10pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE1hcChcbiAgICAgIHN0YWdlc0Fzc2lnbmVlcy5tYXAoKHN0YWdlOiBhbnkpID0+IFtzdGFnZT8uc3RhZ2VfaWQsIHN0YWdlPy5hc3NpZ25lZV9pZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwV29ya2Zsb3dTdGFnZXMoc3RhZ2VBc3NpZ25lZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPikge1xuICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzPy5mb3JFYWNoKFxuICAgICAgKHdvcmtmbG93U3RhZ2U6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBhc3NpZ25lZUlkID0gc3RhZ2VBc3NpZ25lZU1hcD8uZ2V0KHdvcmtmbG93U3RhZ2U/LnN0YWdlX2lkKTtcbiAgICAgICAgaWYgKCFhc3NpZ25lZUlkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYXNzaWduZWUgPSB0aGlzLmFzc2lnbmVlTGlzdD8uZmluZChcbiAgICAgICAgICAoYXNzaWduZWU6IGFueSkgPT4gYXNzaWduZWU/Ll9pZCA9PT0gYXNzaWduZWVJZFxuICAgICAgICApO1xuICAgICAgICBpZiAoYXNzaWduZWUpIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF0gPSBbYXNzaWduZWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG9wZW5EYXRlUGlja2VyKCkge1xuICAgIHRoaXMuZGF0ZVBpY2tlcj8uYXBpPy5vcGVuKCk7XG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogY2xvc2VzIHRoZSBkYXRlIHBpY2tlciBmcm9tIHBvbGljeSBmb3JtXG4gICAqL1xuICBjbG9zZURhdGVQaWNrZXIoZXZ0OiBhbnkpIHtcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XG5cbiAgICBpZiAoIWV2dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZ0Py5kYXRlPy4kZCkge1xuICAgICAgbGV0IG1vbnRoQXJyYXkgPSBbXG4gICAgICAgICdKYW4nLFxuICAgICAgICAnRmViJyxcbiAgICAgICAgJ01hcicsXG4gICAgICAgICdBcHInLFxuICAgICAgICAnSnVuJyxcbiAgICAgICAgJ0p1bCcsXG4gICAgICAgICdBdWcnLFxuICAgICAgICAnU2VwJyxcbiAgICAgICAgJ09jdCcsXG4gICAgICAgICdOb3YnLFxuICAgICAgICAnRGVjJyxcbiAgICAgIF07XG4gICAgICBjb25zdCBkYXRlVmFsdWUgPSBuZXcgRGF0ZShldnQ/LmRhdGU/LiRkKS5nZXREYXRlKCk7XG4gICAgICBjb25zdCBtb250aFZhbHVlID0gbW9udGhBcnJheVtuZXcgRGF0ZShldnQ/LmRhdGU/LiRkKS5nZXRNb250aCgpXTtcbiAgICAgIGNvbnN0IHllYXJWYWx1ZSA9IG5ldyBEYXRlKGV2dD8uZGF0ZT8uJGQpLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjb25zdCBkYXRlU3RyID0gYCR7ZGF0ZVZhbHVlfSAke21vbnRoVmFsdWV9ICR7eWVhclZhbHVlfWA7XG4gICAgfVxuICAgIGlmIChldnQ/LmRhdGU/LiRkKSB7XG4gICAgICB0aGlzLmR1ZURhdGUgPSBuZXcgRGF0ZShldnQuZGF0ZS4kZCk7XG4gICAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8uY2xvc2UoKTtcbiAgfVxuXG4gIGNsb3NlRHVlRGF0ZSgpIHtcbiAgICB0aGlzLmNsb3NlRHVlRGF0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuLCBzdGFnZUluZGV4PzogbnVtYmVyKSB7XG4gICAgdGhpcy5hc3NpZ25lZUNsaWNrZWQgPSBhY3RpdmU7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5jdXJyZW50U3RhZ2VJbmRleCA9IHN0YWdlSW5kZXggPz8gLTE7XG4gICAgICB0aGlzLmFjdGl2ZUFzc2lnbmVlID1cbiAgICAgICAgdGhpcy5jdXJyZW50U3RhZ2VJbmRleCAhPT0gLTFcbiAgICAgICAgICA/IHRoaXMuYXNzaWduZWVEYXRhW3RoaXMuY3VycmVudFN0YWdlSW5kZXhdXG4gICAgICAgICAgOiBbXTtcbiAgICB9XG4gIH1cblxuICBzZXRBc3NpZ25lZUxpc3QoKSB7XG4gICAgY29uc3QgZGlyZWN0QXNzaWduZWVzID0gdGhpcy5nZXRBc3NpZ25lZXMoKTtcbiAgICBjb25zdCBncm91cEFzc2lnbmVlcyA9IHRoaXMuZ2V0R3JvdXBBc3NpZ25lZXMoKTtcbiAgICB0aGlzLmFzc2lnbmVlTGlzdCA9IHRoaXMuZ2V0VW5pcXVlQXNzaWduZWVzKGRpcmVjdEFzc2lnbmVlcywgZ3JvdXBBc3NpZ25lZXMpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWVzKCk6IGFueVtdIHtcbiAgICBjb25zdCBhc3NpZ25lZUlkcyA9IHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzIHx8IFtdO1xuICAgIFxuICAgIHJldHVybiB0aGlzLnVzZXJMaXN0XG4gICAgICA/LmZpbHRlcigodXNlcjogYW55KSA9PiBhc3NpZ25lZUlkcy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyR3JvdXBzID0gdGhpcy5nZXRVc2VyR3JvdXBzKHVzZXIpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgYXNzb2NpYXRlZEdyb3VwczogdXNlckdyb3VwcyxcbiAgICAgICAgfTtcbiAgICAgIH0pIHx8IFtdO1xuICB9XG5cbiAgZ2V0VXNlckdyb3Vwcyh1c2VyOiBhbnkpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBMaXN0Py5maWx0ZXIoKGdyb3VwOiBhbnkpID0+XG4gICAgICB1c2VyPy51c2VyZ3JvdXBfaWQ/LmluY2x1ZGVzKGdyb3VwPy5ncm91cF9pZClcbiAgICApO1xuICB9XG5cbiAgZ2V0R3JvdXBBc3NpZ25lZXMoKTogYW55W10ge1xuICAgIGNvbnN0IGFzc2lnbmVlR3JvdXBJZHMgPSB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlc19ncm91cCB8fCBbXTtcbiAgICBcbiAgICByZXR1cm4gYXNzaWduZWVHcm91cElkcy5mbGF0TWFwKChncm91cElkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5maW5kR3JvdXBCeUlkKGdyb3VwSWQpO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXNzaWduZWVzRnJvbUdyb3VwKGdyb3VwKTtcbiAgICB9KSB8fCBbXTtcbiAgfVxuXG4gIGZpbmRHcm91cEJ5SWQoZ3JvdXBJZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5ncm91cExpc3Q/LmZpbmQoKGdyb3VwOiBhbnkpID0+IGdyb3VwPy5faWQgPT09IGdyb3VwSWQpO1xuICB9XG5cbiAgZ2V0QXNzaWduZWVzRnJvbUdyb3VwKGdyb3VwOiBhbnkpOiBhbnlbXSB7XG4gICAgcmV0dXJuIGdyb3VwPy5hc3NvY2lhdGVkVXNlcnM/Lm1hcCgodXNlcjogYW55KSA9PiB7XG4gICAgICBjb25zdCB1c2VyRnJvbUxpc3QgPSB0aGlzLmZpbmRVc2VyQnlJZCh1c2VyPy51c2VySWQ/Ll9pZCk7XG4gICAgICBpZiAodXNlckZyb21MaXN0KSB7XG4gICAgICAgIGNvbnN0IHVzZXJHcm91cHMgPSB0aGlzLmdldFVzZXJHcm91cHModXNlckZyb21MaXN0KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi51c2VyRnJvbUxpc3QsXG4gICAgICAgICAgYXNzb2NpYXRlZEdyb3VwczogdXNlckdyb3VwcyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcigodXNlcjogYW55KSA9PiB1c2VyICE9PSBudWxsKSB8fCBbXTtcbiAgfVxuXG4gIGZpbmRVc2VyQnlJZCh1c2VySWQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMudXNlckxpc3Q/LmZpbmQoKHVzZXI6IGFueSkgPT4gdXNlcj8uX2lkID09PSB1c2VySWQpO1xuICB9XG5cbiAgZ2V0VW5pcXVlQXNzaWduZWVzKGRpcmVjdEFzc2lnbmVlczogYW55W10sIGdyb3VwQXNzaWduZWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgICByZXR1cm4gWy4uLmRpcmVjdEFzc2lnbmVlcywgLi4uZ3JvdXBBc3NpZ25lZXNdLnJlZHVjZSgoYWNjOiBhbnlbXSwgdXNlcjogYW55KSA9PiB7XG4gICAgICBpZiAoIWFjYy5zb21lKCh1OiBhbnkpID0+IHU/Ll9pZCA9PT0gdXNlcj8uX2lkKSkge1xuICAgICAgICBhY2MucHVzaCh1c2VyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgc2VsZWN0ZWRBc3NpZ25lZShldmVudDogYW55W10pIHtcbiAgICBpZiAodGhpcy5jdXJyZW50U3RhZ2VJbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuYXNzaWduZWVEYXRhW3RoaXMuY3VycmVudFN0YWdlSW5kZXhdID0gZXZlbnQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWVDbGlja2VkID0gZmFsc2U7XG4gICAgaWYgKGV2ZW50Py5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNob3dBc3NpZ25lZUVycm9yID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2F2ZUNhc2VSZXNvbHV0aW9uRGVhZGxpbmUoKSB7XG4gICAgaWYgKCF0aGlzLmlzRHVlRGF0ZVZhbGlkKCkpIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmFyZUFzc2lnbmVlc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuc2hvd0Fzc2lnbmVlRXJyb3IgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0Fzc2lnbmVlRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnNldFBheWxvYWQoKTtcbiAgICB0aGlzLmNsb3NlRHVlRGF0ZVJlc29sdXRpb24uZW1pdCgpO1xuICB9XG5cbiAgaXNEdWVEYXRlVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kdWVEYXRlO1xuICB9XG5cbiAgYXJlQXNzaWduZWVzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dEZXRhaWxzPy5zdGFnZXNfYXNzaWduZWVzPy5ldmVyeShcbiAgICAgIChzdGFnZTogYW55LCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICB0aGlzLmFzc2lnbmVlRGF0YVtpbmRleF0gJiYgdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdPy5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuXG4gIGZvcm1hdER1ZURhdGUoZGF0ZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAvLyBBZGQgb25lIGRheSB0byB0aGUgZGF0ZVxuICAgIGxvY2FsRGF0ZS5zZXREYXRlKGxvY2FsRGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAvLyBTZXQgdGltZSB0byBtaWRuaWdodFxuICAgIGxvY2FsRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICByZXR1cm4gbG9jYWxEYXRlLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBzZXREZWFkbGluZVJlbWluZGVycygpOiB2b2lkIHtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5hc3NpZ25lZV9yZW1pbmRfYmVmb3JlID1cbiAgICAgIHRoaXMuZW1haWxSZW1pbmRlcjtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZS5vd25lcl9yZW1pbmRfYmVmb3JlID1cbiAgICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsO1xuICB9XG5cbiAgc2V0U3RhZ2VzQXNzaWduZWVzKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy53b3JrZmxvd0RldGFpbHM/LnN0YWdlc19hc3NpZ25lZXNcbiAgICAgIC5tYXAoKHN0YWdlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgYXNzaWduZWVEYXRhID0gdGhpcy5hc3NpZ25lZURhdGFbaW5kZXhdO1xuICAgICAgICByZXR1cm4gYXNzaWduZWVEYXRhXG4gICAgICAgICAgPyB0aGlzLmNyZWF0ZVN0YWdlQXNzaWduZWUoc3RhZ2UsIGFzc2lnbmVlRGF0YSlcbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIGNyZWF0ZVN0YWdlQXNzaWduZWUoc3RhZ2U6IGFueSwgYXNzaWduZWVEYXRhOiBhbnlbXSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWdlX2lkOiBzdGFnZT8uc3RhZ2VfaWQgfHwgJycsXG4gICAgICBhc3NpZ25lZV9pZDogYXNzaWduZWVEYXRhWzBdPy5faWQgfHwgJycsXG4gICAgICBkdWVfZGF0ZTogc3RhZ2U/LmR1ZV9kYXRlIHx8ICcnLFxuICAgIH07XG4gIH1cblxuICBzZXRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLmR1ZURhdGU7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUuZHVlX2RhdGUgPSBmb3JtYXR0ZWREYXRlO1xuICAgIHRoaXMuc2V0RGVhZGxpbmVSZW1pbmRlcnMoKTtcbiAgICBjb25zdCBzdGFnZXNBc3NpZ25lZXMgPSB0aGlzLnNldFN0YWdlc0Fzc2lnbmVlcygpO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLnN0YWdlc19hc3NpZ25lZXMgPVxuICAgICAgc3RhZ2VzQXNzaWduZWVzO1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy53b3JrZmxvd19pZCA9IHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIGRvY3VtZW50Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGVQaWNrZXJPYmplY3QgPSB7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBjbGFzczogJ2VmZmVjdGl2ZS1kYXRlJyxcbiAgICAgIHBvcHVwOiB0aGlzLmRhdGVQaWNrZXJQb3BVcCxcbiAgICAgIGNvbXBvbmVudDogdGhpcy5kYXRlUGlja2VyLFxuICAgICAgb3ZlcmxheTogdGhpcy5kYXRlUGlja2VyT3ZlcmxheSxcbiAgICB9O1xuICAgIHRoaXMuY29tbW9uRGF0ZVNlcnZpY2UuaGFuZGxlRG9jdW1lbnRDbGljayhkYXRlUGlja2VyT2JqZWN0KTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuZW1haWxSZW1pbmRlciA9PT0gMCkge1xuICAgICAgdGhpcy5lbWFpbFJlbWluZGVyID0gRU1BSUxfUkVNSU5ERVJTLmVtYWlsX3JlbWluZGVyO1xuICAgIH1cbiAgICBpZiAodGhpcy5lc2NhbGF0aW9uRW1haWwgPT09IDApIHtcbiAgICAgIHRoaXMuZXNjYWxhdGlvbkVtYWlsID0gRU1BSUxfUkVNSU5ERVJTLmVzY2FsYXRpb25fZW1haWxfcmVtaW5kZXI7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24taGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cbiAgICAgIENvbmZpZ3VyZSBSZXNvbHV0aW9uIERlYWRsaW5lICYgU3RhZ2UgRGV0YWlsc1xuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXJlc29sdXRpb24tYm9keS1pbm5lclwiPlxuICAgICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiZmFsc2VcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXG4gICAgICAgIFwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcbiAgICAgID48L2FwcC1uby1kYXRhPlxuXG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIFNQRUNJRlkgVEhFIERFQURMSU5FIFRPIENMT1NFIFRISVMgQ0FTRVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQgdngtZnMtMTYgdngtZnctNDAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXNlLWNhbGVuZGFyIHZ4LW1iLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzZS1jYWxlbmRhci1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICByZWFkb25seVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XG4gICAgICAgICAgICAgICAgZHVlRGF0ZVRleHRzLmNhc2VfZGV0YWlscy5kdWVfZGF0ZS5kZWFkbGluZV9wbGFjZWhvbGRlclxuICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRGF0ZVBpY2tlcigpXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImR1ZURhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5J1wiXG4gICAgICAgICAgICAgIGlkPVwiZWZmZWN0aXZlLWRhdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTJkOzwvaT5cbiAgICAgICAgICAgIDxkcC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwiZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTsgY2xvc2VEYXRlUGlja2VyKCRldmVudClcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cImRhdGVDb25maWdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImR1ZURhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kcC1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1vdmVybGF5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlUGlja2VyT3ZlcmxheVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwiZXJyb3JNc2cgdngtZnMtMTEgdngtbGgtNCB2eC1tdC0xXCI+XG4gICAgICAgICAgICB7eyBkdWVEYXRlVGV4dHMuZXJyb3JNZXNzYWdlLmR1ZURhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0xXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LXR0LXVwcGVyY2FzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQ09ORklHVVJFIERFQURMSU5FICYgQVNTSUdORUUgRk9SIEVBQ0ggU1RBR0UgSU4gVEhFIFdPUktGTE9XXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE2IHZ4LWZ3LTQwMFwiPio8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidG9nZ2xlLWFyZWEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGFwcC1jcy1zd2l0Y2g+QWxsb3cgUmVvcGVuaW5nIG9mIFByZXZpb3VzIFN0YWdlPC9hcHAtY3Mtc3dpdGNoPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTJcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAnSWYgZW5hYmxlZCwgdGhpcyBvcHRpb24gYWxsb3dzIHRoZSBhc3NpZ25lZSB0byByZXZpc2l0IGFuZCByZW9wZW4gYSBwcmV2aW91c2x5IGNvbXBsZXRlZCBzdGFnZS4gVGhlIHN0YWdlIHdpbGwgYmUgcmVzZXQsIGFuZCB0aGUgYXNzaWduZWQgdXNlciB3aWxsIG5lZWQgdG8gY29tcGxldGUgaXQgYWdhaW4uJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIlxuICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPiYjeGU5MWY7PC9pXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS1yZXNvbHV0aW9uLXRhYmxlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAjXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHN0YWdlLW5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgU1RBR0UgTkFNRVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzdGF0dXNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTiBTVEFUVVNcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC50cmFuc2l0aW9uX3N0YXR1c1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYXNzaWduZWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQVNTSUdORUVcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC5hc3NpZ25lZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgZGVhZGxpbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgREVBRExJTkVcbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBpbmZvIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1sLTFcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaGVscGVyVGV4dC5kZWFkbGluZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTFmOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgIGxldCBkYXRhIG9mIHdvcmtmbG93RGV0YWlscz8uc3RhZ2VzX2Fzc2lnbmVlcztcbiAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ubyB2eC1mcy0xMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhZ2UtbmFtZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEzIHZ4LXByLTJcIlxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBkYXRhPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc3RhdHVzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMlwiPlxuICAgICAgICAgICAgICAgICAge3sgZGF0YT8uc3RhdHVzX3RyYW5zaXRpb24/LmZyb21OYW1lIH19PGJyIC8+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2eC1tci0xXCJcbiAgICAgICAgICAgICAgICAgICAgPlRvPC9zcGFuXG4gICAgICAgICAgICAgICAgICA+e3sgZGF0YT8uc3RhdHVzX3RyYW5zaXRpb24/LnRvTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcih0cnVlLCBpKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhc3NpZ25lZURhdGFbaV0/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtMyB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdngtZnMtMTNcIj5TZWxlY3QgYSBVc2VyPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93IHZ4LWZzLTEyXCI+JiN4ZTllODs8L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhc3NpZ25lZURhdGFbaV0/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZnRlci1zZWxlY3QtYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTMgdngtcHItMlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlLWNoaXAgdngtZnMtMTEgdngtcGwtMiB2eC1wci0yIHZ4LWxoLTZcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJhc3NpZ25lZURhdGFbaV1bMF0/Lm1lbWJlcl9uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGFzc2lnbmVlRGF0YVtpXVswXT8ubWVtYmVyX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcih0cnVlLCBpKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LXR4dC1ibHVlIHZ4LW1yLTFcIj4mI3hlOWJhOzwvaVxuICAgICAgICAgICAgICAgICAgICA+RURJVFxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgZGVhZGxpbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXNlLWNhbGVuZGFyIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcHQtMyB2eC1wYi0zXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FzZS1jYWxlbmRhci1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7IGR1ZURhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5JyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZWZmZWN0aXZlLWRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZDs8L2k+XG4gICAgICAgICAgICAgICAgICAgIDxkcC1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTsgY2xvc2VEYXRlUGlja2VyKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiZGF0ZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9kcC1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidngtb3ZlcmxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGF0ZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGVQaWNrZXJPdmVybGF5XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93QXNzaWduZWVFcnJvclwiXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yTXNnIHZ4LWZzLTExIHZ4LWxoLTQgdngtbXQtMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZHVlRGF0ZVRleHRzLmVycm9yTWVzc2FnZS5zdGFnZUFzc2lnbmVlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIEVNQUlMIFJFTUlOREVSIENPTkZJR1VSQVRJT05cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE2IHZ4LWZ3LTQwMFwiPio8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlciB2eC1tYi0yXCI+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxhYmVsLXRvcCB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTQgdngtbWItMSB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgUkVNSU5ERVIgRU1BSUxcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImVtYWlsLWNvbmZpZ3VyZS1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1mbGV4LXdyYXAgdngtcC0yIHZ4LXBsLTMgdngtcHItMyB2eC1tYi0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tci0xXCI+XG4gICAgICAgICAgICBTZW5kIHJlZ3VsYXIgZW1haWwgcmVtaW5kZXJzIHRvIHRoZSBhc3NpZ25lZVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsUmVtaW5kZXJcIlxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleSAhPT0gJy4nXCJcbiAgICAgICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1sLTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxhY2stdGV4dFwiPmRheXM8L3NwYW4+IGJlZm9yZSB0aGUgc3RhZ2UgZGVhZGxpbmUuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsYWJlbC10b3AgdngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC00IHZ4LW1iLTEgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIEVTQ0FMQVRJT04gRU1BSUxcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImVtYWlsLWNvbmZpZ3VyZS1ib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1mbGV4LXdyYXAgdngtcC0yIHZ4LXBsLTMgdngtcHItMyB2eC1tYi0yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1tci0xXCI+XG4gICAgICAgICAgICBTZW5kIGVtYWlsIGVzY2FsYXRpb24gdG8gdGhlIENhc2UgT3duZXJcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlc2NhbGF0aW9uRW1haWxcIlxuICAgICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleSAhPT0gJy4nXCJcbiAgICAgICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LW1sLTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxhY2stdGV4dFwiPmRheXM8L3NwYW4+IGJlZm9yZSB0aGUgb3ZlcmFsbCBjYXNlXG4gICAgICAgICAgICBkZWFkbGluZSwgaWYgdGhlIGNhc2UgaXMgc3RpbGwgb3Blbi5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZUR1ZURhdGUoKVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlQ2FzZVJlc29sdXRpb25EZWFkbGluZSgpXCJcbiAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGFwcC1hc3NpZ25lZVxuICAqbmdJZj1cImFzc2lnbmVlQ2xpY2tlZFwiXG4gIFtwYXlsb2FkXT1cInBheWxvYWRcIlxuICBbYXNzaWduZWVMaXN0XT1cImFzc2lnbmVlTGlzdFwiXG4gIFthY3RpdmVBc3NpZ25lZV09XCJhY3RpdmVBc3NpZ25lZVwiXG4gIChzZWxlY3RlZEFzc2lnbmVlRXZlbnQpPVwic2VsZWN0ZWRBc3NpZ25lZSgkZXZlbnQpXCJcbiAgKGNsb3NlRXZlbnQpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuPjwvYXBwLWFzc2lnbmVlPlxuIl19
|
|
@@ -194,8 +194,8 @@ export const ADD_TO_CASE_WORKFLOW = {
|
|
|
194
194
|
resolution_deadline: {
|
|
195
195
|
due_date: '',
|
|
196
196
|
stages_assignees: [],
|
|
197
|
-
assignee_remind_before:
|
|
198
|
-
owner_remind_before:
|
|
197
|
+
assignee_remind_before: 1,
|
|
198
|
+
owner_remind_before: 2,
|
|
199
199
|
},
|
|
200
200
|
exception_type: '',
|
|
201
201
|
associated_risks: {
|
|
@@ -231,8 +231,8 @@ export const ADD_TO_WORKFLOW_PAYLOAD = {
|
|
|
231
231
|
resolution_deadline: {
|
|
232
232
|
due_date: '',
|
|
233
233
|
stages_assignees: [],
|
|
234
|
-
assignee_remind_before:
|
|
235
|
-
owner_remind_before:
|
|
234
|
+
assignee_remind_before: 1,
|
|
235
|
+
owner_remind_before: 2,
|
|
236
236
|
},
|
|
237
237
|
exception_type: '',
|
|
238
238
|
associated_risks: {
|
|
@@ -404,4 +404,4 @@ export const MONTH_NAMES = [
|
|
|
404
404
|
'Nov',
|
|
405
405
|
'Dec',
|
|
406
406
|
];
|
|
407
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNhc2UuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixTQUFTLEVBQUUscUJBQXFCO0lBQ2hDLFdBQVcsRUFBRSxlQUFlO0lBQzVCLFFBQVEsRUFBRSwrQkFBK0I7SUFDekMsWUFBWSxFQUFFLDRCQUE0QjtJQUMxQyxlQUFlLEVBQUUsaURBQWlEO0lBQ2xFLFlBQVksRUFBRTtRQUNaLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFdBQVcsRUFBRSw2QkFBNkI7U0FDM0M7UUFDRCxXQUFXLEVBQUU7WUFDWCxLQUFLLEVBQUUsYUFBYTtZQUNwQixXQUFXLEVBQUUsa0NBQWtDO1NBQ2hEO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixXQUFXLEVBQUUsd0RBQXdEO1lBQ3JFLFlBQVksRUFBRSxnQ0FBZ0M7WUFDOUMsVUFBVSxFQUFFLGlDQUFpQztZQUM3QyxpQkFBaUIsRUFBRSx1Q0FBdUM7WUFDMUQsY0FBYyxFQUFFLHNEQUFzRDtZQUN0RSxpQkFBaUIsRUFBRSw2RUFBNkU7WUFDaEcsVUFBVSxFQUFFLHVEQUF1RDtZQUNuRSxhQUFhLEVBQUUsMEVBQTBFO1NBQzFGO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFLG9CQUFvQjtTQUNsQztRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixLQUFLLEVBQUUsaURBQWlEO1lBQ3hELFdBQVcs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akIseUJBQXlCLEVBQUUsQ0FBQztDQUM3QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFVBQVU7SUFDVixJQUFJO0lBQ0osb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsWUFBWTtJQUNaLGVBQWU7SUFDZiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzNCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBSRVBPUlRfQ0FTRSA9IHtcbiAgY2FzZV90eXBlOiBgQ0FTRSBSRVBPUlRJTkcgVFlQRWAsXG4gIHJlcG9ydF9jYXNlOiBgUkVQT1JUIEEgQ0FTRWAsXG4gIGFkZF9jYXNlOiBgUkVQT1JUICYgQUREIENBU0UgVE8gV09SS0ZMT1dgLFxuICBkZWZhdWx0X2Zsb3c6IGBWQ29tcGx5J3MgRGVmYXVsdCBXb3JrZmxvd2AsXG4gIHJlY2VpdmVfdXBkYXRlczogYEkgV09VTEQgTElLRSBUTyBSRUNFSVZFIFVQREFURVMgQUJPVVQgVEhJUyBDQVNFYCxcbiAgY2FzZV9kZXRhaWxzOiB7XG4gICAgbmFtZToge1xuICAgICAgdGl0bGU6IGBDQVNFIE5BTUVgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBFbnRlciBhIG5hbWUgZm9yIHRoaXMgY2FzZS5gLFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgIHRpdGxlOiBgREVTQ1JJUFRJT05gLFxuICAgICAgcGxhY2Vob2xkZXI6IGBBZGQgZGV0YWlscyBhYm91dCB3aGF0IGhhcHBlbmVkLmAsXG4gICAgfSxcbiAgICByYzoge1xuICAgICAgdGl0bGU6IGBSRVNQT05TSUJJTElUWSBDRU5URVJgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBTZWxlY3QgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHRoYXQgdGhpcyBjYXNlIHJlbGF0ZXMgdG9gLFxuICAgICAgc2luZ3VsYXJUZXh0OiBgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkYCxcbiAgICAgIHBsdXJhbFRleHQ6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHNlbGVjdGVkYCxcbiAgICAgIG1haW5SY1BsYWNlaG9sZGVyOiBgU2VsZWN0IHRoZSBNYWluIFJlc3BvbnNpYmlsaXR5IENlbnRlcmAsXG4gICAgICBzZXBhcmF0ZVJjVGV4dDogYENSRUFURSBTRVBBUkFURSBDQVNFUyBGT1IgRUFDSCBSRVNQT05TSUJJTElUWSBDRU5URVJgLFxuICAgICAgc2VwYXJhdGVSY1Rvb2x0aXA6IGBJZiBzZWxlY3RlZCwgc2VwYXJhdGUgY2FzZXMgd2lsbCBiZSBjcmVhdGVkIGZvciBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgICAgc2FtZVJjVGV4dDogYERJU1BMQVkgVEhFIFNBTUUgQ0FTRVMgRk9SIEVBQ0ggUkVTUE9OU0lCSUxJVFkgQ0VOVEVSYCxcbiAgICAgIHNhbWVSY1Rvb2x0aXA6IGBJZiBzZWxlY3RlZCwgdGhlIHNhbWUgY2FzZSB3aWxsIGJlIGxpbmtlZCB0byBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIH0sXG4gICAgY2FzZV90eXBlOiB7XG4gICAgICB0aXRsZTogYENBU0UgVFlQRWAsXG4gICAgICBwbGFjZWhvbGRlcjogYFNlbGVjdCBhIENhc2UgVHlwZWAsXG4gICAgfSxcbiAgICBjYXRlZ29yeToge1xuICAgICAgdGl0bGU6IGBDQVNFIENBVEVHT1JZYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeWAsXG4gICAgfSxcbiAgICBhZGRpdGlvbmFsX2NhdGVnb3J5OiB7XG4gICAgICB0aXRsZTogYFNFTEVDVCBBRERJVElPTkFMIENBU0UgQ0FURUdPUklFUyBGT1IgUkVQT1JUSU5HYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeWAsXG4gICAgfSxcbiAgICB3aGVuOiB7XG4gICAgICB0aXRsZTogYFdIRU4gRElEIFRISVMgT0NDVVI/YCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgRGF0ZWAsXG4gICAgfSxcbiAgICBwcmlvcml0eToge1xuICAgICAgdGl0bGU6IGBDYXNlIFByaW9yaXR5YCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBQcmlvcml0eWAsXG4gICAgfSxcbiAgICBhdHRhY2htZW50czoge1xuICAgICAgdGl0bGU6IGBBdHRhY2ggU3VwcG9ydGluZyBEb2N1bWVudHNgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBBZGQgYXR0YWNobWVudHNgLFxuICAgIH0sXG4gICAgZHVlX2RhdGU6IHtcbiAgICAgIHRpdGxlOiBgUkVTT0xVVElPTiBERUFETElORSAmIFNUQUdFIFdPUktGTE9XYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgQ29uZmlndXJlYCxcbiAgICAgIGRlYWRsaW5lX3BsYWNlaG9sZGVyOiBgU2VsZWN0IGEgRGVhZGxpbmVgLFxuICAgICAgZGlzYWJsZWRUZXh0OlxuICAgICAgICAnVG8gbW9kaWZ5IHRoaXMgZmllbGQsIHBsZWFzZSBjb25maWd1cmUgYWxsIHRoZSBtYW5kYXRvcnkgaW5mb3JtYXRpb24gaW4gdGhpcyBmb3JtIGZpcnN0LicsXG4gICAgICBoZWxwVGV4dDogYFRoaXMgc2V0dGluZyBsZXRzIHlvdSBzcGVjaWZ5IHRoZSBjYXNlIHJlc29sdXRpb24gZGVhZGxpbmUgYW5kIGFzc2lnbiByZXNwb25zaWJsZSB1c2VycyBmb3IgZWFjaCBzdGFnZSBpbiB0aGUgd29ya2Zsb3cuYCxcbiAgICB9LFxuICAgIGFzc2lnbmVlczoge1xuICAgICAgdGl0bGU6IGBDQVNFIEFTU0lHTkVFKFMpYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IENhc2UgQXNzaWduZWUocylgLFxuICAgICAgaGVscFRleHQ6IGBDYXNlIEFzc2lnbmVlcyBhcmUgdXNlcnMgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIHNwZWNpZmljIHN0YWdlcy4gVGhleSBjYW4gc3VibWl0IGZvcm1zLCBjb21wbGV0ZSB0YXNrcywgYW5kIGFkdmFuY2UgdGhlIGNhc2UgdGhyb3VnaCB0aGUgd29ya2Zsb3cuYCxcbiAgICB9LFxuICAgIG93bmVyczoge1xuICAgICAgdGl0bGU6IGBDQVNFIE9XTkVSKFMpYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IENhc2UgT3duZXIocylgLFxuICAgICAgaGVscFRleHQ6IGBDYXNlIE93bmVycyBhcmUgdXNlcnMgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgY2FzZS4gVGhleSBjYW4gZWRpdCB0aGUgY2FzZSBkZXRhaWxzLCBtYW5hZ2Ugd29ya2Zsb3cgc2V0dGluZ3MsIGxpbmsgZm9ybXMsIGFuZCBhc3NpZ24gdGFza3MgdG8gcmVsZXZhbnQgc3Rha2Vob2xkZXJzLmAsXG4gICAgICBkaXNhYmxlZFRleHQ6XG4gICAgICAgICdUbyBtb2RpZnkgdGhpcyBmaWVsZCwgcGxlYXNlIGNvbmZpZ3VyZSB0aGUgbWFuZGF0b3J5IGluZm9ybWF0aW9uIGluIHRoZSBDYXNlIERldGFpbHMgc2VjdGlvbiBmaXJzdC4nLFxuICAgIH0sXG4gIH0sXG4gIHRvb2x0aXBNZXNzYWdlOiB7XG4gICAgcmVwb3J0X2Nhc2U6IGBUaGlzIG9wdGlvbiBsZXRzIHlvdSByZXBvcnQgYSBjYXNlIGFuZCBub3RpZnkgdGhlIGNhc2Ugb3duZXJzLiBUaGUgY2FzZSBvd25lcnMgd2lsbCBoYXZlIHRoZSBvcHRpb24gdG8gZWl0aGVyIGFzc2lnbiBhIGNhc2Ugd29ya2Zsb3cgb3IgZmxhZyBpdCBmb3IgYSBmb2xsb3ctdXAgYXQgYSBsYXRlciBkYXRlLmAsXG4gICAgYWRkX2Nhc2U6IGBUaGlzIG9wdGlvbiBsZXRzIHlvdSBkaXJlY3RseSByZXBvcnQgYW5kIGFzc2lnbiBhIGNhc2Ugd29ya2Zsb3cuIE9uY2UgdGhlIGNhc2UgaXMgcmVwb3J0ZWQsIHRoZSBjYXNlIG93bmVycyBhbmQgYXNzaWduZWVzIHdpbGwgYmUgbm90aWZpZWQgdmlhIGVtYWlsIHRvIHdvcmsgb24gdGhlIGNhc2UuYCxcbiAgICByZWNlaXZlX3VwZGF0ZXM6IGBJZiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLCB5b3Ugd2lsbCByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbmV2ZXIgdGhlIGNhc2UgaXMgdXBkYXRlZCBvciByZXNvbHZlZC5gLFxuICAgIHJjOiBgUmVzcG9uc2liaWxpdHkgQ2VudGVycyByZXByZXNlbnQgdGhlIGNvcnBvcmF0ZSBhbmQgb3BlcmF0aW9uYWwgaW5mcmFzdHJ1Y3R1cmUgb2YgYW4gb3JnYW5pemF0aW9uLiBPbmUgb3IgbW9yZSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIGNhbiBiZSBleHBvc2VkIHRvIGEgcmlzayBhbmQgYWNjb3JkaW5nbHksIHRoZSByaXNrIG11c3QgYmUgYXNzZXNzZWQgYWdhaW5zdCBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIHdvcmtmbG93OiBgQSB3b3JrZmxvdyBkZWZpbmVzIHRoZSBzZXJpZXMgb2Ygc3RhZ2VzIGFuZCBhY3Rpb25zIHJlcXVpcmVkIHRvIG1hbmFnZSBhIGNhc2UgZnJvbSBzdGFydCB0byBmaW5pc2guIFRoZSB3b3JrZmxvdyBmb3IgdGhpcyBjYXNlIGlzIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciwgQ2FzZSBUeXBlLCBDYXNlIFByaW9yaXR5LCBhbmQgQ2FzZSBDYXRlZ29yeS5gLFxuICB9LFxuICBlcnJvck1lc3NhZ2U6IHtcbiAgICByYzogYFNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIG5hbWU6IGBFbnRlciBhIG5hbWUgZm9yIHRoaXMgY2FzZS5gLFxuICAgIGRlc2NyaXB0aW9uOiBgQWRkIGRldGFpbHMgYWJvdXQgd2hhdCBoYXBwZW5lZC5gLFxuICAgIGNhc2VUeXBlOiBgU2VsZWN0IHRoZSBDYXNlIFR5cGUuYCxcbiAgICByZXBvcnREYXRlOiBgU2VsZWN0IHRoZSBkYXRlIG9uIHdoaWNoIHRoaXMgY2FzZSBvY2N1cnJlZC5gLFxuICAgIHByaW9yaXR5OiBgU3BlY2lmeSB0aGUgY2FzZSBwcmlvcml0eS5gLFxuICAgIG1haW5SYzogYFNlbGVjdCBhIE1haW4gUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXG4gICAgY2FzZU93bmVyOiBgU2VsZWN0IGEgQ2FzZSBPd25lci5gLFxuICAgIGNhc2VBc3NpZ25lZTogYFNlbGVjdCBhIENhc2UgQXNzaWduZWUuYCxcbiAgICBkdWVEYXRlOiBgU2VsZWN0IHRoZSBkYXRlIGJ5IHdoaWNoIHRoZSBjYXNlIHNob3VsZCBiZSBjbG9zZWQuYCxcbiAgICBzdGFnZUFzc2lnbmVlOiBgU2VsZWN0IHRoZSBBc3NpZ25lZSBmb3IgYWxsIHRoZSBTdGFnZXMuYCxcbiAgICBjYXNlUmVzb2x1dGlvbkRlYWRsaW5lOiBgU2VsZWN0IHRoZSBkYXRlIGJ5IHdoaWNoIHRoZSBjYXNlIHNob3VsZCBiZSBjbG9zZWQuYCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZPUk1fQ09ORklHID0ge1xuICBwbGFjZWhvbGRlcjogJ1NlbGVjdCBmb3JtcyBmb3IgdGhpcyBzdGFnZScsXG4gIGlzRXJyb3I6IGZhbHNlLFxuICBlcnJvck1lc3NhZ2U6ICcnLFxuICBpdGVtczogW10sXG4gIGlzTXVsdGk6IGZhbHNlLFxuICBzaG93SW5kZXRlcm1pbmF0ZUNoZWNrYm94OiBmYWxzZSxcbiAgaW5kZXRlcm1pbmF0ZUNoZWNrYm94TGFiZWw6ICcnLFxuICBzaG93Q2hpcENhcHN1bGU6IGZhbHNlLFxuICBhY3Rpb246ICcnLFxufTtcblxuZXhwb3J0IGVudW0gU2VsZWN0aW9uU3RhdGUge1xuICBFTVBUWSA9ICdlbXB0eScsXG4gIFNFTEVDVEVEID0gJ3NlbGVjdGVkJyxcbiAgRElTQUJMRUQgPSAnZGlzYWJsZWQnLFxufVxuXG5leHBvcnQgZW51bSBTZWxlY3Rpb25Qb3B1cFN0YXRlIHtcbiAgRFJPUF9ET1dOID0gJ2Ryb3AtZG93bicsXG4gIFNFTEVDVElPTl9ESUFMT0cgPSAnc2VsZWN0aW9uLWRpYWxvZycsXG59XG5cbmV4cG9ydCBlbnVtIEFDVElPTl9DT0RFIHtcbiAgUkMgPSAnUkMnLFxuICBDQyA9ICdDQycsXG59XG5cbmV4cG9ydCBjb25zdCBSRVBPUlRfQ0FTRV9QQVlMT0FEOiBhbnkgPSB7XG4gIG5hbWU6ICcnLFxuICBkZXNjcmlwdGlvbjoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgcmVjZWl2ZV91cGRhdGVzOiBmYWxzZSxcbiAgcmNfZGV0YWlsczoge1xuICAgIGlkczogW10sXG4gIH0sXG4gIHJlcG9ydGVkX2RhdGU6ICcnLFxuICBjYXNlX3R5cGU6IHtcbiAgICBpZDogJycsXG4gICAgY3VzdG9tX2ZpZWxkczogW10sXG4gIH0sXG4gIHByaW9yaXR5OiB7XG4gICAgaWQ6ICcnLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBjYXRlZ29yeToge1xuICAgIGlkczogW10sXG4gICAgY3VzdG9tX2ZpZWxkczogW10sXG4gIH0sXG4gIHN1cHBvcnRpbmdfZG9jdW1lbnRzOiBbXSxcbiAgc3RhdHVzOiAnUVVFVUVEJyxcbiAgc3RhZ2U6ICdSRVBPUlRFRCcsXG4gIHJpc2tfY2xhc3M6IDEsXG4gIGNhc2VUb1dvcmtmbG93OiB7fSxcbiAgcmVzcG9uc2liaWxpdGllc19MaW5rZWQ6IFtdLFxuICBsaW5rZWRfYXNzZXNzbWVudF9pc3N1ZXM6IHtcbiAgICByZXNwX2lkOiAnJyxcbiAgICBkdWVfZGF0ZV9pZDogJycsXG4gICAgYXNzZXNzbWVudF9pZDogJycsXG4gICAgcXVlc3Rpb25faWQ6ICcnLFxuICAgIGF1ZGl0ZWVfaWQ6IDAsXG4gIH0sXG4gIHNvdXJjZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgQUREX1RPX0NBU0VfV09SS0ZMT1cgPSB7XG4gIG5hbWU6ICcnLFxuICBkZXNjcmlwdGlvbjoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgcmVjZWl2ZV91cGRhdGVzOiBmYWxzZSxcbiAgcmNfZGV0YWlsczoge1xuICAgIGlkczogW10sXG4gICAgc2VwYXJhdGVfcmNfY2FzZXM6IGZhbHNlLFxuICAgIG1haW5fcmNfaWQ6ICcnLFxuICB9LFxuICByZXBvcnRlZF9kYXRlOiAnJyxcbiAgY2FzZV90eXBlOiB7XG4gICAgaWQ6ICcnLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBwcmlvcml0eToge1xuICAgIGlkOiAnJyxcbiAgICBjdXN0b21fZmllbGRzOiBbXSxcbiAgfSxcbiAgY2F0ZWdvcnk6IHtcbiAgICBpZHM6IFtdLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBhZGRpdGlvbmFsX2NhdGVnb3J5OiB7XG4gICAgaWRzOiBbXSxcbiAgICBjdXN0b21fZmllbGRzOiBbXSxcbiAgfSxcbiAgc3VwcG9ydGluZ19kb2N1bWVudHM6IFtdLFxuICBzdGFnZTogJ1JFUE9SVEVEJyxcbiAgcmlza19jbGFzczogMSxcbiAgY2FzZVRvV29ya2Zsb3c6IHtcbiAgICB3b3JrZmxvd19pZDogJycsXG4gICAgb3duZXJzOiBbXSxcbiAgICBhc3NpZ25lZXM6IFtdLFxuICAgIGFzc2lnbmVlc19ncm91cDogW10sXG4gICAgcmVzb2x1dGlvbl9kZWFkbGluZToge1xuICAgICAgZHVlX2RhdGU6ICcnLFxuICAgICAgc3RhZ2VzX2Fzc2lnbmVlczogW10sXG4gICAgICBhc3NpZ25lZV9yZW1pbmRfYmVmb3JlOiAwLFxuICAgICAgb3duZXJfcmVtaW5kX2JlZm9yZTogMCxcbiAgICB9LFxuICAgIGV4Y2VwdGlvbl90eXBlOiAnJyxcbiAgICBhc3NvY2lhdGVkX3Jpc2tzOiB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9LFxuICAgIG92ZXJzaWdodHM6IHtcbiAgICAgIGNjX2lkczogW10sXG4gICAgICBjY19mYWlsdXJlc19pZHM6IFtdLFxuICAgIH0sXG4gICAgZXZpZGVuY2VfZW5hYmxlZDogZmFsc2UsXG4gICAgcmVjb21tZW5kYXRpb25zOiB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9LFxuICB9LFxuICByZXNwb25zaWJpbGl0aWVzX0xpbmtlZDogW10sXG4gIGxpbmtlZF9hc3Nlc3NtZW50X2lzc3Vlczoge1xuICAgIHJlc3BfaWQ6ICcnLFxuICAgIGR1ZV9kYXRlX2lkOiAnJyxcbiAgICBhc3Nlc3NtZW50X2lkOiAnJyxcbiAgICBxdWVzdGlvbl9pZDogJycsXG4gICAgYXVkaXRlZV9pZDogMCxcbiAgfSxcbiAgc291cmNlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBRERfVE9fV09SS0ZMT1dfUEFZTE9BRCA9IHtcbiAgd29ya2Zsb3dfaWQ6ICcnLFxuICBjYXNlX2lkOiAnJyxcbiAgb3duZXJzOiBbXSxcbiAgYXNzaWduZWVzOiBbXSxcbiAgYXNzaWduZWVzX2dyb3VwOiBbXSxcbiAgcmVzb2x1dGlvbl9kZWFkbGluZToge1xuICAgIGR1ZV9kYXRlOiAnJyxcbiAgICBzdGFnZXNfYXNzaWduZWVzOiBbXSxcbiAgICBhc3NpZ25lZV9yZW1pbmRfYmVmb3JlOiAwLFxuICAgIG93bmVyX3JlbWluZF9iZWZvcmU6IDAsXG4gIH0sXG4gIGV4Y2VwdGlvbl90eXBlOiAnJyxcbiAgYXNzb2NpYXRlZF9yaXNrczoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgb3ZlcnNpZ2h0czoge1xuICAgIGNjX2lkczogW10sXG4gICAgY2NfZmFpbHVyZXNfaWRzOiBbXSxcbiAgfSxcbiAgZXZpZGVuY2VfZW5hYmxlZDogZmFsc2UsXG4gIHJlY29tbWVuZGF0aW9uczoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBFWENFUFRJT05fVFlQRSA9IHtcbiAgREVTSUdOX0VYQ0VQVElPTjogJ0RFU0lHTl9FWENFUFRJT04nLFxuICBFRkZFQ1RJVkVORVNTX0VYQ0VQVElPTjogJ0VGRkVDVElWRU5FU1NfRVhDRVBUSU9OJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RPUl9DT05GSUcgPSB7XG4gIENBU0VfQ0FURUdPUlk6IHtcbiAgICBwYW5lbFRpdGxlOiAnU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeScsXG4gICAgZW50aXR5U2luZ3VsYXI6ICdDYXRlZ29yeSBzZWxlY3RlZC4nLFxuICAgIGVudGl0eVBsdXJhbDogJ0NhdGVnb3JpZXMgc2VsZWN0ZWQuJyxcbiAgICBkaXNwbGF5S2V5OiAnbmFtZScsXG4gICAgaWRlbnRpZmllcktleTogJ19pZCcsXG4gICAgcGFyZW50S2V5OiAncGFyZW50X2lkJyxcbiAgICBwYXJlbnREaXNwbGF5S2V5OiAnbmFtZScsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggYSBDYXNlIENhdGVnb3J5LicsXG4gICAgbm9EYXRhVGV4dDogJ05vIGNhc2UgY2F0ZWdvcmllcyBmb3VuZC4nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IE9WRVJTSUdIVF9TRUxFQ1RPUl9DT05GSUcgPSB7XG4gIHBhbmVsVGl0bGU6ICdTZWxlY3QgdXNlcihzKScsXG4gIGZsb2F0aW5nVGV4dFNpbmd1bGFyOiAnVXNlciBzZWxlY3RlZCcsXG4gIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2VhcmNoIFVzZXInLFxuICBzZWFyY2hFbmFibGVkOiB0cnVlLFxuICBzZWxlY3RBbGxFbmFibGVkOiB0cnVlLFxuICBub0RhdGFUZXh0OiAnTm8gVXNlcnMgRm91bmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IEhFTFBFUl9URVhUID0ge1xuICB0cmFuc2l0aW9uX3N0YXR1czogYFRoaXMgc2V0dGluZyBkZWZpbmVzIHRoZSBvcmlnaW4gYW5kIGZpbmFsIHN0YXR1cyBmb3IgZWFjaCBzdGFnZSBhcyBpdCB0cmFuc2l0aW9ucyB0aHJvdWdoIHRoZSBjYXNlIHdvcmtmbG93LmAsXG4gIGFzc2lnbmVlOiBgVGhlc2UgYXJlIHRoZSB1c2VycyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgc3BlY2lmaWMgc3RhZ2VzLiBUaGV5IGNhbiBzdWJtaXQgZm9ybXMsIGNvbXBsZXRlIHRhc2tzLCBhbmQgYWR2YW5jZSB0aGUgY2FzZSB0aHJvdWdoIHRoZSB3b3JrZmxvdy5gLFxuICBkZWFkbGluZTogYFRoaXMgaXMgdGhlIGRhdGUgYnkgd2hpY2ggZWFjaCBzdGFnZSBtdXN0IGJlIGNvbXBsZXRlZC5gLFxufTtcblxuZXhwb3J0IGNvbnN0IFdPUktGTE9XX0RFVEFJTFNfUEFSQU1TID0ge1xuICByY19kZXRhaWxzOiB7IGlkOiAnJyB9LFxuICBjYXNlX3R5cGU6IHsgaWQ6ICcnIH0sXG4gIHByaW9yaXR5OiB7IGlkOiAnJyB9LFxuICBjYXRlZ29yeTogeyBpZDogJycgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTSURFX1NFTEVDVE9SX0VMRU1FTlRTID0gW1xuICAnQ0FTRV9DQVRFR09SWScsXG4gICdDQVNFX1JDJyxcbiAgJ0NBU0VfQ0MnLFxuICAnQ0FTRV9GQ0MnLFxuXTtcblxuZXhwb3J0IGNvbnN0IFJJU0tfQ0xBU1NJRklDQVRJT04gPSBbXG4gIHsgbmFtZTogJ0xPVycsIHZhbHVlOiAxLCBjbGFzczogJ2xvdycgfSxcbiAgeyBuYW1lOiAnTE9XLU1lZGl1bScsIHZhbHVlOiAyLCBjbGFzczogJ2xvdy1tZWQnIH0sXG4gIHsgbmFtZTogJ01lZGl1bS1IaWdoJywgdmFsdWU6IDMsIGNsYXNzOiAnbWVkLWhpZ2gnIH0sXG4gIHsgbmFtZTogJ0hpZ2gnLCB2YWx1ZTogNCwgY2xhc3M6ICdoaWdoJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEFERElUSU9OQUxfT1BUSU9OX1NUQVRVUyA9IHtcbiAgRVhDRVBUSU9OX1RZUEU6IGZhbHNlLFxuICBFVklERU5DRTogZmFsc2UsXG4gIFBSSU9SSVRZOiBmYWxzZSxcbiAgSVNTVUVfVFlQRTogZmFsc2UsXG4gIEFTU09DSUFURURfUklTS1M6IGZhbHNlLFxuICBPVkVSU0lHSFQ6IGZhbHNlLFxuICBSRUNPTU1FTkRFRF9BQ1RJT05TOiBmYWxzZSxcbiAgUklTS19DTEFTU0lGSUNBVElPTjogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9FUlJPUiA9IHtcbiAgbmFtZTogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgZGVzY3JpcHRpb246IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIHJlcG9ydERhdGU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIGNhc2VUeXBlOiB7IGlzRXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnJyB9LFxuICBwcmlvcml0eTogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgcmM6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIG1haW5SYzogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgY2FzZU93bmVyOiB7IGlzRXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnJyB9LFxuICBjYXNlQXNzaWduZWU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIGNhc2VSZXNvbHV0aW9uRGVhZGxpbmU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG59O1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX0JVVFRPTlMgPSBbXG4gIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmVwb3J0ZWQgQ2FzZScsIGNsYXNzOiAnd2hpdGUtYnRuJywgaWQ6ICd2aWV3Q2FzZScgfSxcbiAgeyBidXR0b25UZXh0OiAnUmVwb3J0IEFub3RoZXIgQ2FzZScsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3JlcG9ydENhc2UnIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgU01JTEVZX01FU1NBR0UgPSBgWW91J3JlIGFsbCBzZXQhYDtcblxuZXhwb3J0IGNvbnN0IEFERF9UT19XT1JLRkxPV19NT0NLID0ge1xuICB3b3JrZmxvd19pZDogJzY0YWU3MzM4YzBmNzQ4ZDE5NTNjMWU1NycsXG4gIG93bmVyczogWyc2Mzg5YzViNmY4NTdjYjAwMDhmZGM2MWUnXSxcbiAgYXNzaWduZWVzOiBbXG4gICAgJzY1MDEzZTUwNWEzMjc3MDAwOGQ2YzQ1NicsXG4gICAgJzY1MDEzZTcyODBlYTAyMDAwOGEyNGE2MCcsXG4gICAgJzY2OGJlNDIyMGU1NzJkMDAwODAzODcwZScsXG4gICAgJzY1MDEzZTNhNWEzMjc3MDAwOGQ2YzNjYycsXG4gIF0sXG4gIGFzc2lnbmVlc19ncm91cDogW1xuICAgICc2NzY0ZWZjMTUwYTBlYjAwMDg0MzlkNDYnLFxuICAgICc2NzY0MzdiNTI4OTMyZDAwMDg4MjI0MjYnLFxuICAgICc2NzYyYWI3NGI0NTk3OTAwMDhlMjFlOGUnLFxuICBdLFxuICByZXNvbHV0aW9uX2RlYWRsaW5lOiB7XG4gICAgZHVlX2RhdGU6ICcyMDI0LTEyLTAyVDE4OjMwOjAwLjAwMFonLFxuICAgIHN0YWdlc19hc3NpZ25lZXM6IFtcbiAgICAgIHtcbiAgICAgICAgc3RhZ2VfaWQ6ICc2NzU5MzcyNTczNjI4YmY4OThhM2VkMHEnLFxuICAgICAgICBhc3NpZ25lZV9pZDogJzY1MDEzZTcyODBlYTAyMDAwOGEyNGE2MCcsXG4gICAgICAgIGR1ZV9kYXRlOiAnMjAyNC0xMi0yMFQwNjoyMzowMS4wNzZaJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0YWdlX2lkOiAnNjc1OTM3MjU3MzYyOGJmODk4YTNlZDByJyxcbiAgICAgICAgYXNzaWduZWVfaWQ6ICc2NTAxM2U1MDVhMzI3NzAwMDhkNmM0NTYnLFxuICAgICAgICBkdWVfZGF0ZTogJzIwMjQtMTItMjBUMDY6MjM6MDEuMDc2WicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFnZV9pZDogJzY3NTkzNzI1NzM2MjhiZjg5OGEzZWQwcycsXG4gICAgICAgIGFzc2lnbmVlX2lkOiAnNjUwMTNlNzI4MGVhMDIwMDA4YTI0YTYwJyxcbiAgICAgICAgZHVlX2RhdGU6ICcyMDI0LTEyLTIwVDA2OjIzOjAxLjA3NlonLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGFzc2lnbmVlX3JlbWluZF9iZWZvcmU6IDUsXG4gICAgb3duZXJfcmVtaW5kX2JlZm9yZTogMTAsXG4gIH0sXG4gIGV4Y2VwdGlvbl90eXBlOiAnREVTSUdOX0VYQ0VQVElPTicsXG4gIGFzc29jaWF0ZWRfcmlza3M6IHtcbiAgICB0ZXh0OiAnZWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiZuYnNwOyAmbmJzcDsgJm5ic3A7YmJiYmJiYmJiJyxcbiAgICBhdHRhY2htZW50czogW10sXG4gIH0sXG4gIG92ZXJzaWdodHM6IHtcbiAgICBjY19pZHM6IFsnNjUwMTNlNzI4MGVhMDIwMDA4YTI0YTYwJywgJzY2OGJlNDIyMGU1NzJkMDAwODAzODcwZSddLFxuICAgIGNjX2ZhaWx1cmVzX2lkczogWyc2Mzg5YzViNmY4NTdjYjAwMDhmZGM2MWUnLCAnNjUwMTNkZmU4MGVhMDIwMDA4YTI0OWE2J10sXG4gIH0sXG4gIGV2aWRlbmNlX2VuYWJsZWQ6IHRydWUsXG4gIHJlY29tbWVuZGF0aW9uczoge1xuICAgIHRleHQ6ICd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dqd2pqampqJyxcbiAgICBhdHRhY2htZW50czogW10sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgRU1BSUxfUkVNSU5ERVJTID0ge1xuICBlbWFpbF9yZW1pbmRlcjogMSxcbiAgZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjogMixcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9TRUxFQ1RPUiA9IFtcbiAgJ2NhdGVnb3J5JyxcbiAgJ1JDJyxcbiAgJ2FkZGl0aW9uYWxDYXRlZ29yeScsXG4gICdDQVNFX0NDJyxcbiAgJ0NBU0VfRkNDJyxcbiAgJ0NBU0VfT1dORVInLFxuICAnQ0FTRV9BU1NJR05FRScsXG4gICdDQVNFX1JFU09MVVRJT05fREVBRExJTkUnLFxuICAnTElOS19NT1JFX1JFU1BPTlNJQklMSVRZJyxcbl07XG5cbmV4cG9ydCBjb25zdCBNT05USF9OQU1FUyA9IFtcbiAgJ0phbicsXG4gICdGZWInLFxuICAnTWFyJyxcbiAgJ0FwcicsXG4gICdNYXknLFxuICAnSnVuJyxcbiAgJ0p1bCcsXG4gICdBdWcnLFxuICAnU2VwJyxcbiAgJ09jdCcsXG4gICdOb3YnLFxuICAnRGVjJyxcbl07Il19
|
|
407
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNhc2UuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixTQUFTLEVBQUUscUJBQXFCO0lBQ2hDLFdBQVcsRUFBRSxlQUFlO0lBQzVCLFFBQVEsRUFBRSwrQkFBK0I7SUFDekMsWUFBWSxFQUFFLDRCQUE0QjtJQUMxQyxlQUFlLEVBQUUsaURBQWlEO0lBQ2xFLFlBQVksRUFBRTtRQUNaLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFdBQVcsRUFBRSw2QkFBNkI7U0FDM0M7UUFDRCxXQUFXLEVBQUU7WUFDWCxLQUFLLEVBQUUsYUFBYTtZQUNwQixXQUFXLEVBQUUsa0NBQWtDO1NBQ2hEO1FBQ0QsRUFBRSxFQUFFO1lBQ0YsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixXQUFXLEVBQUUsd0RBQXdEO1lBQ3JFLFlBQVksRUFBRSxnQ0FBZ0M7WUFDOUMsVUFBVSxFQUFFLGlDQUFpQztZQUM3QyxpQkFBaUIsRUFBRSx1Q0FBdUM7WUFDMUQsY0FBYyxFQUFFLHNEQUFzRDtZQUN0RSxpQkFBaUIsRUFBRSw2RUFBNkU7WUFDaEcsVUFBVSxFQUFFLHVEQUF1RDtZQUNuRSxhQUFhLEVBQUUsMEVBQTBFO1NBQzFGO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFLG9CQUFvQjtTQUNsQztRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixLQUFLLEVBQUUsaURBQWlEO1lBQ3hELFdBQVcs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akIseUJBQXlCLEVBQUUsQ0FBQztDQUM3QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFVBQVU7SUFDVixJQUFJO0lBQ0osb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsWUFBWTtJQUNaLGVBQWU7SUFDZiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzNCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBSRVBPUlRfQ0FTRSA9IHtcbiAgY2FzZV90eXBlOiBgQ0FTRSBSRVBPUlRJTkcgVFlQRWAsXG4gIHJlcG9ydF9jYXNlOiBgUkVQT1JUIEEgQ0FTRWAsXG4gIGFkZF9jYXNlOiBgUkVQT1JUICYgQUREIENBU0UgVE8gV09SS0ZMT1dgLFxuICBkZWZhdWx0X2Zsb3c6IGBWQ29tcGx5J3MgRGVmYXVsdCBXb3JrZmxvd2AsXG4gIHJlY2VpdmVfdXBkYXRlczogYEkgV09VTEQgTElLRSBUTyBSRUNFSVZFIFVQREFURVMgQUJPVVQgVEhJUyBDQVNFYCxcbiAgY2FzZV9kZXRhaWxzOiB7XG4gICAgbmFtZToge1xuICAgICAgdGl0bGU6IGBDQVNFIE5BTUVgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBFbnRlciBhIG5hbWUgZm9yIHRoaXMgY2FzZS5gLFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgIHRpdGxlOiBgREVTQ1JJUFRJT05gLFxuICAgICAgcGxhY2Vob2xkZXI6IGBBZGQgZGV0YWlscyBhYm91dCB3aGF0IGhhcHBlbmVkLmAsXG4gICAgfSxcbiAgICByYzoge1xuICAgICAgdGl0bGU6IGBSRVNQT05TSUJJTElUWSBDRU5URVJgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBTZWxlY3QgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHRoYXQgdGhpcyBjYXNlIHJlbGF0ZXMgdG9gLFxuICAgICAgc2luZ3VsYXJUZXh0OiBgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkYCxcbiAgICAgIHBsdXJhbFRleHQ6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHNlbGVjdGVkYCxcbiAgICAgIG1haW5SY1BsYWNlaG9sZGVyOiBgU2VsZWN0IHRoZSBNYWluIFJlc3BvbnNpYmlsaXR5IENlbnRlcmAsXG4gICAgICBzZXBhcmF0ZVJjVGV4dDogYENSRUFURSBTRVBBUkFURSBDQVNFUyBGT1IgRUFDSCBSRVNQT05TSUJJTElUWSBDRU5URVJgLFxuICAgICAgc2VwYXJhdGVSY1Rvb2x0aXA6IGBJZiBzZWxlY3RlZCwgc2VwYXJhdGUgY2FzZXMgd2lsbCBiZSBjcmVhdGVkIGZvciBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgICAgc2FtZVJjVGV4dDogYERJU1BMQVkgVEhFIFNBTUUgQ0FTRVMgRk9SIEVBQ0ggUkVTUE9OU0lCSUxJVFkgQ0VOVEVSYCxcbiAgICAgIHNhbWVSY1Rvb2x0aXA6IGBJZiBzZWxlY3RlZCwgdGhlIHNhbWUgY2FzZSB3aWxsIGJlIGxpbmtlZCB0byBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIH0sXG4gICAgY2FzZV90eXBlOiB7XG4gICAgICB0aXRsZTogYENBU0UgVFlQRWAsXG4gICAgICBwbGFjZWhvbGRlcjogYFNlbGVjdCBhIENhc2UgVHlwZWAsXG4gICAgfSxcbiAgICBjYXRlZ29yeToge1xuICAgICAgdGl0bGU6IGBDQVNFIENBVEVHT1JZYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeWAsXG4gICAgfSxcbiAgICBhZGRpdGlvbmFsX2NhdGVnb3J5OiB7XG4gICAgICB0aXRsZTogYFNFTEVDVCBBRERJVElPTkFMIENBU0UgQ0FURUdPUklFUyBGT1IgUkVQT1JUSU5HYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeWAsXG4gICAgfSxcbiAgICB3aGVuOiB7XG4gICAgICB0aXRsZTogYFdIRU4gRElEIFRISVMgT0NDVVI/YCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgRGF0ZWAsXG4gICAgfSxcbiAgICBwcmlvcml0eToge1xuICAgICAgdGl0bGU6IGBDYXNlIFByaW9yaXR5YCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IGEgQ2FzZSBQcmlvcml0eWAsXG4gICAgfSxcbiAgICBhdHRhY2htZW50czoge1xuICAgICAgdGl0bGU6IGBBdHRhY2ggU3VwcG9ydGluZyBEb2N1bWVudHNgLFxuICAgICAgcGxhY2Vob2xkZXI6IGBBZGQgYXR0YWNobWVudHNgLFxuICAgIH0sXG4gICAgZHVlX2RhdGU6IHtcbiAgICAgIHRpdGxlOiBgUkVTT0xVVElPTiBERUFETElORSAmIFNUQUdFIFdPUktGTE9XYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgQ29uZmlndXJlYCxcbiAgICAgIGRlYWRsaW5lX3BsYWNlaG9sZGVyOiBgU2VsZWN0IGEgRGVhZGxpbmVgLFxuICAgICAgZGlzYWJsZWRUZXh0OlxuICAgICAgICAnVG8gbW9kaWZ5IHRoaXMgZmllbGQsIHBsZWFzZSBjb25maWd1cmUgYWxsIHRoZSBtYW5kYXRvcnkgaW5mb3JtYXRpb24gaW4gdGhpcyBmb3JtIGZpcnN0LicsXG4gICAgICBoZWxwVGV4dDogYFRoaXMgc2V0dGluZyBsZXRzIHlvdSBzcGVjaWZ5IHRoZSBjYXNlIHJlc29sdXRpb24gZGVhZGxpbmUgYW5kIGFzc2lnbiByZXNwb25zaWJsZSB1c2VycyBmb3IgZWFjaCBzdGFnZSBpbiB0aGUgd29ya2Zsb3cuYCxcbiAgICB9LFxuICAgIGFzc2lnbmVlczoge1xuICAgICAgdGl0bGU6IGBDQVNFIEFTU0lHTkVFKFMpYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IENhc2UgQXNzaWduZWUocylgLFxuICAgICAgaGVscFRleHQ6IGBDYXNlIEFzc2lnbmVlcyBhcmUgdXNlcnMgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIHNwZWNpZmljIHN0YWdlcy4gVGhleSBjYW4gc3VibWl0IGZvcm1zLCBjb21wbGV0ZSB0YXNrcywgYW5kIGFkdmFuY2UgdGhlIGNhc2UgdGhyb3VnaCB0aGUgd29ya2Zsb3cuYCxcbiAgICB9LFxuICAgIG93bmVyczoge1xuICAgICAgdGl0bGU6IGBDQVNFIE9XTkVSKFMpYCxcbiAgICAgIHBsYWNlaG9sZGVyOiBgU2VsZWN0IENhc2UgT3duZXIocylgLFxuICAgICAgaGVscFRleHQ6IGBDYXNlIE93bmVycyBhcmUgdXNlcnMgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgY2FzZS4gVGhleSBjYW4gZWRpdCB0aGUgY2FzZSBkZXRhaWxzLCBtYW5hZ2Ugd29ya2Zsb3cgc2V0dGluZ3MsIGxpbmsgZm9ybXMsIGFuZCBhc3NpZ24gdGFza3MgdG8gcmVsZXZhbnQgc3Rha2Vob2xkZXJzLmAsXG4gICAgICBkaXNhYmxlZFRleHQ6XG4gICAgICAgICdUbyBtb2RpZnkgdGhpcyBmaWVsZCwgcGxlYXNlIGNvbmZpZ3VyZSB0aGUgbWFuZGF0b3J5IGluZm9ybWF0aW9uIGluIHRoZSBDYXNlIERldGFpbHMgc2VjdGlvbiBmaXJzdC4nLFxuICAgIH0sXG4gIH0sXG4gIHRvb2x0aXBNZXNzYWdlOiB7XG4gICAgcmVwb3J0X2Nhc2U6IGBUaGlzIG9wdGlvbiBsZXRzIHlvdSByZXBvcnQgYSBjYXNlIGFuZCBub3RpZnkgdGhlIGNhc2Ugb3duZXJzLiBUaGUgY2FzZSBvd25lcnMgd2lsbCBoYXZlIHRoZSBvcHRpb24gdG8gZWl0aGVyIGFzc2lnbiBhIGNhc2Ugd29ya2Zsb3cgb3IgZmxhZyBpdCBmb3IgYSBmb2xsb3ctdXAgYXQgYSBsYXRlciBkYXRlLmAsXG4gICAgYWRkX2Nhc2U6IGBUaGlzIG9wdGlvbiBsZXRzIHlvdSBkaXJlY3RseSByZXBvcnQgYW5kIGFzc2lnbiBhIGNhc2Ugd29ya2Zsb3cuIE9uY2UgdGhlIGNhc2UgaXMgcmVwb3J0ZWQsIHRoZSBjYXNlIG93bmVycyBhbmQgYXNzaWduZWVzIHdpbGwgYmUgbm90aWZpZWQgdmlhIGVtYWlsIHRvIHdvcmsgb24gdGhlIGNhc2UuYCxcbiAgICByZWNlaXZlX3VwZGF0ZXM6IGBJZiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLCB5b3Ugd2lsbCByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgd2hlbmV2ZXIgdGhlIGNhc2UgaXMgdXBkYXRlZCBvciByZXNvbHZlZC5gLFxuICAgIHJjOiBgUmVzcG9uc2liaWxpdHkgQ2VudGVycyByZXByZXNlbnQgdGhlIGNvcnBvcmF0ZSBhbmQgb3BlcmF0aW9uYWwgaW5mcmFzdHJ1Y3R1cmUgb2YgYW4gb3JnYW5pemF0aW9uLiBPbmUgb3IgbW9yZSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIGNhbiBiZSBleHBvc2VkIHRvIGEgcmlzayBhbmQgYWNjb3JkaW5nbHksIHRoZSByaXNrIG11c3QgYmUgYXNzZXNzZWQgYWdhaW5zdCBlYWNoIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIHdvcmtmbG93OiBgQSB3b3JrZmxvdyBkZWZpbmVzIHRoZSBzZXJpZXMgb2Ygc3RhZ2VzIGFuZCBhY3Rpb25zIHJlcXVpcmVkIHRvIG1hbmFnZSBhIGNhc2UgZnJvbSBzdGFydCB0byBmaW5pc2guIFRoZSB3b3JrZmxvdyBmb3IgdGhpcyBjYXNlIGlzIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciwgQ2FzZSBUeXBlLCBDYXNlIFByaW9yaXR5LCBhbmQgQ2FzZSBDYXRlZ29yeS5gLFxuICB9LFxuICBlcnJvck1lc3NhZ2U6IHtcbiAgICByYzogYFNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5IENlbnRlci5gLFxuICAgIG5hbWU6IGBFbnRlciBhIG5hbWUgZm9yIHRoaXMgY2FzZS5gLFxuICAgIGRlc2NyaXB0aW9uOiBgQWRkIGRldGFpbHMgYWJvdXQgd2hhdCBoYXBwZW5lZC5gLFxuICAgIGNhc2VUeXBlOiBgU2VsZWN0IHRoZSBDYXNlIFR5cGUuYCxcbiAgICByZXBvcnREYXRlOiBgU2VsZWN0IHRoZSBkYXRlIG9uIHdoaWNoIHRoaXMgY2FzZSBvY2N1cnJlZC5gLFxuICAgIHByaW9yaXR5OiBgU3BlY2lmeSB0aGUgY2FzZSBwcmlvcml0eS5gLFxuICAgIG1haW5SYzogYFNlbGVjdCBhIE1haW4gUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXG4gICAgY2FzZU93bmVyOiBgU2VsZWN0IGEgQ2FzZSBPd25lci5gLFxuICAgIGNhc2VBc3NpZ25lZTogYFNlbGVjdCBhIENhc2UgQXNzaWduZWUuYCxcbiAgICBkdWVEYXRlOiBgU2VsZWN0IHRoZSBkYXRlIGJ5IHdoaWNoIHRoZSBjYXNlIHNob3VsZCBiZSBjbG9zZWQuYCxcbiAgICBzdGFnZUFzc2lnbmVlOiBgU2VsZWN0IHRoZSBBc3NpZ25lZSBmb3IgYWxsIHRoZSBTdGFnZXMuYCxcbiAgICBjYXNlUmVzb2x1dGlvbkRlYWRsaW5lOiBgU2VsZWN0IHRoZSBkYXRlIGJ5IHdoaWNoIHRoZSBjYXNlIHNob3VsZCBiZSBjbG9zZWQuYCxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZPUk1fQ09ORklHID0ge1xuICBwbGFjZWhvbGRlcjogJ1NlbGVjdCBmb3JtcyBmb3IgdGhpcyBzdGFnZScsXG4gIGlzRXJyb3I6IGZhbHNlLFxuICBlcnJvck1lc3NhZ2U6ICcnLFxuICBpdGVtczogW10sXG4gIGlzTXVsdGk6IGZhbHNlLFxuICBzaG93SW5kZXRlcm1pbmF0ZUNoZWNrYm94OiBmYWxzZSxcbiAgaW5kZXRlcm1pbmF0ZUNoZWNrYm94TGFiZWw6ICcnLFxuICBzaG93Q2hpcENhcHN1bGU6IGZhbHNlLFxuICBhY3Rpb246ICcnLFxufTtcblxuZXhwb3J0IGVudW0gU2VsZWN0aW9uU3RhdGUge1xuICBFTVBUWSA9ICdlbXB0eScsXG4gIFNFTEVDVEVEID0gJ3NlbGVjdGVkJyxcbiAgRElTQUJMRUQgPSAnZGlzYWJsZWQnLFxufVxuXG5leHBvcnQgZW51bSBTZWxlY3Rpb25Qb3B1cFN0YXRlIHtcbiAgRFJPUF9ET1dOID0gJ2Ryb3AtZG93bicsXG4gIFNFTEVDVElPTl9ESUFMT0cgPSAnc2VsZWN0aW9uLWRpYWxvZycsXG59XG5cbmV4cG9ydCBlbnVtIEFDVElPTl9DT0RFIHtcbiAgUkMgPSAnUkMnLFxuICBDQyA9ICdDQycsXG59XG5cbmV4cG9ydCBjb25zdCBSRVBPUlRfQ0FTRV9QQVlMT0FEOiBhbnkgPSB7XG4gIG5hbWU6ICcnLFxuICBkZXNjcmlwdGlvbjoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgcmVjZWl2ZV91cGRhdGVzOiBmYWxzZSxcbiAgcmNfZGV0YWlsczoge1xuICAgIGlkczogW10sXG4gIH0sXG4gIHJlcG9ydGVkX2RhdGU6ICcnLFxuICBjYXNlX3R5cGU6IHtcbiAgICBpZDogJycsXG4gICAgY3VzdG9tX2ZpZWxkczogW10sXG4gIH0sXG4gIHByaW9yaXR5OiB7XG4gICAgaWQ6ICcnLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBjYXRlZ29yeToge1xuICAgIGlkczogW10sXG4gICAgY3VzdG9tX2ZpZWxkczogW10sXG4gIH0sXG4gIHN1cHBvcnRpbmdfZG9jdW1lbnRzOiBbXSxcbiAgc3RhdHVzOiAnUVVFVUVEJyxcbiAgc3RhZ2U6ICdSRVBPUlRFRCcsXG4gIHJpc2tfY2xhc3M6IDEsXG4gIGNhc2VUb1dvcmtmbG93OiB7fSxcbiAgcmVzcG9uc2liaWxpdGllc19MaW5rZWQ6IFtdLFxuICBsaW5rZWRfYXNzZXNzbWVudF9pc3N1ZXM6IHtcbiAgICByZXNwX2lkOiAnJyxcbiAgICBkdWVfZGF0ZV9pZDogJycsXG4gICAgYXNzZXNzbWVudF9pZDogJycsXG4gICAgcXVlc3Rpb25faWQ6ICcnLFxuICAgIGF1ZGl0ZWVfaWQ6IDAsXG4gIH0sXG4gIHNvdXJjZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgQUREX1RPX0NBU0VfV09SS0ZMT1cgPSB7XG4gIG5hbWU6ICcnLFxuICBkZXNjcmlwdGlvbjoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgcmVjZWl2ZV91cGRhdGVzOiBmYWxzZSxcbiAgcmNfZGV0YWlsczoge1xuICAgIGlkczogW10sXG4gICAgc2VwYXJhdGVfcmNfY2FzZXM6IGZhbHNlLFxuICAgIG1haW5fcmNfaWQ6ICcnLFxuICB9LFxuICByZXBvcnRlZF9kYXRlOiAnJyxcbiAgY2FzZV90eXBlOiB7XG4gICAgaWQ6ICcnLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBwcmlvcml0eToge1xuICAgIGlkOiAnJyxcbiAgICBjdXN0b21fZmllbGRzOiBbXSxcbiAgfSxcbiAgY2F0ZWdvcnk6IHtcbiAgICBpZHM6IFtdLFxuICAgIGN1c3RvbV9maWVsZHM6IFtdLFxuICB9LFxuICBhZGRpdGlvbmFsX2NhdGVnb3J5OiB7XG4gICAgaWRzOiBbXSxcbiAgICBjdXN0b21fZmllbGRzOiBbXSxcbiAgfSxcbiAgc3VwcG9ydGluZ19kb2N1bWVudHM6IFtdLFxuICBzdGFnZTogJ1JFUE9SVEVEJyxcbiAgcmlza19jbGFzczogMSxcbiAgY2FzZVRvV29ya2Zsb3c6IHtcbiAgICB3b3JrZmxvd19pZDogJycsXG4gICAgb3duZXJzOiBbXSxcbiAgICBhc3NpZ25lZXM6IFtdLFxuICAgIGFzc2lnbmVlc19ncm91cDogW10sXG4gICAgcmVzb2x1dGlvbl9kZWFkbGluZToge1xuICAgICAgZHVlX2RhdGU6ICcnLFxuICAgICAgc3RhZ2VzX2Fzc2lnbmVlczogW10sXG4gICAgICBhc3NpZ25lZV9yZW1pbmRfYmVmb3JlOiAxLFxuICAgICAgb3duZXJfcmVtaW5kX2JlZm9yZTogMixcbiAgICB9LFxuICAgIGV4Y2VwdGlvbl90eXBlOiAnJyxcbiAgICBhc3NvY2lhdGVkX3Jpc2tzOiB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9LFxuICAgIG92ZXJzaWdodHM6IHtcbiAgICAgIGNjX2lkczogW10sXG4gICAgICBjY19mYWlsdXJlc19pZHM6IFtdLFxuICAgIH0sXG4gICAgZXZpZGVuY2VfZW5hYmxlZDogZmFsc2UsXG4gICAgcmVjb21tZW5kYXRpb25zOiB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9LFxuICB9LFxuICByZXNwb25zaWJpbGl0aWVzX0xpbmtlZDogW10sXG4gIGxpbmtlZF9hc3Nlc3NtZW50X2lzc3Vlczoge1xuICAgIHJlc3BfaWQ6ICcnLFxuICAgIGR1ZV9kYXRlX2lkOiAnJyxcbiAgICBhc3Nlc3NtZW50X2lkOiAnJyxcbiAgICBxdWVzdGlvbl9pZDogJycsXG4gICAgYXVkaXRlZV9pZDogMCxcbiAgfSxcbiAgc291cmNlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBRERfVE9fV09SS0ZMT1dfUEFZTE9BRCA9IHtcbiAgd29ya2Zsb3dfaWQ6ICcnLFxuICBjYXNlX2lkOiAnJyxcbiAgb3duZXJzOiBbXSxcbiAgYXNzaWduZWVzOiBbXSxcbiAgYXNzaWduZWVzX2dyb3VwOiBbXSxcbiAgcmVzb2x1dGlvbl9kZWFkbGluZToge1xuICAgIGR1ZV9kYXRlOiAnJyxcbiAgICBzdGFnZXNfYXNzaWduZWVzOiBbXSxcbiAgICBhc3NpZ25lZV9yZW1pbmRfYmVmb3JlOiAxLFxuICAgIG93bmVyX3JlbWluZF9iZWZvcmU6IDIsXG4gIH0sXG4gIGV4Y2VwdGlvbl90eXBlOiAnJyxcbiAgYXNzb2NpYXRlZF9yaXNrczoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbiAgb3ZlcnNpZ2h0czoge1xuICAgIGNjX2lkczogW10sXG4gICAgY2NfZmFpbHVyZXNfaWRzOiBbXSxcbiAgfSxcbiAgZXZpZGVuY2VfZW5hYmxlZDogZmFsc2UsXG4gIHJlY29tbWVuZGF0aW9uczoge1xuICAgIHRleHQ6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBFWENFUFRJT05fVFlQRSA9IHtcbiAgREVTSUdOX0VYQ0VQVElPTjogJ0RFU0lHTl9FWENFUFRJT04nLFxuICBFRkZFQ1RJVkVORVNTX0VYQ0VQVElPTjogJ0VGRkVDVElWRU5FU1NfRVhDRVBUSU9OJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RPUl9DT05GSUcgPSB7XG4gIENBU0VfQ0FURUdPUlk6IHtcbiAgICBwYW5lbFRpdGxlOiAnU2VsZWN0IGEgQ2FzZSBDYXRlZ29yeScsXG4gICAgZW50aXR5U2luZ3VsYXI6ICdDYXRlZ29yeSBzZWxlY3RlZC4nLFxuICAgIGVudGl0eVBsdXJhbDogJ0NhdGVnb3JpZXMgc2VsZWN0ZWQuJyxcbiAgICBkaXNwbGF5S2V5OiAnbmFtZScsXG4gICAgaWRlbnRpZmllcktleTogJ19pZCcsXG4gICAgcGFyZW50S2V5OiAncGFyZW50X2lkJyxcbiAgICBwYXJlbnREaXNwbGF5S2V5OiAnbmFtZScsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggYSBDYXNlIENhdGVnb3J5LicsXG4gICAgbm9EYXRhVGV4dDogJ05vIGNhc2UgY2F0ZWdvcmllcyBmb3VuZC4nLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IE9WRVJTSUdIVF9TRUxFQ1RPUl9DT05GSUcgPSB7XG4gIHBhbmVsVGl0bGU6ICdTZWxlY3QgdXNlcihzKScsXG4gIGZsb2F0aW5nVGV4dFNpbmd1bGFyOiAnVXNlciBzZWxlY3RlZCcsXG4gIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2VhcmNoIFVzZXInLFxuICBzZWFyY2hFbmFibGVkOiB0cnVlLFxuICBzZWxlY3RBbGxFbmFibGVkOiB0cnVlLFxuICBub0RhdGFUZXh0OiAnTm8gVXNlcnMgRm91bmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IEhFTFBFUl9URVhUID0ge1xuICB0cmFuc2l0aW9uX3N0YXR1czogYFRoaXMgc2V0dGluZyBkZWZpbmVzIHRoZSBvcmlnaW4gYW5kIGZpbmFsIHN0YXR1cyBmb3IgZWFjaCBzdGFnZSBhcyBpdCB0cmFuc2l0aW9ucyB0aHJvdWdoIHRoZSBjYXNlIHdvcmtmbG93LmAsXG4gIGFzc2lnbmVlOiBgVGhlc2UgYXJlIHRoZSB1c2VycyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgc3BlY2lmaWMgc3RhZ2VzLiBUaGV5IGNhbiBzdWJtaXQgZm9ybXMsIGNvbXBsZXRlIHRhc2tzLCBhbmQgYWR2YW5jZSB0aGUgY2FzZSB0aHJvdWdoIHRoZSB3b3JrZmxvdy5gLFxuICBkZWFkbGluZTogYFRoaXMgaXMgdGhlIGRhdGUgYnkgd2hpY2ggZWFjaCBzdGFnZSBtdXN0IGJlIGNvbXBsZXRlZC5gLFxufTtcblxuZXhwb3J0IGNvbnN0IFdPUktGTE9XX0RFVEFJTFNfUEFSQU1TID0ge1xuICByY19kZXRhaWxzOiB7IGlkOiAnJyB9LFxuICBjYXNlX3R5cGU6IHsgaWQ6ICcnIH0sXG4gIHByaW9yaXR5OiB7IGlkOiAnJyB9LFxuICBjYXRlZ29yeTogeyBpZDogJycgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTSURFX1NFTEVDVE9SX0VMRU1FTlRTID0gW1xuICAnQ0FTRV9DQVRFR09SWScsXG4gICdDQVNFX1JDJyxcbiAgJ0NBU0VfQ0MnLFxuICAnQ0FTRV9GQ0MnLFxuXTtcblxuZXhwb3J0IGNvbnN0IFJJU0tfQ0xBU1NJRklDQVRJT04gPSBbXG4gIHsgbmFtZTogJ0xPVycsIHZhbHVlOiAxLCBjbGFzczogJ2xvdycgfSxcbiAgeyBuYW1lOiAnTE9XLU1lZGl1bScsIHZhbHVlOiAyLCBjbGFzczogJ2xvdy1tZWQnIH0sXG4gIHsgbmFtZTogJ01lZGl1bS1IaWdoJywgdmFsdWU6IDMsIGNsYXNzOiAnbWVkLWhpZ2gnIH0sXG4gIHsgbmFtZTogJ0hpZ2gnLCB2YWx1ZTogNCwgY2xhc3M6ICdoaWdoJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEFERElUSU9OQUxfT1BUSU9OX1NUQVRVUyA9IHtcbiAgRVhDRVBUSU9OX1RZUEU6IGZhbHNlLFxuICBFVklERU5DRTogZmFsc2UsXG4gIFBSSU9SSVRZOiBmYWxzZSxcbiAgSVNTVUVfVFlQRTogZmFsc2UsXG4gIEFTU09DSUFURURfUklTS1M6IGZhbHNlLFxuICBPVkVSU0lHSFQ6IGZhbHNlLFxuICBSRUNPTU1FTkRFRF9BQ1RJT05TOiBmYWxzZSxcbiAgUklTS19DTEFTU0lGSUNBVElPTjogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9FUlJPUiA9IHtcbiAgbmFtZTogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgZGVzY3JpcHRpb246IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIHJlcG9ydERhdGU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIGNhc2VUeXBlOiB7IGlzRXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnJyB9LFxuICBwcmlvcml0eTogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgcmM6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIG1haW5SYzogeyBpc0Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJycgfSxcbiAgY2FzZU93bmVyOiB7IGlzRXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnJyB9LFxuICBjYXNlQXNzaWduZWU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG4gIGNhc2VSZXNvbHV0aW9uRGVhZGxpbmU6IHsgaXNFcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0sXG59O1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX0JVVFRPTlMgPSBbXG4gIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmVwb3J0ZWQgQ2FzZScsIGNsYXNzOiAnd2hpdGUtYnRuJywgaWQ6ICd2aWV3Q2FzZScgfSxcbiAgeyBidXR0b25UZXh0OiAnUmVwb3J0IEFub3RoZXIgQ2FzZScsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3JlcG9ydENhc2UnIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgU01JTEVZX01FU1NBR0UgPSBgWW91J3JlIGFsbCBzZXQhYDtcblxuZXhwb3J0IGNvbnN0IEFERF9UT19XT1JLRkxPV19NT0NLID0ge1xuICB3b3JrZmxvd19pZDogJzY0YWU3MzM4YzBmNzQ4ZDE5NTNjMWU1NycsXG4gIG93bmVyczogWyc2Mzg5YzViNmY4NTdjYjAwMDhmZGM2MWUnXSxcbiAgYXNzaWduZWVzOiBbXG4gICAgJzY1MDEzZTUwNWEzMjc3MDAwOGQ2YzQ1NicsXG4gICAgJzY1MDEzZTcyODBlYTAyMDAwOGEyNGE2MCcsXG4gICAgJzY2OGJlNDIyMGU1NzJkMDAwODAzODcwZScsXG4gICAgJzY1MDEzZTNhNWEzMjc3MDAwOGQ2YzNjYycsXG4gIF0sXG4gIGFzc2lnbmVlc19ncm91cDogW1xuICAgICc2NzY0ZWZjMTUwYTBlYjAwMDg0MzlkNDYnLFxuICAgICc2NzY0MzdiNTI4OTMyZDAwMDg4MjI0MjYnLFxuICAgICc2NzYyYWI3NGI0NTk3OTAwMDhlMjFlOGUnLFxuICBdLFxuICByZXNvbHV0aW9uX2RlYWRsaW5lOiB7XG4gICAgZHVlX2RhdGU6ICcyMDI0LTEyLTAyVDE4OjMwOjAwLjAwMFonLFxuICAgIHN0YWdlc19hc3NpZ25lZXM6IFtcbiAgICAgIHtcbiAgICAgICAgc3RhZ2VfaWQ6ICc2NzU5MzcyNTczNjI4YmY4OThhM2VkMHEnLFxuICAgICAgICBhc3NpZ25lZV9pZDogJzY1MDEzZTcyODBlYTAyMDAwOGEyNGE2MCcsXG4gICAgICAgIGR1ZV9kYXRlOiAnMjAyNC0xMi0yMFQwNjoyMzowMS4wNzZaJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0YWdlX2lkOiAnNjc1OTM3MjU3MzYyOGJmODk4YTNlZDByJyxcbiAgICAgICAgYXNzaWduZWVfaWQ6ICc2NTAxM2U1MDVhMzI3NzAwMDhkNmM0NTYnLFxuICAgICAgICBkdWVfZGF0ZTogJzIwMjQtMTItMjBUMDY6MjM6MDEuMDc2WicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFnZV9pZDogJzY3NTkzNzI1NzM2MjhiZjg5OGEzZWQwcycsXG4gICAgICAgIGFzc2lnbmVlX2lkOiAnNjUwMTNlNzI4MGVhMDIwMDA4YTI0YTYwJyxcbiAgICAgICAgZHVlX2RhdGU6ICcyMDI0LTEyLTIwVDA2OjIzOjAxLjA3NlonLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGFzc2lnbmVlX3JlbWluZF9iZWZvcmU6IDUsXG4gICAgb3duZXJfcmVtaW5kX2JlZm9yZTogMTAsXG4gIH0sXG4gIGV4Y2VwdGlvbl90eXBlOiAnREVTSUdOX0VYQ0VQVElPTicsXG4gIGFzc29jaWF0ZWRfcmlza3M6IHtcbiAgICB0ZXh0OiAnZWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiZuYnNwOyAmbmJzcDsgJm5ic3A7YmJiYmJiYmJiJyxcbiAgICBhdHRhY2htZW50czogW10sXG4gIH0sXG4gIG92ZXJzaWdodHM6IHtcbiAgICBjY19pZHM6IFsnNjUwMTNlNzI4MGVhMDIwMDA4YTI0YTYwJywgJzY2OGJlNDIyMGU1NzJkMDAwODAzODcwZSddLFxuICAgIGNjX2ZhaWx1cmVzX2lkczogWyc2Mzg5YzViNmY4NTdjYjAwMDhmZGM2MWUnLCAnNjUwMTNkZmU4MGVhMDIwMDA4YTI0OWE2J10sXG4gIH0sXG4gIGV2aWRlbmNlX2VuYWJsZWQ6IHRydWUsXG4gIHJlY29tbWVuZGF0aW9uczoge1xuICAgIHRleHQ6ICd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dqd2pqampqJyxcbiAgICBhdHRhY2htZW50czogW10sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgRU1BSUxfUkVNSU5ERVJTID0ge1xuICBlbWFpbF9yZW1pbmRlcjogMSxcbiAgZXNjYWxhdGlvbl9lbWFpbF9yZW1pbmRlcjogMixcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9TRUxFQ1RPUiA9IFtcbiAgJ2NhdGVnb3J5JyxcbiAgJ1JDJyxcbiAgJ2FkZGl0aW9uYWxDYXRlZ29yeScsXG4gICdDQVNFX0NDJyxcbiAgJ0NBU0VfRkNDJyxcbiAgJ0NBU0VfT1dORVInLFxuICAnQ0FTRV9BU1NJR05FRScsXG4gICdDQVNFX1JFU09MVVRJT05fREVBRExJTkUnLFxuICAnTElOS19NT1JFX1JFU1BPTlNJQklMSVRZJyxcbl07XG5cbmV4cG9ydCBjb25zdCBNT05USF9OQU1FUyA9IFtcbiAgJ0phbicsXG4gICdGZWInLFxuICAnTWFyJyxcbiAgJ0FwcicsXG4gICdNYXknLFxuICAnSnVuJyxcbiAgJ0p1bCcsXG4gICdBdWcnLFxuICAnU2VwJyxcbiAgJ09jdCcsXG4gICdOb3YnLFxuICAnRGVjJyxcbl07Il19
|