@piserve-tech/form-submission 1.3.98 → 1.3.100
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/form-fields/selection-matrix-fields/selection-matrix-fields.component.mjs +24 -5
- package/esm2022/question/multiple-subform/multiple-subform.component.mjs +6 -4
- package/fesm2022/piserve-tech-form-submission.mjs +28 -7
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -1
- package/form-fields/selection-matrix-fields/selection-matrix-fields.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -23,13 +23,32 @@ export class SelectionMatrixFieldsComponent {
|
|
|
23
23
|
this.hint = this.question.hint;
|
|
24
24
|
// this.selectionMatrixColumn = this.question?.formElement?.selectionMatrixColumn;
|
|
25
25
|
// this.selectionMatrixLabel = this.question?.formElement?.selectionMatrixLabel;
|
|
26
|
-
this.
|
|
27
|
-
|
|
26
|
+
if (this.question?.formElement?.selectionMatrixLabel || this.question?.element?.formElement?.selectionMatrixColumn) {
|
|
27
|
+
this.selectionMatrixLabel = (this.question?.formElement?.selectionMatrixLabel || []).flatMap((label) => {
|
|
28
|
+
const lab = this.isParsableJSON(label) ? JSON.parse(label) : label;
|
|
29
|
+
return (Array.isArray(lab)) ? lab.map(value => ({ label: value })) : { label: lab };
|
|
30
|
+
}).filter((labelObj) => labelObj.label !== '');
|
|
31
|
+
this.selectionMatrixColumn = (this.question?.formElement?.selectionMatrixColumn || []).flatMap((column) => {
|
|
32
|
+
const col = this.isParsableJSON(column) ? JSON.parse(column) : column;
|
|
33
|
+
return (Array.isArray(col)) ? col.map(value => ({ column: value })) : { column: col };
|
|
34
|
+
}).filter((columnObj) => columnObj.column !== '');
|
|
35
|
+
}
|
|
28
36
|
this.minSelectionValue = this.question?.formElement?.validation?.minSelectionValue;
|
|
29
37
|
if (this.question.answer) {
|
|
30
38
|
this.selectedOptions = this.question.answer;
|
|
31
39
|
}
|
|
32
40
|
}
|
|
41
|
+
isParsableJSON(value) {
|
|
42
|
+
if (typeof value !== "string")
|
|
43
|
+
return false;
|
|
44
|
+
try {
|
|
45
|
+
JSON.parse(value);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
33
52
|
onSelectionChange(rowIndex, value) {
|
|
34
53
|
this.selectedOptions[rowIndex] = value;
|
|
35
54
|
this.validateInput();
|
|
@@ -53,14 +72,14 @@ export class SelectionMatrixFieldsComponent {
|
|
|
53
72
|
}
|
|
54
73
|
}
|
|
55
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionMatrixFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: { question: "question", acceptedLanguage: "acceptedLanguage" }, ngImport: i0, template: "<div class=\"mb-4 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <div [ngClass]=\"{ 'labelBorder-rtl': acceptedLanguage === 'ara' }\">\n <table class=\"selectionMatrix\">\n <thead>\n <tr>\n <th></th>\n <th\n class=\"text-center table-cell-wrap\"\n *ngFor=\"let column of selectionMatrixColumn\"\n >\n {{ column }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-group-divider\">\n <tr *ngFor=\"let label of selectionMatrixLabel; let rowIndex = index\">\n <td class=\"table-cell-wrap\">{{ label }}</td>\n <td\n *ngFor=\"let column of selectionMatrixColumn; let colIndex = index\"\n class=\"text-center\"\n >\n <input\n type=\"radio\"\n id=\"radio-{{ rowIndex }}-{{ colIndex }}\"\n name=\"row-{{ rowIndex }}\"\n class=\"selectionRadio\"\n [value]=\"label + '_' + column\"\n [(ngModel)]=\"selectedOptions[rowIndex]\"\n (ngModelChange)=\"\n onSelectionChange(rowIndex, label + '_' + column)\n \"\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger mt-2\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}.selectionMatrix{border-collapse:collapse;width:100%}.selectionMatrix th,.selectionMatrix td{padding:8px}.selectionMatrix th{border-bottom:2px solid black}.selectionMatrix th:first-child,.selectionMatrix td:first-child,.labelBorder-rtl .selectionMatrix th:first-child{border-right:1px solid #C9C8C8}.table-group-divider{border-top:1px solid #000000}.selectionRadio{cursor:pointer;width:18px;height:18px}.table-cell-wrap{word-wrap:break-word;white-space:normal;max-width:200px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: { question: "question", acceptedLanguage: "acceptedLanguage" }, ngImport: i0, template: "<div class=\"mb-4 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <div [ngClass]=\"{ 'labelBorder-rtl': acceptedLanguage === 'ara' }\">\n <table class=\"selectionMatrix\">\n <thead>\n <tr>\n <th></th>\n <th\n class=\"text-center table-cell-wrap\"\n *ngFor=\"let column of selectionMatrixColumn\"\n >\n {{ column.column }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-group-divider\">\n <tr *ngFor=\"let label of selectionMatrixLabel; let rowIndex = index\">\n <td class=\"table-cell-wrap\">{{ label.label }}</td>\n <td\n *ngFor=\"let column of selectionMatrixColumn; let colIndex = index\"\n class=\"text-center\"\n >\n <input\n type=\"radio\"\n id=\"radio-{{ rowIndex }}-{{ colIndex }}\"\n name=\"row-{{ rowIndex }}\"\n class=\"selectionRadio\"\n [value]=\"label.label + '_' + column.column\"\n [(ngModel)]=\"selectedOptions[rowIndex]\"\n (ngModelChange)=\"\n onSelectionChange(rowIndex, label.label + '_' + column.column)\n \"\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger mt-2\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}.selectionMatrix{border-collapse:collapse;width:100%}.selectionMatrix th,.selectionMatrix td{padding:8px}.selectionMatrix th{border-bottom:2px solid black}.selectionMatrix th:first-child,.selectionMatrix td:first-child,.labelBorder-rtl .selectionMatrix th:first-child{border-right:1px solid #C9C8C8}.table-group-divider{border-top:1px solid #000000}.selectionRadio{cursor:pointer;width:18px;height:18px}.table-cell-wrap{word-wrap:break-word;white-space:normal;max-width:200px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
57
76
|
}
|
|
58
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionMatrixFieldsComponent, decorators: [{
|
|
59
78
|
type: Component,
|
|
60
|
-
args: [{ selector: 'lib-selection-matrix-fields', template: "<div class=\"mb-4 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <div [ngClass]=\"{ 'labelBorder-rtl': acceptedLanguage === 'ara' }\">\n <table class=\"selectionMatrix\">\n <thead>\n <tr>\n <th></th>\n <th\n class=\"text-center table-cell-wrap\"\n *ngFor=\"let column of selectionMatrixColumn\"\n >\n {{ column }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-group-divider\">\n <tr *ngFor=\"let label of selectionMatrixLabel; let rowIndex = index\">\n <td class=\"table-cell-wrap\">{{ label }}</td>\n <td\n *ngFor=\"let column of selectionMatrixColumn; let colIndex = index\"\n class=\"text-center\"\n >\n <input\n type=\"radio\"\n id=\"radio-{{ rowIndex }}-{{ colIndex }}\"\n name=\"row-{{ rowIndex }}\"\n class=\"selectionRadio\"\n [value]=\"label + '_' + column\"\n [(ngModel)]=\"selectedOptions[rowIndex]\"\n (ngModelChange)=\"\n onSelectionChange(rowIndex, label + '_' + column)\n \"\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger mt-2\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}.selectionMatrix{border-collapse:collapse;width:100%}.selectionMatrix th,.selectionMatrix td{padding:8px}.selectionMatrix th{border-bottom:2px solid black}.selectionMatrix th:first-child,.selectionMatrix td:first-child,.labelBorder-rtl .selectionMatrix th:first-child{border-right:1px solid #C9C8C8}.table-group-divider{border-top:1px solid #000000}.selectionRadio{cursor:pointer;width:18px;height:18px}.table-cell-wrap{word-wrap:break-word;white-space:normal;max-width:200px}\n"] }]
|
|
79
|
+
args: [{ selector: 'lib-selection-matrix-fields', template: "<div class=\"mb-4 px-3\">\n <div class=\"input-wrapper mb-2\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <div [ngClass]=\"{ 'labelBorder-rtl': acceptedLanguage === 'ara' }\">\n <table class=\"selectionMatrix\">\n <thead>\n <tr>\n <th></th>\n <th\n class=\"text-center table-cell-wrap\"\n *ngFor=\"let column of selectionMatrixColumn\"\n >\n {{ column.column }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-group-divider\">\n <tr *ngFor=\"let label of selectionMatrixLabel; let rowIndex = index\">\n <td class=\"table-cell-wrap\">{{ label.label }}</td>\n <td\n *ngFor=\"let column of selectionMatrixColumn; let colIndex = index\"\n class=\"text-center\"\n >\n <input\n type=\"radio\"\n id=\"radio-{{ rowIndex }}-{{ colIndex }}\"\n name=\"row-{{ rowIndex }}\"\n class=\"selectionRadio\"\n [value]=\"label.label + '_' + column.column\"\n [(ngModel)]=\"selectedOptions[rowIndex]\"\n (ngModelChange)=\"\n onSelectionChange(rowIndex, label.label + '_' + column.column)\n \"\n />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger mt-2\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}:root{--library-font-family: Roboto, \"Helvetica Neue\", sans-serif;--library-font-size: 14px}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}.selectionMatrix{border-collapse:collapse;width:100%}.selectionMatrix th,.selectionMatrix td{padding:8px}.selectionMatrix th{border-bottom:2px solid black}.selectionMatrix th:first-child,.selectionMatrix td:first-child,.labelBorder-rtl .selectionMatrix th:first-child{border-right:1px solid #C9C8C8}.table-group-divider{border-top:1px solid #000000}.selectionRadio{cursor:pointer;width:18px;height:18px}.table-cell-wrap{word-wrap:break-word;white-space:normal;max-width:200px}\n"] }]
|
|
61
80
|
}], propDecorators: { question: [{
|
|
62
81
|
type: Input
|
|
63
82
|
}], acceptedLanguage: [{
|
|
64
83
|
type: Input
|
|
65
84
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1hdHJpeC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9mb3JtLWZpZWxkcy9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2pELE1BQU0sT0FBTyw4QkFBOEI7SUFMM0M7UUFNVyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQiwwQkFBcUIsR0FBYSxFQUFFLENBQUM7UUFDckMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBRS9CLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztLQTRDN0I7SUF6Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQy9CLGtGQUFrRjtRQUNsRixnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4SSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BJLElBQUksQ0FBQyxpQkFBaUIsR0FBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUM7UUFDbEYsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQztZQUN0QixJQUFJLENBQUMsZUFBZSxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsS0FBYTtRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMxQyxJQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUUsQ0FBQyxFQUFDO1lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFDLDZCQUE2QixDQUFDO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUNsQzthQUNJLElBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDO1lBQ3pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHlDQUF5QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzRixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDbEM7YUFDRztZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUNqQztJQUNILENBQUM7K0dBckRVLDhCQUE4QjttR0FBOUIsOEJBQThCLDJJQ1AzQyx1OEhBa0hBOzs0RkQzR2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDZCQUE2Qjs4QkFLOUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zZWxlY3Rpb24tbWF0cml4LWZpZWxkcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk1hdHJpeEZpZWxkc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgYWNjZXB0ZWRMYW5ndWFnZTogc3RyaW5nID0nJztcbiAgY291bnQ6IG51bWJlciA9IDA7XG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuICBzZWxlY3Rpb25NYXRyaXhDb2x1bW46IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGlvbk1hdHJpeExhYmVsOiBzdHJpbmdbXSA9IFtdO1xuICBzZWxlY3RlZE9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHZhbGlkYXRpb25GYWlsZWQhOmJvb2xlYW47XG4gIHZhbGlkYXRpb25NZXNzYWdlOnN0cmluZz0nJztcbiAgbWluU2VsZWN0aW9uVmFsdWUhOm51bWJlcjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbHVlQXNzaWduZWQoKTsgICAgXG4gIH1cblxuICB2YWx1ZUFzc2lnbmVkKCkge1xuICAgIHRoaXMuY291bnQgPSB0aGlzLnF1ZXN0aW9uLmNvdW50O1xuICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLnF1ZXN0aW9uLnJlcXVpcmVkO1xuICAgIHRoaXMuaGludCA9IHRoaXMucXVlc3Rpb24uaGludDtcbiAgICAvLyB0aGlzLnNlbGVjdGlvbk1hdHJpeENvbHVtbiA9IHRoaXMucXVlc3Rpb24/LmZvcm1FbGVtZW50Py5zZWxlY3Rpb25NYXRyaXhDb2x1bW47XG4gICAgLy8gdGhpcy5zZWxlY3Rpb25NYXRyaXhMYWJlbCA9IHRoaXMucXVlc3Rpb24/LmZvcm1FbGVtZW50Py5zZWxlY3Rpb25NYXRyaXhMYWJlbDtcbiAgICB0aGlzLnNlbGVjdGlvbk1hdHJpeENvbHVtbiA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvbj8uZm9ybUVsZW1lbnQ/LnNlbGVjdGlvbk1hdHJpeENvbHVtbi5maWx0ZXIoKGNvbHVtbk9iajogYW55KSA9PiBjb2x1bW5PYmogIT09ICcnKSk7XG4gICAgdGhpcy5zZWxlY3Rpb25NYXRyaXhMYWJlbCA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvbj8uZm9ybUVsZW1lbnQ/LnNlbGVjdGlvbk1hdHJpeExhYmVsLmZpbHRlcigobGFiZWxPYmo6IGFueSkgPT4gbGFiZWxPYmogIT09ICcnKSk7XG4gICAgdGhpcy5taW5TZWxlY3Rpb25WYWx1ZT0gdGhpcy5xdWVzdGlvbj8uZm9ybUVsZW1lbnQ/LnZhbGlkYXRpb24/Lm1pblNlbGVjdGlvblZhbHVlO1xuICAgIGlmKHRoaXMucXVlc3Rpb24uYW5zd2VyKXtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zPXRoaXMucXVlc3Rpb24uYW5zd2VyO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHJvd0luZGV4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1tyb3dJbmRleF0gPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkYXRlSW5wdXQoKTtcbiAgfVxuXG4gIHZhbGlkYXRlSW5wdXQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMucXVlc3Rpb24uYW5zd2VyPXRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuICAgIGlmKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoPT0wKXtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZD10cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZT0nVGhpcyBpcyBhIHJlcXVpcmVkIHF1ZXN0aW9uJztcbiAgICAgIHRoaXMucXVlc3Rpb24udmFsaWRhdGlvbiA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aDx0aGlzLm1pblNlbGVjdGlvblZhbHVlKXtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkZhaWxlZCA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYHNlbGVjdGVkIG9wdGlvbnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gJHt0aGlzLm1pblNlbGVjdGlvblZhbHVlfWA7XG4gICAgICB0aGlzLnF1ZXN0aW9uLnZhbGlkYXRpb24gPSBmYWxzZTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMucXVlc3Rpb24udmFsaWRhdGlvbiA9IHRydWU7XG4gICAgfSAgIFxuICB9XG59XG4iLCI8ZGl2ICBjbGFzcz1cIm1iLTQgcHgtM1wiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlciBtYi0yXCI+XG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cInF1ZXN0aW9uLnF1ZXN0aW9uTnVtYmVyXCI+PC9kaXY+XG4gICAgJm5ic3A7Jm5ic3A7IDxsYWJlbD57eyBxdWVzdGlvbi5xdWVzdGlvbiB9fTwvbGFiZWxcbiAgICA+Jm5ic3A7XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3ZnLXdyYXBwZXIgbWItMiBoaW50SWNvblwiXG4gICAgICBbYXR0ci5kYXRhLXRpdGxlXT1cImhpbnRcIlxuICAgICAgKm5nSWY9XCJoaW50XCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiaGludFN2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMzAgMzBcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTE1IDI2LjI1VjI2LjI1QzguNzg2MjUgMjYuMjUgMy43NSAyMS4yMTM4IDMuNzUgMTVWMTVDMy43NSA4Ljc4NjI1IDguNzg2MjUgMy43NSAxNSAzLjc1VjMuNzVDMjEuMjEzOCAzLjc1IDI2LjI1IDguNzg2MjUgMjYuMjUgMTVWMTVDMjYuMjUgMjEuMjEzOCAyMS4yMTM4IDI2LjI1IDE1IDI2LjI1WlwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNSAxNi41NjIzVjE2LjI0OThDMTUgMTUuMjI4NSAxNS42MzEyIDE0LjY3NDggMTYuMjYzNyAxNC4yNDk4QzE2Ljg4MTIgMTMuODMzNSAxNy41IDEzLjI5MSAxNy41IDEyLjI5MUMxNy41IDEwLjkwOTggMTYuMzgxMyA5Ljc5MTAyIDE1IDkuNzkxMDJDMTMuNjE4NyA5Ljc5MTAyIDEyLjUgMTAuOTA5OCAxMi41IDEyLjI5MVwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNC45OTg4IDIwQzE0LjgyNjMgMjAgMTQuNjg2MyAyMC4xNCAxNC42ODc1IDIwLjMxMjVDMTQuNjg3NSAyMC40ODUgMTQuODI3NSAyMC42MjUgMTUgMjAuNjI1QzE1LjE3MjUgMjAuNjI1IDE1LjMxMjUgMjAuNDg1IDE1LjMxMjUgMjAuMzEyNUMxNS4zMTI1IDIwLjE0IDE1LjE3MjUgMjAgMTQuOTk4OCAyMFwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdsYWJlbEJvcmRlci1ydGwnOiBhY2NlcHRlZExhbmd1YWdlID09PSAnYXJhJyB9XCI+XG4gICAgPHRhYmxlIGNsYXNzPVwic2VsZWN0aW9uTWF0cml4XCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGhcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1jZW50ZXIgdGFibGUtY2VsbC13cmFwXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc2VsZWN0aW9uTWF0cml4Q29sdW1uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBjb2x1bW4gfX1cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cInRhYmxlLWdyb3VwLWRpdmlkZXJcIj5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBzZWxlY3Rpb25NYXRyaXhMYWJlbDsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJ0YWJsZS1jZWxsLXdyYXBcIj57eyBsYWJlbCB9fTwvdGQ+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHNlbGVjdGlvbk1hdHJpeENvbHVtbjsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIGlkPVwicmFkaW8te3sgcm93SW5kZXggfX0te3sgY29sSW5kZXggfX1cIlxuICAgICAgICAgICAgICBuYW1lPVwicm93LXt7IHJvd0luZGV4IH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Rpb25SYWRpb1wiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJsYWJlbCArICdfJyArIGNvbHVtblwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25zW3Jvd0luZGV4XVwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlKHJvd0luZGV4LCBsYWJlbCArICdfJyArIGNvbHVtbilcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ2YWxpZGF0aW9uRmFpbGVkXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtdC0yXCI+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJ2YWxpZGF0aW9uU3ZnXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMi4wMDEgMTYuNzVDMTIuMTM5IDE2Ljc1IDEyLjI1MSAxNi42MzggMTIuMjUgMTYuNUMxMi4yNSAxNi4zNjIgMTIuMTM4IDE2LjI1IDEyIDE2LjI1QzExLjg2MiAxNi4yNSAxMS43NSAxNi4zNjIgMTEuNzUgMTYuNUMxMS43NSAxNi42MzggMTEuODYyIDE2Ljc1IDEyLjAwMSAxNi43NVwiXG4gICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTIgMjFDNy4wMjkgMjEgMyAxNi45NzEgMyAxMkMzIDcuMDI5IDcuMDI5IDMgMTIgM0MxNi45NzEgMyAyMSA3LjAyOSAyMSAxMkMyMSAxNi45NzEgMTYuOTcxIDIxIDEyIDIxWlwiXG4gICAgICAgIGZpbGw9XCIjRkYwMDAwXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGMDAwMFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMiAxMi43NUwxMiA3Ljc1XCJcbiAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTZcIiByPVwiMVwiIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgPC9zdmc+XG4gICAge3sgdmFsaWRhdGlvbk1lc3NhZ2UgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1hdHJpeC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9mb3JtLWZpZWxkcy9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy9zZWxlY3Rpb24tbWF0cml4LWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2pELE1BQU0sT0FBTyw4QkFBOEI7SUFMM0M7UUFNVyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMseUJBQW9CLEdBQVUsRUFBRSxDQUFDO1FBQ2pDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBRS9CLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztLQWdFN0I7SUE3REMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMs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QUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzFDLElBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBRSxDQUFDLEVBQUM7WUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFDLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUMsNkJBQTZCLENBQUM7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ2xDO2FBQ0ksSUFBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUM7WUFDekQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcseUNBQXlDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUNsQzthQUNHO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzsrR0F6RVUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMklDUDNDLDgrSEFrSEE7OzRGRDNHYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCOzhCQUs5QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNlbGVjdGlvbi1tYXRyaXgtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1tYXRyaXgtZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLW1hdHJpeC1maWVsZHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uTWF0cml4RmllbGRzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9O1xuICBASW5wdXQoKSBhY2NlcHRlZExhbmd1YWdlOiBzdHJpbmcgPScnO1xuICBjb3VudDogbnVtYmVyID0gMDtcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGludDogc3RyaW5nID0gJyc7XG4gIHNlbGVjdGlvbk1hdHJpeENvbHVtbjogYW55W10gPSBbXTtcbiAgc2VsZWN0aW9uTWF0cml4TGFiZWw6IGFueVtdID0gW107XG4gIHNlbGVjdGVkT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgdmFsaWRhdGlvbkZhaWxlZCE6Ym9vbGVhbjtcbiAgdmFsaWRhdGlvbk1lc3NhZ2U6c3RyaW5nPScnO1xuICBtaW5TZWxlY3Rpb25WYWx1ZSE6bnVtYmVyO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmFsdWVBc3NpZ25lZCgpOyAgICBcbiAgfVxuXG4gIHZhbHVlQXNzaWduZWQoKSB7XG4gICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMucXVlc3Rpb24ucmVxdWlyZWQ7XG4gICAgdGhpcy5oaW50ID0gdGhpcy5xdWVzdGlvbi5oaW50O1xuICAgIC8vIHRoaXMuc2VsZWN0aW9uTWF0cml4Q29sdW1uID0gdGhpcy5xdWVzdGlvbj8uZm9ybUVsZW1lbnQ/LnNlbGVjdGlvbk1hdHJpeENvbHVtbjtcbiAgICAvLyB0aGlzLnNlbGVjdGlvbk1hdHJpeExhYmVsID0gdGhpcy5xdWVzdGlvbj8uZm9ybUVsZW1lbnQ/LnNlbGVjdGlvbk1hdHJpeExhYmVsO1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uPy5mb3JtRWxlbWVudD8uc2VsZWN0aW9uTWF0cml4TGFiZWwgfHwgdGhpcy5xdWVzdGlvbj8uZWxlbWVudD8uZm9ybUVsZW1lbnQ/LnNlbGVjdGlvbk1hdHJpeENvbHVtbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb25NYXRyaXhMYWJlbCA9ICh0aGlzLnF1ZXN0aW9uPy5mb3JtRWxlbWVudD8uc2VsZWN0aW9uTWF0cml4TGFiZWwgfHwgW10pLmZsYXRNYXAoKGxhYmVsOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbGFiID0gdGhpcy5pc1BhcnNhYmxlSlNPTihsYWJlbCkgPyBKU09OLnBhcnNlKGxhYmVsKSA6IGxhYmVsO1xuICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkobGFiKSkgPyBsYWIubWFwKHZhbHVlID0+ICh7IGxhYmVsOiB2YWx1ZSB9KSkgOiB7IGxhYmVsOiBsYWIgfVxuICAgICAgfSkuZmlsdGVyKChsYWJlbE9iajogYW55KSA9PiBsYWJlbE9iai5sYWJlbCAhPT0gJycpO1xuXG4gICAgICB0aGlzLnNlbGVjdGlvbk1hdHJpeENvbHVtbiA9ICh0aGlzLnF1ZXN0aW9uPy5mb3JtRWxlbWVudD8uc2VsZWN0aW9uTWF0cml4Q29sdW1uIHx8IFtdKS5mbGF0TWFwKChjb2x1bW46IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmlzUGFyc2FibGVKU09OKGNvbHVtbikgPyBKU09OLnBhcnNlKGNvbHVtbikgOiBjb2x1bW47XG4gICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShjb2wpKSA/IGNvbC5tYXAodmFsdWUgPT4gKHsgY29sdW1uOiB2YWx1ZSB9KSkgOiB7IGNvbHVtbjogY29sIH1cbiAgICAgIH0pLmZpbHRlcigoY29sdW1uT2JqOiBhbnkpID0+IGNvbHVtbk9iai5jb2x1bW4gIT09ICcnKTtcbiAgICBcbiAgfVxuICAgIHRoaXMubWluU2VsZWN0aW9uVmFsdWU9IHRoaXMucXVlc3Rpb24/LmZvcm1FbGVtZW50Py52YWxpZGF0aW9uPy5taW5TZWxlY3Rpb25WYWx1ZTtcbiAgICBpZih0aGlzLnF1ZXN0aW9uLmFuc3dlcil7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucz10aGlzLnF1ZXN0aW9uLmFuc3dlcjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUGFyc2FibGVKU09OKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiKSByZXR1cm4gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uocm93SW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zW3Jvd0luZGV4XSA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWRhdGVJbnB1dCgpO1xuICB9XG5cbiAgdmFsaWRhdGVJbnB1dCgpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXI9dGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgaWYodGhpcy5yZXF1aXJlZCAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg9PTApe1xuICAgICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkPXRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSdUaGlzIGlzIGEgcmVxdWlyZWQgcXVlc3Rpb24nO1xuICAgICAgdGhpcy5xdWVzdGlvbi52YWxpZGF0aW9uID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2UgaWYodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoPHRoaXMubWluU2VsZWN0aW9uVmFsdWUpe1xuICAgICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBgc2VsZWN0ZWQgb3B0aW9ucyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAke3RoaXMubWluU2VsZWN0aW9uVmFsdWV9YDtcbiAgICAgIHRoaXMucXVlc3Rpb24udmFsaWRhdGlvbiA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5xdWVzdGlvbi52YWxpZGF0aW9uID0gdHJ1ZTtcbiAgICB9ICAgXG4gIH1cbn1cbiIsIjxkaXYgIGNsYXNzPVwibWItNCBweC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIG1iLTJcIj5cbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwicXVlc3Rpb24ucXVlc3Rpb25OdW1iZXJcIj48L2Rpdj5cbiAgICAmbmJzcDsmbmJzcDsgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbFxuICAgID4mbmJzcDtcbiAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdmctd3JhcHBlciBtYi0yIGhpbnRJY29uXCJcbiAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiXG4gICAgICAqbmdJZj1cImhpbnRcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJoaW50U3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAzMCAzMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNMTUgMjYuMjVWMjYuMjVDOC43ODYyNSAyNi4yNSAzLjc1IDIxLjIxMzggMy43NSAxNVYxNUMzLjc1IDguNzg2MjUgOC43ODYyNSAzLjc1IDE1IDMuNzVWMy43NUMyMS4yMTM4IDMuNzUgMjYuMjUgOC43ODYyNSAyNi4yNSAxNVYxNUMyNi4yNSAyMS4yMTM4IDIxLjIxMzggMjYuMjUgMTUgMjYuMjVaXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2xhYmVsQm9yZGVyLXJ0bCc6IGFjY2VwdGVkTGFuZ3VhZ2UgPT09ICdhcmEnIH1cIj5cbiAgICA8dGFibGUgY2xhc3M9XCJzZWxlY3Rpb25NYXRyaXhcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIDx0aFxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0YWJsZS1jZWxsLXdyYXBcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBzZWxlY3Rpb25NYXRyaXhDb2x1bW5cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGNvbHVtbi5jb2x1bW4gfX1cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cInRhYmxlLWdyb3VwLWRpdmlkZXJcIj5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBzZWxlY3Rpb25NYXRyaXhMYWJlbDsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJ0YWJsZS1jZWxsLXdyYXBcIj57eyBsYWJlbC5sYWJlbCB9fTwvdGQ+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHNlbGVjdGlvbk1hdHJpeENvbHVtbjsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIGlkPVwicmFkaW8te3sgcm93SW5kZXggfX0te3sgY29sSW5kZXggfX1cIlxuICAgICAgICAgICAgICBuYW1lPVwicm93LXt7IHJvd0luZGV4IH19XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Rpb25SYWRpb1wiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJsYWJlbC5sYWJlbCArICdfJyArIGNvbHVtbi5jb2x1bW5cIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkT3B0aW9uc1tyb3dJbmRleF1cIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICBvblNlbGVjdGlvbkNoYW5nZShyb3dJbmRleCwgbGFiZWwubGFiZWwgKyAnXycgKyBjb2x1bW4uY29sdW1uKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInZhbGlkYXRpb25GYWlsZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG10LTJcIj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInZhbGlkYXRpb25TdmdcIlxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyLjAwMSAxNi43NUMxMi4xMzkgMTYuNzUgMTIuMjUxIDE2LjYzOCAxMi4yNSAxNi41QzEyLjI1IDE2LjM2MiAxMi4xMzggMTYuMjUgMTIgMTYuMjVDMTEuODYyIDE2LjI1IDExLjc1IDE2LjM2MiAxMS43NSAxNi41QzExLjc1IDE2LjYzOCAxMS44NjIgMTYuNzUgMTIuMDAxIDE2Ljc1XCJcbiAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMiAyMUM3LjAyOSAyMSAzIDE2Ljk3MSAzIDEyQzMgNy4wMjkgNy4wMjkgMyAxMiAzQzE2Ljk3MSAzIDIxIDcuMDI5IDIxIDEyQzIxIDE2Ljk3MSAxNi45NzEgMjEgMTIgMjFaXCJcbiAgICAgICAgZmlsbD1cIiNGRjAwMDBcIlxuICAgICAgICBzdHJva2U9XCIjRkYwMDAwXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyIDEyLjc1TDEyIDcuNzVcIlxuICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxNlwiIHI9XCIxXCIgZmlsbD1cIndoaXRlXCIgLz5cbiAgICA8L3N2Zz5cbiAgICB7eyB2YWxpZGF0aW9uTWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -37,11 +37,13 @@ export class MultipleSubformComponent {
|
|
|
37
37
|
if (answers && answers.answer) {
|
|
38
38
|
answers['htmlContent'] = this.sanitizer.bypassSecurityTrustHtml(answers.answer);
|
|
39
39
|
if (Array.isArray(answers.answer) && answers.answer.length > 0) {
|
|
40
|
+
let htmlContentArray = [];
|
|
40
41
|
answers.answer.forEach((ans, index) => {
|
|
41
42
|
if (ans?.includes('|')) {
|
|
42
|
-
|
|
43
|
+
htmlContentArray.push(ans.split('|')[0]);
|
|
43
44
|
}
|
|
44
45
|
});
|
|
46
|
+
answers['htmlContent'] = htmlContentArray.join(',');
|
|
45
47
|
}
|
|
46
48
|
else {
|
|
47
49
|
if (answers.answer?.includes('|')) {
|
|
@@ -278,11 +280,11 @@ export class MultipleSubformComponent {
|
|
|
278
280
|
this.updateSubFormWithSubmissions();
|
|
279
281
|
}
|
|
280
282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultipleSubformComponent, deps: [{ token: i1.MatDialog }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultipleSubformComponent, selector: "lib-multiple-subform", inputs: { subForm: "subForm", acceptedLanguage: "acceptedLanguage" }, outputs: { subFormChange: "subFormChange" }, ngImport: i0, template: "<div class=\"example-container \" tabindex=\"0\">\n <div class=\"table-container\">\n <table mat-table [dataSource]=\"submissions\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let row of subForm.rows\">\n <ng-container *ngFor=\"let formElement of row.grid\" [matColumnDef]=\"formElement.element.question\">\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\">{{ formElement.element.question }}</th>\n <td mat-cell *matCellDef=\"let submission\" class=\"border border-1\" [ngClass]=\"{'hidden': getAnswerByQuestionId(submission, formElement.element.id)?.isChild}\">\n <div [innerHTML]=\"getAnswerByQuestionId(submission, formElement.element.id)?.htmlContent\"></div>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\"> Actions </th>\n <td mat-cell *matCellDef=\"let submission; let i = index\" class=\"text-center border border-1\">\n\n <div>\n <button class=\"btn\" mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"Example icon-button with a menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editSubFormSubmission(i, submission)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n <button mat-menu-item (click)=\"deleteSubForm(i)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </mat-menu>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n <div class=\"footer\">\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\n <svg width=\"15\" height=\"14\" viewBox=\"0 0 15 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\" stroke=\"#D8D8D8\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M5.3335 7.50347H9.66683\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M7.50005 5.33594V9.66927\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <a class=\"ms-2 text-decoration-none\">Add New</a>\n </div>\n </div>\n</div>\n", styles: [".table-container{overflow-x:auto;width:100%}.table-container .mat-table-sticky{background:#fff;z-index:1}.footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer;margin-top:15px}.hidden{display:none}.dropdown-menu{position:relative;z-index:999}::-webkit-scrollbar{width:2px;height:8px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#dbd9d9;border-radius:6px}::ng-deep .mat-mdc-menu-panel{min-width:65px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
283
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultipleSubformComponent, selector: "lib-multiple-subform", inputs: { subForm: "subForm", acceptedLanguage: "acceptedLanguage" }, outputs: { subFormChange: "subFormChange" }, ngImport: i0, template: "<div class=\"example-container \" tabindex=\"0\">\n <div class=\"table-container\">\n <table mat-table [dataSource]=\"submissions\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let row of subForm.rows\">\n <ng-container *ngFor=\"let formElement of row.grid\" [matColumnDef]=\"formElement.element.question\">\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\">{{ formElement.element.question }}</th>\n <td mat-cell *matCellDef=\"let submission\" class=\"border border-1\" [ngClass]=\"{'hidden': getAnswerByQuestionId(submission, formElement.element.id)?.isChild}\">\n <div [innerHTML]=\"getAnswerByQuestionId(submission, formElement.element.id)?.htmlContent\"></div>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\"> Actions </th>\n <td mat-cell *matCellDef=\"let submission; let i = index\" class=\"text-center border border-1\">\n\n <div>\n <button class=\"btn\" mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"Example icon-button with a menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editSubFormSubmission(i, submission)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n <button mat-menu-item (click)=\"deleteSubForm(i)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </mat-menu>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n <div class=\"footer\">\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\n <svg width=\"15\" height=\"14\" viewBox=\"0 0 15 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\" stroke=\"#D8D8D8\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M5.3335 7.50347H9.66683\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M7.50005 5.33594V9.66927\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <a class=\"ms-2 text-decoration-none\">Add New</a>\n </div>\n </div>\n</div>\n", styles: [".table-container{overflow-x:auto;width:100%}.table-container .mat-table-sticky{background:#fff;z-index:1}.footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer;margin-top:15px}.hidden{display:none}.dropdown-menu{position:relative;z-index:999}::-webkit-scrollbar{width:2px;height:8px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#dbd9d9;border-radius:6px}::ng-deep .mat-mdc-menu-panel{min-width:65px!important}table{border-collapse:separate!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
282
284
|
}
|
|
283
285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultipleSubformComponent, decorators: [{
|
|
284
286
|
type: Component,
|
|
285
|
-
args: [{ selector: 'lib-multiple-subform', template: "<div class=\"example-container \" tabindex=\"0\">\n <div class=\"table-container\">\n <table mat-table [dataSource]=\"submissions\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let row of subForm.rows\">\n <ng-container *ngFor=\"let formElement of row.grid\" [matColumnDef]=\"formElement.element.question\">\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\">{{ formElement.element.question }}</th>\n <td mat-cell *matCellDef=\"let submission\" class=\"border border-1\" [ngClass]=\"{'hidden': getAnswerByQuestionId(submission, formElement.element.id)?.isChild}\">\n <div [innerHTML]=\"getAnswerByQuestionId(submission, formElement.element.id)?.htmlContent\"></div>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\"> Actions </th>\n <td mat-cell *matCellDef=\"let submission; let i = index\" class=\"text-center border border-1\">\n\n <div>\n <button class=\"btn\" mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"Example icon-button with a menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editSubFormSubmission(i, submission)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n <button mat-menu-item (click)=\"deleteSubForm(i)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </mat-menu>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n <div class=\"footer\">\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\n <svg width=\"15\" height=\"14\" viewBox=\"0 0 15 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\" stroke=\"#D8D8D8\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M5.3335 7.50347H9.66683\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M7.50005 5.33594V9.66927\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <a class=\"ms-2 text-decoration-none\">Add New</a>\n </div>\n </div>\n</div>\n", styles: [".table-container{overflow-x:auto;width:100%}.table-container .mat-table-sticky{background:#fff;z-index:1}.footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer;margin-top:15px}.hidden{display:none}.dropdown-menu{position:relative;z-index:999}::-webkit-scrollbar{width:2px;height:8px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#dbd9d9;border-radius:6px}::ng-deep .mat-mdc-menu-panel{min-width:65px!important}\n"] }]
|
|
287
|
+
args: [{ selector: 'lib-multiple-subform', template: "<div class=\"example-container \" tabindex=\"0\">\n <div class=\"table-container\">\n <table mat-table [dataSource]=\"submissions\" class=\"mat-elevation-z8\">\n <ng-container *ngFor=\"let row of subForm.rows\">\n <ng-container *ngFor=\"let formElement of row.grid\" [matColumnDef]=\"formElement.element.question\">\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\">{{ formElement.element.question }}</th>\n <td mat-cell *matCellDef=\"let submission\" class=\"border border-1\" [ngClass]=\"{'hidden': getAnswerByQuestionId(submission, formElement.element.id)?.isChild}\">\n <div [innerHTML]=\"getAnswerByQuestionId(submission, formElement.element.id)?.htmlContent\"></div>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"border border-1\"> Actions </th>\n <td mat-cell *matCellDef=\"let submission; let i = index\" class=\"text-center border border-1\">\n\n <div>\n <button class=\"btn\" mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"Example icon-button with a menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editSubFormSubmission(i, submission)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"28\" height=\"26.4737\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0009 19.0787H9.1582V16.2361C9.1582 15.9447 9.2739 15.6653 9.47999 15.4593L16.2224 8.71686C16.4284 8.5105 16.708 8.39453 16.9995 8.39453C17.2911 8.39453 17.5707 8.5105 17.7767 8.71686L19.5201 10.4603C19.7264 10.6663 19.8424 10.9458 19.8424 11.2374C19.8424 11.529 19.7264 11.8086 19.5201 12.0145L12.7777 18.757C12.5715 18.9628 12.2922 19.0785 12.0009 19.0787Z\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.1704 10.3984L17.8415 13.0695\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n <button mat-menu-item (click)=\"deleteSubForm(i)\">\n <svg width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"27.6402\" height=\"26.1328\" rx=\"5.5\" fill=\"white\" stroke=\"#D8D8D8\"/>\n <path d=\"M8.60449 9.20637H20.0354\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.2189 9.20703V17.7863C19.2189 18.6482 18.4881 19.3462 17.5859 19.3462H11.0539C10.1517 19.3462 9.4209 18.6482 9.4209 17.7863V9.20703\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M16.7696 6.67122H11.8706\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12.6871 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.9532 12.3242V16.2239\" stroke=\"#084FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </mat-menu>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n <div class=\"footer\">\n <div class=\"addNewBtn\" (click)=\"addNewSubmission()\">\n <svg width=\"15\" height=\"14\" viewBox=\"0 0 15 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5556 13.2778H2.44444C1.64639 13.2778 1 12.6673 1 11.9136V2.3642C1 1.61048 1.64639 1 2.44444 1H12.5556C13.3536 1 14 1.61048 14 2.3642V11.9136C14 12.6673 13.3536 13.2778 12.5556 13.2778Z\" stroke=\"#D8D8D8\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M5.3335 7.50347H9.66683\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M7.50005 5.33594V9.66927\" stroke=\"#084FFF\" stroke-width=\"0.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <a class=\"ms-2 text-decoration-none\">Add New</a>\n </div>\n </div>\n</div>\n", styles: [".table-container{overflow-x:auto;width:100%}.table-container .mat-table-sticky{background:#fff;z-index:1}.footer{display:flex;justify-content:flex-end;align-items:center;cursor:pointer;margin-top:15px}.hidden{display:none}.dropdown-menu{position:relative;z-index:999}::-webkit-scrollbar{width:2px;height:8px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#dbd9d9;border-radius:6px}::ng-deep .mat-mdc-menu-panel{min-width:65px!important}table{border-collapse:separate!important}\n"] }]
|
|
286
288
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.DomSanitizer }]; }, propDecorators: { subForm: [{
|
|
287
289
|
type: Input
|
|
288
290
|
}], subFormChange: [{
|
|
@@ -290,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
290
292
|
}], acceptedLanguage: [{
|
|
291
293
|
type: Input
|
|
292
294
|
}] } });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7QUF5QnRHLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFBbUIsTUFBaUIsRUFBVSxTQUF1QjtRQUFsRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVI1RCxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFFdkMsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQy9CLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFFeUMsQ0FBQztJQUUxRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JB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RCxjQUFjO1FBQ1osTUFBTSxtQkFBbUIsR0FBaUIsRUFBRSxDQUFDO1FBQzdDLE1BQU0sa0JBQWtCLEdBQWEsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFO2dCQUMzRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEM7aUJBQU0sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO2dCQUNsQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBNVRVLHdCQUF3QjttR0FBeEIsd0JBQXdCLCtLQzNCckMsa2hKQXlEQTs7NEZEOUJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7MkhBS3ZCLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdWItZm9ybS9zdWJtaXNzaW9uLW1vZGFsL3N1Ym1pc3Npb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0YWNobWVudC5tb2RlbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmludGVyZmFjZSBBbnN3ZXIge1xuICBxdWVzdGlvbklkOiBzdHJpbmc7XG4gIGFuc3dlcj86IGFueTtcbiAgYW5zd2VySWQ/OiBzdHJpbmc7XG4gIGRlbGV0ZUZpbGVzPzogc3RyaW5nW107XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudFtdO1xuICBmaWxlcz86IGFueTtcbiAgaXNDaGlsZD86IGJvb2xlYW47XG4gIGh0bWxDb250ZW50PzogU2FmZUh0bWw7XG59XG5cbmludGVyZmFjZSBTdWJtaXNzaW9uIHtcbiAgc3VibWlzc2lvbklkOiBzdHJpbmc7XG4gIGFuc3dlcnM6IEFuc3dlcltdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbXVsdGlwbGUtc3ViZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zdWJmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXBsZVN1YmZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBzdWJGb3JtOiBhbnkgPSB7fTtcbiAgQE91dHB1dCgpIHN1YkZvcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYWNjZXB0ZWRMYW5ndWFnZTogc3RyaW5nID0gJyc7XG5cbiAgc3VibWlzc2lvbnM6IFN1Ym1pc3Npb25bXSA9IFtdO1xuICBkZWxldGVkU3VibWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdWJGb3JtPy5zdWJtaXNzaW9ucykge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucztcbiAgICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplRGlzcGxheWVkQ29sdW1ucygpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURpc3BsYXllZENvbHVtbnMoKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5zdWJGb3JtLnJvd3MuZmxhdE1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgaXRlbS5ncmlkXG4gICAgICAgIC5tYXAoKGdyaWRJdGVtOiBhbnkpID0+IGdyaWRJdGVtLmVsZW1lbnQucXVlc3Rpb24pXG4gICAgKTtcblxuICAgIC8vIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuc3ViRm9ybS5mb3JtRWxlbWVudHMubWFwKChmZTogYW55KSA9PiBmZS5lbGVtZW50LnF1ZXN0aW9uKTtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnYWN0aW9ucycpO1xuICB9XG5cbiAgZ2V0QW5zd2VyQnlRdWVzdGlvbklkKHN1Ym1pc3Npb246IFN1Ym1pc3Npb24sIHF1ZXN0aW9uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGFuc3dlcnMgPSBzdWJtaXNzaW9uLmFuc3dlcnMuZmluZChhbnN3ZXIgPT4gYW5zd2VyLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uSWQpO1xuICAgIGlmIChhbnN3ZXJzICYmIGFuc3dlcnMuYW5zd2VyKSB7XG4gICAgICBhbnN3ZXJzWydodG1sQ29udGVudCddID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoYW5zd2Vycy5hbnN3ZXIpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYW5zd2Vycy5hbnN3ZXIpICYmIGFuc3dlcnMuYW5zd2VyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYW5zd2Vycy5hbnN3ZXIuZm9yRWFjaCgoYW5zLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmIChhbnM/LmluY2x1ZGVzKCd8JykpIHtcbiAgICAgICAgICAgIGFuc3dlcnNbJ2h0bWxDb250ZW50J10gPSBhbnMuc3BsaXQoJ3wnKVswXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFuc3dlcnMuYW5zd2VyPy5pbmNsdWRlcygnfCcpKSB7XG4gICAgICAgICAgYW5zd2Vyc1snaHRtbENvbnRlbnQnXSA9IGFuc3dlcnMuYW5zd2VyLnNwbGl0KCd8JylbMF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYW5zd2VycztcbiAgfVxuXG4gIHN1YkZvcm1TdWJtaXNzaW9uKHN1YkZvcm06IGFueSkge1xuICAgIGNvbnN0IHByb2Nlc3NGb3JtRWxlbWVudHMgPSAocm93czogYW55W10sIGlzQ2hpbGQ6IGJvb2xlYW4gPSBmYWxzZSk6IEFuc3dlcltdID0+IHtcbiAgICAgIGNvbnN0IGFuc3dlcnM6IEFuc3dlcltdID0gW107XG5cbiAgICAgIHJvd3MuZmxhdE1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgICBpdGVtLmdyaWQuZm9yRWFjaCgoZm9ybUVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogZm9ybUVsZW1lbnQuZWxlbWVudC5pZCxcbiAgICAgICAgICAgIGFuc3dlcjogZm9ybUVsZW1lbnQuZWxlbWVudD8uYW5zd2VyIHx8ICcnLFxuICAgICAgICAgICAgZmlsZXM6IGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT0gJ0ZJTEVfUElDS0VSJyAmJiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlclxuICAgICAgICAgICAgICA/IGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaXNDaGlsZDogaXNDaGlsZFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09ICdGSUxFX1BJQ0tFUicgJiZcbiAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZXMgPSBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlci5tYXAoXG4gICAgICAgICAgICAgIChmaWxlOiBhbnkpID0+IGZpbGU/Ll9maWxlLm5hbWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhbnN3ZXIuYW5zd2VyID0gZmlsZU5hbWVzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhbnN3ZXJzLnB1c2goYW5zd2VyKTtcblxuICAgICAgICAgIGlmIChmb3JtRWxlbWVudC5lbGVtZW50LmNoaWxkTG9naWNzKSB7XG4gICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmNoaWxkTG9naWNzLmZvckVhY2goKGxvZ2ljOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGxvZ2ljLnNob3dMb2dpYykge1xuICAgICAgICAgICAgICAgIGFuc3dlcnMucHVzaCguLi5wcm9jZXNzRm9ybUVsZW1lbnRzKGxvZ2ljLnJvd3MsIHRydWUpKTtcbiAgICAgICAgICAgICAgICBsb2dpYy5zaG93TG9naWMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHJldHVybiBhbnN3ZXJzO1xuICAgIH07XG5cbiAgICBjb25zdCBhbnN3ZXJzID0gcHJvY2Vzc0Zvcm1FbGVtZW50cyhzdWJGb3JtLnJvd3MpO1xuXG4gICAgaWYgKGFuc3dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgICAgc3VibWlzc2lvbklkOiAnJyxcbiAgICAgICAgYW5zd2VyczogYW5zd2VycyxcbiAgICAgIH07XG4gICAgICB0aGlzLnN1Ym1pc3Npb25zLnB1c2goc3VibWlzc2lvbik7XG4gICAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gICAgfVxuICB9XG5cblxuICBlZGl0U3ViRm9ybVN1Ym1pc3Npb24oaW5kZXg6IG51bWJlciwgc3VibWlzc2lvbjogU3VibWlzc2lvbikge1xuICAgIGNvbnN0IHN1YkZvcm0gPSB0aGlzLmJpbmRBbnN3ZXJzKHRoaXMuc3ViRm9ybSwgc3VibWlzc2lvbik7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHsgdG9wOiAnNSUnIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzEwMCUnO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgc3ViRm9ybTogc3ViRm9ybSxcbiAgICAgIGFjY2VwdGVkTGFuZ3VhZ2U6IHRoaXMuYWNjZXB0ZWRMYW5ndWFnZVxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLmhhc0JhY2tkcm9wID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcubWF4SGVpZ2h0ID0gJzgwdmgnO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU3VibWlzc2lvbk1vZGFsQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVN1Ym1pc3Npb24ocmVzdWx0LCBpbmRleCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBiaW5kQW5zd2VycyhzdWJGb3JtOiBhbnksIHN1Ym1pc3Npb246IFN1Ym1pc3Npb24pOiBhbnkge1xuICAgIGNvbnN0IGJpbmRFbGVtZW50QW5zd2VycyA9IChyb3dzOiBhbnlbXSwgYW5zd2VyczogQW5zd2VyW10pID0+IHtcbiAgICAgIHJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgYW5zd2VyID0gYW5zd2Vycy5maW5kKFxuICAgICAgICAgICAgKGEpID0+IGEucXVlc3Rpb25JZCA9PT0gZ3JpZC5lbGVtZW50LmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoYW5zd2VyKSB7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VyID1cbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09ICdGSUxFX1BJQ0tFUidcbiAgICAgICAgICAgICAgICA/IGFuc3dlcj8uZmlsZXNcbiAgICAgICAgICAgICAgICA6IGFuc3dlci5hbnN3ZXI7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VySWQgPSBhbnN3ZXIuYW5zd2VySWQ7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYXR0YWNobWVudHMgPSBhbnN3ZXIuYXR0YWNobWVudHM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MpIHtcbiAgICAgICAgICAgIGdyaWQuZWxlbWVudC5jaGlsZExvZ2ljcy5mb3JFYWNoKChsb2dpYzogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGJpbmRFbGVtZW50QW5zd2Vycyhsb2dpYy5yb3dzLCBhbnN3ZXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHVwZGF0ZWRTdWJGb3JtID0geyAuLi5zdWJGb3JtIH07XG4gICAgYmluZEVsZW1lbnRBbnN3ZXJzKHVwZGF0ZWRTdWJGb3JtLnJvd3MsIHN1Ym1pc3Npb24uYW5zd2Vycyk7XG4gICAgcmV0dXJuIHVwZGF0ZWRTdWJGb3JtO1xuICB9XG5cbiAgZGVsZXRlU3ViRm9ybShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdO1xuICAgIGlmIChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCkge1xuICAgICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCk7XG4gICAgfVxuICAgIHRoaXMuc3VibWlzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbiAgYWRkTmV3U3VibWlzc2lvbigpIHtcbiAgICBjb25zdCBzdWJGb3JtID0gdGhpcy5jbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyh0aGlzLnN1YkZvcm0pO1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcucG9zaXRpb24gPSB7IHRvcDogJzUlJyB9O1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICcxMDAlJztcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHtcbiAgICAgIHN1YkZvcm06IHN1YkZvcm0sXG4gICAgICBhY2NlcHRlZExhbmd1YWdlOiB0aGlzLmFjY2VwdGVkTGFuZ3VhZ2VcbiAgICB9O1xuICAgIGRpYWxvZ0NvbmZpZy5oYXNCYWNrZHJvcCA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLm1heEhlaWdodCA9ICc4MHZoJztcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1Ym1pc3Npb25Nb2RhbENvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgY29uc3QgaGFzRGF0YSA9IHJlc3VsdC5yb3dzLmZsYXRNYXAoKGl0ZW06IGFueSkgPT5cbiAgICAgICAgICBpdGVtLmdyaWRcbiAgICAgICAgICAgIC5zb21lKChmb3JtRWxlbWVudDogYW55KSA9PiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlciAmJiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlci5sZW5ndGggPiAwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChoYXNEYXRhKSB7XG4gICAgICAgICAgdGhpcy5zdWJGb3JtU3VibWlzc2lvbihyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyhvYmo6IGFueSwgc2VlbiA9IG5ldyBXZWFrU2V0KCkpIHtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgaWYgKHNlZW4uaGFzKG9iaikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZWVuLmFkZChvYmopO1xuXG4gICAgY29uc3QgY2xlYW5lZE9iajogYW55ID0gQXJyYXkuaXNBcnJheShvYmopID8gW10gOiB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgY2xlYW5lZE9ialtrZXldID0gdGhpcy5jbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyhvYmpba2V5XSwgc2Vlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsZWFuZWRPYmo7XG4gIH1cblxuICB1cGRhdGVTdWJtaXNzaW9uKHJlc3VsdDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcHJvY2Vzc0Zvcm1FbGVtZW50cyA9IChyb3dzOiBhbnlbXSwgYW5zd2VyczogQW5zd2VyW10pID0+IHtcbiAgICAgIHJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZDogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogZ3JpZC5lbGVtZW50LmlkLFxuICAgICAgICAgICAgYW5zd2VySWQ6IGdyaWQuZWxlbWVudD8uYW5zd2VySWQgfHwgJycsXG4gICAgICAgICAgICBhdHRhY2htZW50czogZ3JpZC5lbGVtZW50LmF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgICAgICAgYW5zd2VyOiBbXSxcbiAgICAgICAgICAgIGZpbGVzOiBbXSxcbiAgICAgICAgICAgIGRlbGV0ZUZpbGVzOiBbXSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKGFuc3dlci5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgYW5zd2VyLmFuc3dlciA9IGFuc3dlci5hdHRhY2htZW50cy5tYXAoXG4gICAgICAgICAgICAgIChhdHRhY2htZW50OiBBdHRhY2htZW50KSA9PiBhdHRhY2htZW50LmZpbGVOYW1lXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdGSUxFX1BJQ0tFUicpIHtcbiAgICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQ/LmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgICAgICAgIGFuc3dlci5hbnN3ZXIgPSBbXTtcbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmRlbGV0ZUZpbGVzLmZvckVhY2goKGRlbGV0ZWRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgYW5zd2VyLmRlbGV0ZUZpbGVzPy5wdXNoKGRlbGV0ZWRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFuc3dlci5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgICAgICAgYW5zd2VyLmF0dGFjaG1lbnRzID0gYW5zd2VyLmF0dGFjaG1lbnRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGF0dGFjaG1lbnQuZmlsZU5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnQuZmlsZUlkICE9PSBkZWxldGVkSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLmFuc3dlci5pbmNsdWRlcyhmaWxlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmFuc3dlci5wdXNoKGZpbGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGdyaWQuZWxlbWVudC5hbnN3ZXIpIHtcbiAgICAgICAgICAgICAgYW5zd2VyLmZpbGVzID0gZ3JpZC5lbGVtZW50LmFuc3dlcjtcbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmFuc3dlci5mb3JFYWNoKChmaWxlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGUuX2ZpbGU/Lm5hbWU7XG4gICAgICAgICAgICAgICAgbGV0IGZpbGVOYW1lc0FycmF5ID0gQXJyYXkuaXNBcnJheShhbnN3ZXIuYW5zd2VyKVxuICAgICAgICAgICAgICAgICAgPyBhbnN3ZXIuYW5zd2VyXG4gICAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgICAgIGlmICghZmlsZU5hbWVzQXJyYXkuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZXNBcnJheS5wdXNoKGZpbGVOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5zd2VyLmFuc3dlciA9IGZpbGVOYW1lc0FycmF5O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW5zd2VyID0ge1xuICAgICAgICAgICAgICBxdWVzdGlvbklkOiBncmlkLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICAgIGFuc3dlcklkOiBncmlkLmVsZW1lbnQ/LmFuc3dlcklkIHx8ICcnLFxuICAgICAgICAgICAgICBhdHRhY2htZW50czogZ3JpZC5lbGVtZW50LmF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICBhbnN3ZXI6IGdyaWQuZWxlbWVudC5hbnN3ZXIsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VyID0gJyc7XG4gICAgICAgICAgYW5zd2Vycy5wdXNoKGFuc3dlcik7XG5cbiAgICAgICAgICBpZiAoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzKSB7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MuZm9yRWFjaCgobG9naWM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBpZiAobG9naWMuc2hvd0xvZ2ljKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc0Zvcm1FbGVtZW50cyhsb2dpYy5yb3dzLCBhbnN3ZXJzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdLmFuc3dlcnMgPSBbXTtcbiAgICBwcm9jZXNzRm9ybUVsZW1lbnRzKHJlc3VsdC5yb3dzLCB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XS5hbnN3ZXJzKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICAgIHRoaXMuY2xlYXJFbXB0eVJvd3MoKTtcbiAgfVxuXG4gIHVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKSB7XG4gICAgdGhpcy5zdWJGb3JtLnN1Ym1pc3Npb25zID0gdGhpcy5zdWJtaXNzaW9ucztcbiAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gdGhpcy5kZWxldGVkU3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIGNsZWFyRW1wdHlSb3dzKCkge1xuICAgIGNvbnN0IG5vbkVtcHR5U3VibWlzc2lvbnM6IFN1Ym1pc3Npb25bXSA9IFtdO1xuICAgIGNvbnN0IGVtcHR5U3VibWlzc2lvbklkczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRoaXMuc3VibWlzc2lvbnMuZm9yRWFjaChzdWJtaXNzaW9uID0+IHtcbiAgICAgIGlmIChzdWJtaXNzaW9uLmFuc3dlcnMuc29tZShhbnN3ZXIgPT4gYW5zd2VyLmFuc3dlciAhPT0gJycpKSB7XG4gICAgICAgIG5vbkVtcHR5U3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uKTtcbiAgICAgIH0gZWxzZSBpZiAoc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpIHtcbiAgICAgICAgZW1wdHlTdWJtaXNzaW9uSWRzLnB1c2goc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJtaXNzaW9ucyA9IG5vbkVtcHR5U3VibWlzc2lvbnM7XG4gICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaCguLi5lbXB0eVN1Ym1pc3Npb25JZHMpO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJleGFtcGxlLWNvbnRhaW5lciBcIiB0YWJpbmRleD1cIjBcIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwic3VibWlzc2lvbnNcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejhcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBzdWJGb3JtLnJvd3NcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZvcm1FbGVtZW50IG9mIHJvdy5ncmlkXCIgW21hdENvbHVtbkRlZl09XCJmb3JtRWxlbWVudC5lbGVtZW50LnF1ZXN0aW9uXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIj57eyBmb3JtRWxlbWVudC5lbGVtZW50LnF1ZXN0aW9uIH19PC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1Ym1pc3Npb25cIiBjbGFzcz1cImJvcmRlciBib3JkZXItMVwiIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogZ2V0QW5zd2VyQnlRdWVzdGlvbklkKHN1Ym1pc3Npb24sIGZvcm1FbGVtZW50LmVsZW1lbnQuaWQpPy5pc0NoaWxkfVwiPlxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJnZXRBbnN3ZXJCeVF1ZXN0aW9uSWQoc3VibWlzc2lvbiwgZm9ybUVsZW1lbnQuZWxlbWVudC5pZCk/Lmh0bWxDb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiIHN0aWNreUVuZD5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3VibWlzc2lvbjsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyIGJvcmRlci0xXCI+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGFyaWEtbGFiZWw9XCJFeGFtcGxlIGljb24tYnV0dG9uIHdpdGggYSBtZW51XCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAgKGNsaWNrKT1cImVkaXRTdWJGb3JtU3VibWlzc2lvbihpLCBzdWJtaXNzaW9uKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyOVwiIGhlaWdodD1cIjI4XCIgdmlld0JveD1cIjAgMCAyOSAyOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjI4XCIgaGVpZ2h0PVwiMjYuNDczN1wiIHJ4PVwiNS41XCIgZmlsbD1cIndoaXRlXCIgc3Ryb2tlPVwiI0Q4RDhEOFwiLz5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi4wMDA5IDE5LjA3ODdIOS4xNTgyVjE2LjIzNjFDOS4xNTgyIDE1Ljk0NDcgOS4yNzM5IDE1LjY2NTMgOS40Nzk5OSAxNS40NTkzTDE2LjIyMjQgOC43MTY4NkMxNi40Mjg0IDguNTEwNSAxNi43MDggOC4zOTQ1MyAxNi45OTk1IDguMzk0NTNDMTcuMjkxMSA4LjM5NDUzIDE3LjU3MDcgOC41MTA1IDE3Ljc3NjcgOC43MTY4NkwxOS41MjAxIDEwLjQ2MDNDMTkuNzI2NCAxMC42NjYzIDE5Ljg0MjQgMTAuOTQ1OCAxOS44NDI0IDExLjIzNzRDMTkuODQyNCAxMS41MjkgMTkuNzI2NCAxMS44MDg2IDE5LjUyMDEgMTIuMDE0NUwxMi43Nzc3IDE4Ljc1N0MxMi41NzE1IDE4Ljk2MjggMTIuMjkyMiAxOS4wNzg1IDEyLjAwMDkgMTkuMDc4N1pcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS4xNzA0IDEwLjM5ODRMMTcuODQxNSAxMy4wNjk1XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlU3ViRm9ybShpKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyOVwiIGhlaWdodD1cIjI4XCIgdmlld0JveD1cIjAgMCAyOSAyOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjI3LjY0MDJcIiBoZWlnaHQ9XCIyNi4xMzI4XCIgcng9XCI1LjVcIiBmaWxsPVwid2hpdGVcIiBzdHJva2U9XCIjRDhEOEQ4XCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjYwNDQ5IDkuMjA2MzdIMjAuMDM1NFwiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE5LjIxODkgOS4yMDcwM1YxNy43ODYzQzE5LjIxODkgMTguNjQ4MiAxOC40ODgxIDE5LjM0NjIgMTcuNTg1OSAxOS4zNDYySDExLjA1MzlDMTAuMTUxNyAxOS4zNDYyIDkuNDIwOSAxOC42NDgyIDkuNDIwOSAxNy43ODYzVjkuMjA3MDNcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNi43Njk2IDYuNjcxMjJIMTEuODcwNlwiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjY4NzEgMTIuMzI0MlYxNi4yMjM5XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuOTUzMiAxMi4zMjQyVjE2LjIyMzlcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkTmV3QnRuXCIgKGNsaWNrKT1cImFkZE5ld1N1Ym1pc3Npb24oKVwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE1IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi41NTU2IDEzLjI3NzhIMi40NDQ0NEMxLjY0NjM5IDEzLjI3NzggMSAxMi42NjczIDEgMTEuOTEzNlYyLjM2NDJDMSAxLjYxMDQ4IDEuNjQ2MzkgMSAyLjQ0NDQ0IDFIMTIuNTU1NkMxMy4zNTM2IDEgMTQgMS42MTA0OCAxNCAyLjM2NDJWMTEuOTEzNkMxNCAxMi42NjczIDEzLjM1MzYgMTMuMjc3OCAxMi41NTU2IDEzLjI3NzhaXCIgc3Ryb2tlPVwiI0Q4RDhEOFwiIHN0cm9rZS13aWR0aD1cIjAuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPHBhdGggZD1cIk01LjMzMzUgNy41MDM0N0g5LjY2NjgzXCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS13aWR0aD1cIjAuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPHBhdGggZD1cIk03LjUwMDA1IDUuMzM1OTRWOS42NjkyN1wiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2Utd2lkdGg9XCIwLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxhIGNsYXNzPVwibXMtMiB0ZXh0LWRlY29yYXRpb24tbm9uZVwiPkFkZCBOZXc8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL211bHRpcGxlLXN1YmZvcm0vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7QUF5QnRHLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFBbUIsTUFBaUIsRUFBVSxTQUF1QjtRQUFsRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVI1RCxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFFdkMsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQy9CLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFFeUMsQ0FBQztJQUUxRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JB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a0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxtQkFBbUIsR0FBaUIsRUFBRSxDQUFDO1FBQzdDLE1BQU0sa0JBQWtCLEdBQWEsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFO2dCQUMzRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEM7aUJBQU0sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO2dCQUNsQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBaFVVLHdCQUF3QjttR0FBeEIsd0JBQXdCLCtLQzNCckMsa2hKQXlEQTs7NEZEOUJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7MkhBS3ZCLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdWItZm9ybS9zdWJtaXNzaW9uLW1vZGFsL3N1Ym1pc3Npb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0YWNobWVudC5tb2RlbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmludGVyZmFjZSBBbnN3ZXIge1xuICBxdWVzdGlvbklkOiBzdHJpbmc7XG4gIGFuc3dlcj86IGFueTtcbiAgYW5zd2VySWQ/OiBzdHJpbmc7XG4gIGRlbGV0ZUZpbGVzPzogc3RyaW5nW107XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudFtdO1xuICBmaWxlcz86IGFueTtcbiAgaXNDaGlsZD86IGJvb2xlYW47XG4gIGh0bWxDb250ZW50PzogU2FmZUh0bWw7XG59XG5cbmludGVyZmFjZSBTdWJtaXNzaW9uIHtcbiAgc3VibWlzc2lvbklkOiBzdHJpbmc7XG4gIGFuc3dlcnM6IEFuc3dlcltdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbXVsdGlwbGUtc3ViZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zdWJmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlwbGUtc3ViZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXBsZVN1YmZvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBzdWJGb3JtOiBhbnkgPSB7fTtcbiAgQE91dHB1dCgpIHN1YkZvcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYWNjZXB0ZWRMYW5ndWFnZTogc3RyaW5nID0gJyc7XG5cbiAgc3VibWlzc2lvbnM6IFN1Ym1pc3Npb25bXSA9IFtdO1xuICBkZWxldGVkU3VibWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdWJGb3JtPy5zdWJtaXNzaW9ucykge1xuICAgICAgdGhpcy5zdWJtaXNzaW9ucyA9IHRoaXMuc3ViRm9ybS5zdWJtaXNzaW9ucztcbiAgICAgIHRoaXMuc3ViRm9ybS5kZWxldGVkU3VibWlzc2lvbnMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplRGlzcGxheWVkQ29sdW1ucygpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURpc3BsYXllZENvbHVtbnMoKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5zdWJGb3JtLnJvd3MuZmxhdE1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgaXRlbS5ncmlkXG4gICAgICAgIC5tYXAoKGdyaWRJdGVtOiBhbnkpID0+IGdyaWRJdGVtLmVsZW1lbnQucXVlc3Rpb24pXG4gICAgKTtcblxuICAgIC8vIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuc3ViRm9ybS5mb3JtRWxlbWVudHMubWFwKChmZTogYW55KSA9PiBmZS5lbGVtZW50LnF1ZXN0aW9uKTtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnYWN0aW9ucycpO1xuICB9XG5cbiAgZ2V0QW5zd2VyQnlRdWVzdGlvbklkKHN1Ym1pc3Npb246IFN1Ym1pc3Npb24sIHF1ZXN0aW9uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGFuc3dlcnMgPSBzdWJtaXNzaW9uLmFuc3dlcnMuZmluZChhbnN3ZXIgPT4gYW5zd2VyLnF1ZXN0aW9uSWQgPT09IHF1ZXN0aW9uSWQpO1xuICAgIGlmIChhbnN3ZXJzICYmIGFuc3dlcnMuYW5zd2VyKSB7XG4gICAgICBhbnN3ZXJzWydodG1sQ29udGVudCddID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoYW5zd2Vycy5hbnN3ZXIpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYW5zd2Vycy5hbnN3ZXIpICYmIGFuc3dlcnMuYW5zd2VyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IGh0bWxDb250ZW50QXJyYXk6IGFueSA9IFtdO1xuXG4gICAgICAgIGFuc3dlcnMuYW5zd2VyLmZvckVhY2goKGFucywgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAoYW5zPy5pbmNsdWRlcygnfCcpKSB7XG4gICAgICAgICAgICBodG1sQ29udGVudEFycmF5LnB1c2goYW5zLnNwbGl0KCd8JylbMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgYW5zd2Vyc1snaHRtbENvbnRlbnQnXSA9IGh0bWxDb250ZW50QXJyYXkuam9pbignLCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFuc3dlcnMuYW5zd2VyPy5pbmNsdWRlcygnfCcpKSB7XG4gICAgICAgICAgYW5zd2Vyc1snaHRtbENvbnRlbnQnXSA9IGFuc3dlcnMuYW5zd2VyLnNwbGl0KCd8JylbMF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYW5zd2VycztcbiAgfVxuXG4gIHN1YkZvcm1TdWJtaXNzaW9uKHN1YkZvcm06IGFueSkge1xuICAgIGNvbnN0IHByb2Nlc3NGb3JtRWxlbWVudHMgPSAocm93czogYW55W10sIGlzQ2hpbGQ6IGJvb2xlYW4gPSBmYWxzZSk6IEFuc3dlcltdID0+IHtcbiAgICAgIGNvbnN0IGFuc3dlcnM6IEFuc3dlcltdID0gW107XG5cbiAgICAgIHJvd3MuZmxhdE1hcCgoaXRlbTogYW55KSA9PlxuICAgICAgICBpdGVtLmdyaWQuZm9yRWFjaCgoZm9ybUVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogZm9ybUVsZW1lbnQuZWxlbWVudC5pZCxcbiAgICAgICAgICAgIGFuc3dlcjogZm9ybUVsZW1lbnQuZWxlbWVudD8uYW5zd2VyIHx8ICcnLFxuICAgICAgICAgICAgZmlsZXM6IGZvcm1FbGVtZW50LmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT0gJ0ZJTEVfUElDS0VSJyAmJiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlclxuICAgICAgICAgICAgICA/IGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaXNDaGlsZDogaXNDaGlsZFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09ICdGSUxFX1BJQ0tFUicgJiZcbiAgICAgICAgICAgIGZvcm1FbGVtZW50LmVsZW1lbnQuYW5zd2VyXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZXMgPSBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlci5tYXAoXG4gICAgICAgICAgICAgIChmaWxlOiBhbnkpID0+IGZpbGU/Ll9maWxlLm5hbWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhbnN3ZXIuYW5zd2VyID0gZmlsZU5hbWVzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhbnN3ZXJzLnB1c2goYW5zd2VyKTtcblxuICAgICAgICAgIGlmIChmb3JtRWxlbWVudC5lbGVtZW50LmNoaWxkTG9naWNzKSB7XG4gICAgICAgICAgICBmb3JtRWxlbWVudC5lbGVtZW50LmNoaWxkTG9naWNzLmZvckVhY2goKGxvZ2ljOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGxvZ2ljLnNob3dMb2dpYykge1xuICAgICAgICAgICAgICAgIGFuc3dlcnMucHVzaCguLi5wcm9jZXNzRm9ybUVsZW1lbnRzKGxvZ2ljLnJvd3MsIHRydWUpKTtcbiAgICAgICAgICAgICAgICBsb2dpYy5zaG93TG9naWMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHJldHVybiBhbnN3ZXJzO1xuICAgIH07XG5cbiAgICBjb25zdCBhbnN3ZXJzID0gcHJvY2Vzc0Zvcm1FbGVtZW50cyhzdWJGb3JtLnJvd3MpO1xuXG4gICAgaWYgKGFuc3dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3VibWlzc2lvbjogU3VibWlzc2lvbiA9IHtcbiAgICAgICAgc3VibWlzc2lvbklkOiAnJyxcbiAgICAgICAgYW5zd2VyczogYW5zd2VycyxcbiAgICAgIH07XG4gICAgICB0aGlzLnN1Ym1pc3Npb25zLnB1c2goc3VibWlzc2lvbik7XG4gICAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgICAgdGhpcy51cGRhdGVTdWJGb3JtV2l0aFN1Ym1pc3Npb25zKCk7XG4gICAgfVxuICB9XG5cblxuICBlZGl0U3ViRm9ybVN1Ym1pc3Npb24oaW5kZXg6IG51bWJlciwgc3VibWlzc2lvbjogU3VibWlzc2lvbikge1xuICAgIGNvbnN0IHN1YkZvcm0gPSB0aGlzLmJpbmRBbnN3ZXJzKHRoaXMuc3ViRm9ybSwgc3VibWlzc2lvbik7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHsgdG9wOiAnNSUnIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzEwMCUnO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgc3ViRm9ybTogc3ViRm9ybSxcbiAgICAgIGFjY2VwdGVkTGFuZ3VhZ2U6IHRoaXMuYWNjZXB0ZWRMYW5ndWFnZVxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLmhhc0JhY2tkcm9wID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICBkaWFsb2dDb25maWcubWF4SGVpZ2h0ID0gJzgwdmgnO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU3VibWlzc2lvbk1vZGFsQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVN1Ym1pc3Npb24ocmVzdWx0LCBpbmRleCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBiaW5kQW5zd2VycyhzdWJGb3JtOiBhbnksIHN1Ym1pc3Npb246IFN1Ym1pc3Npb24pOiBhbnkge1xuICAgIGNvbnN0IGJpbmRFbGVtZW50QW5zd2VycyA9IChyb3dzOiBhbnlbXSwgYW5zd2VyczogQW5zd2VyW10pID0+IHtcbiAgICAgIHJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgYW5zd2VyID0gYW5zd2Vycy5maW5kKFxuICAgICAgICAgICAgKGEpID0+IGEucXVlc3Rpb25JZCA9PT0gZ3JpZC5lbGVtZW50LmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoYW5zd2VyKSB7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VyID1cbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmZvcm1FbGVtZW50LmVsZW1lbnRUeXBlID09ICdGSUxFX1BJQ0tFUidcbiAgICAgICAgICAgICAgICA/IGFuc3dlcj8uZmlsZXNcbiAgICAgICAgICAgICAgICA6IGFuc3dlci5hbnN3ZXI7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VySWQgPSBhbnN3ZXIuYW5zd2VySWQ7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuYXR0YWNobWVudHMgPSBhbnN3ZXIuYXR0YWNobWVudHM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MpIHtcbiAgICAgICAgICAgIGdyaWQuZWxlbWVudC5jaGlsZExvZ2ljcy5mb3JFYWNoKChsb2dpYzogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGJpbmRFbGVtZW50QW5zd2Vycyhsb2dpYy5yb3dzLCBhbnN3ZXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHVwZGF0ZWRTdWJGb3JtID0geyAuLi5zdWJGb3JtIH07XG4gICAgYmluZEVsZW1lbnRBbnN3ZXJzKHVwZGF0ZWRTdWJGb3JtLnJvd3MsIHN1Ym1pc3Npb24uYW5zd2Vycyk7XG4gICAgcmV0dXJuIHVwZGF0ZWRTdWJGb3JtO1xuICB9XG5cbiAgZGVsZXRlU3ViRm9ybShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdO1xuICAgIGlmIChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCkge1xuICAgICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uLnN1Ym1pc3Npb25JZCk7XG4gICAgfVxuICAgIHRoaXMuc3VibWlzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbiAgYWRkTmV3U3VibWlzc2lvbigpIHtcbiAgICBjb25zdCBzdWJGb3JtID0gdGhpcy5jbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyh0aGlzLnN1YkZvcm0pO1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcucG9zaXRpb24gPSB7IHRvcDogJzUlJyB9O1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICcxMDAlJztcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHtcbiAgICAgIHN1YkZvcm06IHN1YkZvcm0sXG4gICAgICBhY2NlcHRlZExhbmd1YWdlOiB0aGlzLmFjY2VwdGVkTGFuZ3VhZ2VcbiAgICB9O1xuICAgIGRpYWxvZ0NvbmZpZy5oYXNCYWNrZHJvcCA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLm1heEhlaWdodCA9ICc4MHZoJztcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1Ym1pc3Npb25Nb2RhbENvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgY29uc3QgaGFzRGF0YSA9IHJlc3VsdC5yb3dzLmZsYXRNYXAoKGl0ZW06IGFueSkgPT5cbiAgICAgICAgICBpdGVtLmdyaWRcbiAgICAgICAgICAgIC5zb21lKChmb3JtRWxlbWVudDogYW55KSA9PiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlciAmJiBmb3JtRWxlbWVudC5lbGVtZW50LmFuc3dlci5sZW5ndGggPiAwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChoYXNEYXRhKSB7XG4gICAgICAgICAgdGhpcy5zdWJGb3JtU3VibWlzc2lvbihyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyhvYmo6IGFueSwgc2VlbiA9IG5ldyBXZWFrU2V0KCkpIHtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgaWYgKHNlZW4uaGFzKG9iaikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZWVuLmFkZChvYmopO1xuXG4gICAgY29uc3QgY2xlYW5lZE9iajogYW55ID0gQXJyYXkuaXNBcnJheShvYmopID8gW10gOiB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgY2xlYW5lZE9ialtrZXldID0gdGhpcy5jbGVhbkNpcmN1bGFyUmVmZXJlbmNlcyhvYmpba2V5XSwgc2Vlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsZWFuZWRPYmo7XG4gIH1cblxuICB1cGRhdGVTdWJtaXNzaW9uKHJlc3VsdDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcHJvY2Vzc0Zvcm1FbGVtZW50cyA9IChyb3dzOiBhbnlbXSwgYW5zd2VyczogQW5zd2VyW10pID0+IHtcbiAgICAgIHJvd3MuZm9yRWFjaCgocm93OiBhbnkpID0+IHtcbiAgICAgICAgcm93LmdyaWQuZm9yRWFjaCgoZ3JpZDogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IGFuc3dlcjogQW5zd2VyID0ge1xuICAgICAgICAgICAgcXVlc3Rpb25JZDogZ3JpZC5lbGVtZW50LmlkLFxuICAgICAgICAgICAgYW5zd2VySWQ6IGdyaWQuZWxlbWVudD8uYW5zd2VySWQgfHwgJycsXG4gICAgICAgICAgICBhdHRhY2htZW50czogZ3JpZC5lbGVtZW50LmF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgICAgICAgYW5zd2VyOiBbXSxcbiAgICAgICAgICAgIGZpbGVzOiBbXSxcbiAgICAgICAgICAgIGRlbGV0ZUZpbGVzOiBbXSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKGFuc3dlci5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgYW5zd2VyLmFuc3dlciA9IGFuc3dlci5hdHRhY2htZW50cy5tYXAoXG4gICAgICAgICAgICAgIChhdHRhY2htZW50OiBBdHRhY2htZW50KSA9PiBhdHRhY2htZW50LmZpbGVOYW1lXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQuZm9ybUVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdGSUxFX1BJQ0tFUicpIHtcbiAgICAgICAgICAgIGlmIChncmlkLmVsZW1lbnQ/LmRlbGV0ZUZpbGVzKSB7XG4gICAgICAgICAgICAgIGFuc3dlci5hbnN3ZXIgPSBbXTtcbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmRlbGV0ZUZpbGVzLmZvckVhY2goKGRlbGV0ZWRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgYW5zd2VyLmRlbGV0ZUZpbGVzPy5wdXNoKGRlbGV0ZWRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFuc3dlci5hdHRhY2htZW50cykge1xuICAgICAgICAgICAgICAgICAgYW5zd2VyLmF0dGFjaG1lbnRzID0gYW5zd2VyLmF0dGFjaG1lbnRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGF0dGFjaG1lbnQuZmlsZU5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnQuZmlsZUlkICE9PSBkZWxldGVkSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLmFuc3dlci5pbmNsdWRlcyhmaWxlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmFuc3dlci5wdXNoKGZpbGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGdyaWQuZWxlbWVudC5hbnN3ZXIpIHtcbiAgICAgICAgICAgICAgYW5zd2VyLmZpbGVzID0gZ3JpZC5lbGVtZW50LmFuc3dlcjtcbiAgICAgICAgICAgICAgZ3JpZC5lbGVtZW50LmFuc3dlci5mb3JFYWNoKChmaWxlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGUuX2ZpbGU/Lm5hbWU7XG4gICAgICAgICAgICAgICAgbGV0IGZpbGVOYW1lc0FycmF5ID0gQXJyYXkuaXNBcnJheShhbnN3ZXIuYW5zd2VyKVxuICAgICAgICAgICAgICAgICAgPyBhbnN3ZXIuYW5zd2VyXG4gICAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgICAgIGlmICghZmlsZU5hbWVzQXJyYXkuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZXNBcnJheS5wdXNoKGZpbGVOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5zd2VyLmFuc3dlciA9IGZpbGVOYW1lc0FycmF5O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW5zd2VyID0ge1xuICAgICAgICAgICAgICBxdWVzdGlvbklkOiBncmlkLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICAgIGFuc3dlcklkOiBncmlkLmVsZW1lbnQ/LmFuc3dlcklkIHx8ICcnLFxuICAgICAgICAgICAgICBhdHRhY2htZW50czogZ3JpZC5lbGVtZW50LmF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICBhbnN3ZXI6IGdyaWQuZWxlbWVudC5hbnN3ZXIsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBncmlkLmVsZW1lbnQuYW5zd2VyID0gJyc7XG4gICAgICAgICAgYW5zd2Vycy5wdXNoKGFuc3dlcik7XG5cbiAgICAgICAgICBpZiAoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzKSB7XG4gICAgICAgICAgICBncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MuZm9yRWFjaCgobG9naWM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBpZiAobG9naWMuc2hvd0xvZ2ljKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc0Zvcm1FbGVtZW50cyhsb2dpYy5yb3dzLCBhbnN3ZXJzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuc3VibWlzc2lvbnNbaW5kZXhdLmFuc3dlcnMgPSBbXTtcbiAgICBwcm9jZXNzRm9ybUVsZW1lbnRzKHJlc3VsdC5yb3dzLCB0aGlzLnN1Ym1pc3Npb25zW2luZGV4XS5hbnN3ZXJzKTtcbiAgICB0aGlzLnN1Ym1pc3Npb25zID0gWy4uLnRoaXMuc3VibWlzc2lvbnNdO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICAgIHRoaXMuY2xlYXJFbXB0eVJvd3MoKTtcbiAgfVxuXG4gIHVwZGF0ZVN1YkZvcm1XaXRoU3VibWlzc2lvbnMoKSB7XG4gICAgdGhpcy5zdWJGb3JtLnN1Ym1pc3Npb25zID0gdGhpcy5zdWJtaXNzaW9ucztcbiAgICB0aGlzLnN1YkZvcm0uZGVsZXRlZFN1Ym1pc3Npb25zID0gdGhpcy5kZWxldGVkU3VibWlzc2lvbnM7XG4gICAgdGhpcy5zdWJGb3JtQ2hhbmdlLmVtaXQodGhpcy5zdWJGb3JtKTtcbiAgfVxuXG4gIGNsZWFyRW1wdHlSb3dzKCkge1xuICAgIGNvbnN0IG5vbkVtcHR5U3VibWlzc2lvbnM6IFN1Ym1pc3Npb25bXSA9IFtdO1xuICAgIGNvbnN0IGVtcHR5U3VibWlzc2lvbklkczogc3RyaW5nW10gPSBbXTtcblxuICAgIHRoaXMuc3VibWlzc2lvbnMuZm9yRWFjaChzdWJtaXNzaW9uID0+IHtcbiAgICAgIGlmIChzdWJtaXNzaW9uLmFuc3dlcnMuc29tZShhbnN3ZXIgPT4gYW5zd2VyLmFuc3dlciAhPT0gJycpKSB7XG4gICAgICAgIG5vbkVtcHR5U3VibWlzc2lvbnMucHVzaChzdWJtaXNzaW9uKTtcbiAgICAgIH0gZWxzZSBpZiAoc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpIHtcbiAgICAgICAgZW1wdHlTdWJtaXNzaW9uSWRzLnB1c2goc3VibWlzc2lvbi5zdWJtaXNzaW9uSWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJtaXNzaW9ucyA9IG5vbkVtcHR5U3VibWlzc2lvbnM7XG4gICAgdGhpcy5kZWxldGVkU3VibWlzc2lvbnMucHVzaCguLi5lbXB0eVN1Ym1pc3Npb25JZHMpO1xuICAgIHRoaXMudXBkYXRlU3ViRm9ybVdpdGhTdWJtaXNzaW9ucygpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJleGFtcGxlLWNvbnRhaW5lciBcIiB0YWJpbmRleD1cIjBcIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwic3VibWlzc2lvbnNcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejhcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBzdWJGb3JtLnJvd3NcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZvcm1FbGVtZW50IG9mIHJvdy5ncmlkXCIgW21hdENvbHVtbkRlZl09XCJmb3JtRWxlbWVudC5lbGVtZW50LnF1ZXN0aW9uXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIj57eyBmb3JtRWxlbWVudC5lbGVtZW50LnF1ZXN0aW9uIH19PC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1Ym1pc3Npb25cIiBjbGFzcz1cImJvcmRlciBib3JkZXItMVwiIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogZ2V0QW5zd2VyQnlRdWVzdGlvbklkKHN1Ym1pc3Npb24sIGZvcm1FbGVtZW50LmVsZW1lbnQuaWQpPy5pc0NoaWxkfVwiPlxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJnZXRBbnN3ZXJCeVF1ZXN0aW9uSWQoc3VibWlzc2lvbiwgZm9ybUVsZW1lbnQuZWxlbWVudC5pZCk/Lmh0bWxDb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiIHN0aWNreUVuZD5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTFcIj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3VibWlzc2lvbjsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyIGJvcmRlci0xXCI+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGFyaWEtbGFiZWw9XCJFeGFtcGxlIGljb24tYnV0dG9uIHdpdGggYSBtZW51XCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAgKGNsaWNrKT1cImVkaXRTdWJGb3JtU3VibWlzc2lvbihpLCBzdWJtaXNzaW9uKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyOVwiIGhlaWdodD1cIjI4XCIgdmlld0JveD1cIjAgMCAyOSAyOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjI4XCIgaGVpZ2h0PVwiMjYuNDczN1wiIHJ4PVwiNS41XCIgZmlsbD1cIndoaXRlXCIgc3Ryb2tlPVwiI0Q4RDhEOFwiLz5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi4wMDA5IDE5LjA3ODdIOS4xNTgyVjE2LjIzNjFDOS4xNTgyIDE1Ljk0NDcgOS4yNzM5IDE1LjY2NTMgOS40Nzk5OSAxNS40NTkzTDE2LjIyMjQgOC43MTY4NkMxNi40Mjg0IDguNTEwNSAxNi43MDggOC4zOTQ1MyAxNi45OTk1IDguMzk0NTNDMTcuMjkxMSA4LjM5NDUzIDE3LjU3MDcgOC41MTA1IDE3Ljc3NjcgOC43MTY4NkwxOS41MjAxIDEwLjQ2MDNDMTkuNzI2NCAxMC42NjYzIDE5Ljg0MjQgMTAuOTQ1OCAxOS44NDI0IDExLjIzNzRDMTkuODQyNCAxMS41MjkgMTkuNzI2NCAxMS44MDg2IDE5LjUyMDEgMTIuMDE0NUwxMi43Nzc3IDE4Ljc1N0MxMi41NzE1IDE4Ljk2MjggMTIuMjkyMiAxOS4wNzg1IDEyLjAwMDkgMTkuMDc4N1pcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS4xNzA0IDEwLjM5ODRMMTcuODQxNSAxMy4wNjk1XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlU3ViRm9ybShpKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyOVwiIGhlaWdodD1cIjI4XCIgdmlld0JveD1cIjAgMCAyOSAyOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjI3LjY0MDJcIiBoZWlnaHQ9XCIyNi4xMzI4XCIgcng9XCI1LjVcIiBmaWxsPVwid2hpdGVcIiBzdHJva2U9XCIjRDhEOEQ4XCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjYwNDQ5IDkuMjA2MzdIMjAuMDM1NFwiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE5LjIxODkgOS4yMDcwM1YxNy43ODYzQzE5LjIxODkgMTguNjQ4MiAxOC40ODgxIDE5LjM0NjIgMTcuNTg1OSAxOS4zNDYySDExLjA1MzlDMTAuMTUxNyAxOS4zNDYyIDkuNDIwOSAxOC42NDgyIDkuNDIwOSAxNy43ODYzVjkuMjA3MDNcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNi43Njk2IDYuNjcxMjJIMTEuODcwNlwiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjY4NzEgMTIuMzI0MlYxNi4yMjM5XCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuOTUzMiAxMi4zMjQyVjE2LjIyMzlcIiBzdHJva2U9XCIjMDg0RkZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkTmV3QnRuXCIgKGNsaWNrKT1cImFkZE5ld1N1Ym1pc3Npb24oKVwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE1IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMi41NTU2IDEzLjI3NzhIMi40NDQ0NEMxLjY0NjM5IDEzLjI3NzggMSAxMi42NjczIDEgMTEuOTEzNlYyLjM2NDJDMSAxLjYxMDQ4IDEuNjQ2MzkgMSAyLjQ0NDQ0IDFIMTIuNTU1NkMxMy4zNTM2IDEgMTQgMS42MTA0OCAxNCAyLjM2NDJWMTEuOTEzNkMxNCAxMi42NjczIDEzLjM1MzYgMTMuMjc3OCAxMi41NTU2IDEzLjI3NzhaXCIgc3Ryb2tlPVwiI0Q4RDhEOFwiIHN0cm9rZS13aWR0aD1cIjAuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPHBhdGggZD1cIk01LjMzMzUgNy41MDM0N0g5LjY2NjgzXCIgc3Ryb2tlPVwiIzA4NEZGRlwiIHN0cm9rZS13aWR0aD1cIjAuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPHBhdGggZD1cIk03LjUwMDA1IDUuMzM1OTRWOS42NjkyN1wiIHN0cm9rZT1cIiMwODRGRkZcIiBzdHJva2Utd2lkdGg9XCIwLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxhIGNsYXNzPVwibXMtMiB0ZXh0LWRlY29yYXRpb24tbm9uZVwiPkFkZCBOZXc8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|