@netgrif/components 6.4.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,14 +37,14 @@ export class FileDefaultFieldComponent extends AbstractFileDefaultFieldComponent
37
37
  }
38
38
  }
39
39
  FileDefaultFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FileDefaultFieldComponent, deps: [{ token: i1.TaskResourceService }, { token: i1.LoggerService }, { token: i1.SnackBarService }, { token: i2.TranslateService }, { token: i1.EventService }, { token: i3.DomSanitizer }, { token: i4.MatDialog }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
40
- FileDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FileDefaultFieldComponent, selector: "nc-file-default-field", usesInheritance: true, ngImport: i0, template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!isFilePreview ? '100' : '75'}}\" class=\"netgrif-file-padding\">\n <div #fileLabel class=\"file-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(fileLabel),\n 'clip-path': getCutProperty(fileLabel)\n }\">\n <button mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControlRef.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"showPreviewDialog()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"isFilePreviewButton && !isEmpty() && isDisplayable\">\n <mat-icon color=\"primary\">search</mat-icon>\n </button>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControlRef.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControlRef\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n</div>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important;padding-right:1px!important}.form-input-disabled,.form-input-disabled:focus-within{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover,.form-input-disabled:focus-within{border-width:1px!important;padding:2px!important}.file-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.file-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-file-padding{padding-bottom:13px;position:relative}\n"], components: [{ type: i5.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i13.MatPrefix, selector: "[matPrefix]" }, { type: i14.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i15.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i13.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i13.MatError, selector: "mat-error", inputs: ["id"] }, { type: i16.ResizedDirective, selector: "[resized]", outputs: ["resized"] }], pipes: { "translate": i2.TranslatePipe } });
40
+ FileDefaultFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FileDefaultFieldComponent, selector: "nc-file-default-field", usesInheritance: true, ngImport: i0, template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!isFilePreview ? '100' : '75'}}\" class=\"netgrif-file-padding\">\n <div #fileLabel class=\"file-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(fileLabel),\n 'clip-path': getCutProperty(fileLabel)\n }\">\n <button mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControlRef.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"showPreviewDialog()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"isFilePreviewButton && !isEmpty() && isDisplayable\">\n <mat-icon color=\"primary\">search</mat-icon>\n </button>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControlRef.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControlRef\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\" loading=\"lazy\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n</div>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important;padding-right:1px!important}.form-input-disabled,.form-input-disabled:focus-within{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover,.form-input-disabled:focus-within{border-width:1px!important;padding:2px!important}.file-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.file-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-file-padding{padding-bottom:13px;position:relative}\n"], components: [{ type: i5.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i13.MatPrefix, selector: "[matPrefix]" }, { type: i14.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i15.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i13.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i13.MatError, selector: "mat-error", inputs: ["id"] }, { type: i16.ResizedDirective, selector: "[resized]", outputs: ["resized"] }], pipes: { "translate": i2.TranslatePipe } });
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FileDefaultFieldComponent, decorators: [{
42
42
  type: Component,
43
- args: [{ selector: 'nc-file-default-field', template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!isFilePreview ? '100' : '75'}}\" class=\"netgrif-file-padding\">\n <div #fileLabel class=\"file-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(fileLabel),\n 'clip-path': getCutProperty(fileLabel)\n }\">\n <button mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControlRef.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"showPreviewDialog()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"isFilePreviewButton && !isEmpty() && isDisplayable\">\n <mat-icon color=\"primary\">search</mat-icon>\n </button>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControlRef.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControlRef\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n</div>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important;padding-right:1px!important}.form-input-disabled,.form-input-disabled:focus-within{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover,.form-input-disabled:focus-within{border-width:1px!important;padding:2px!important}.file-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.file-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-file-padding{padding-bottom:13px;position:relative}\n"] }]
43
+ args: [{ selector: 'nc-file-default-field', template: "<div fxLayoutAlign=\"center center\" fxLayout=\"row\">\n <div fxFlex=\"{{!isFilePreview ? '100' : '75'}}\" class=\"netgrif-file-padding\">\n <div #fileLabel class=\"file-field-label\" [ngClass]=\"{'netgrif-label-disabled': formControlRef.disabled}\">\n {{dataField.title}}\n <nc-required-label *ngIf=\"dataField.behavior.required\" [isIn]=\"!dataField.disabled\"></nc-required-label>\n </div>\n <div class=\"form-input button-icon-input full-width\" fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [ngClass]=\"{'form-input-disabled': formControlRef.disabled, 'form-input-error': dataField.isInvalid(formControlRef)}\"\n [ngStyle]=\"{\n '-webkit-clip-path': getCutProperty(fileLabel),\n 'clip-path': getCutProperty(fileLabel)\n }\">\n <button mat-icon-button matPrefix\n [disabled]=\"formControlRef.disabled\"\n color=\"primary\"\n (click)=\"chooseFile()\"\n [matTooltip]=\"'dataField.file.clickToUpload' | translate\"\n [class.do-not-click]=\"state.uploading\">\n <mat-icon>file_upload</mat-icon>\n </button>\n <span (click)=\"isEmpty() ? chooseFile() : download()\" fxFlex\n [matTooltip]=\"isEmpty() ? '' : ('dataField.file.clickToDownload' | translate : {fileName: constructDisplayName()})\"\n class=\"input-name-ellipsis\"\n [ngClass]=\"{'input-placeholder': isEmpty(), 'no-cursor': isEmpty() && formControlRef.disabled}\">{{constructDisplayName()}}</span>\n <button (click)=\"showPreviewDialog()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"isFilePreviewButton && !isEmpty() && isDisplayable\">\n <mat-icon color=\"primary\">search</mat-icon>\n </button>\n <button (click)=\"deleteFile()\" [matTooltip]=\"'dataField.file.clickToDelete' | translate\" mat-icon-button\n *ngIf=\"!isEmpty() && !formControlRef.disabled\">\n <mat-icon color=\"warn\">close</mat-icon>\n </button>\n </div>\n <mat-progress-bar *ngIf=\"state.uploading || state.downloading\" color=\"primary\" [value]=\"state.progress\"\n [mode]=\"state.uploading ? 'determinate' : 'indeterminate'\"\n class=\"margin-bottom-default\"></mat-progress-bar>\n <input type=\"file\" #fileUploadInput name=\"fileUpload\" [multiple]=\"false\"\n accept=\"{{dataField.allowTypes}}\" class=\"invisible-input\">\n <input type=\"text\" [formControl]=\"formControlRef\" class=\"invisible-input\">\n <mat-hint class=\"file-hint-error\" [ngClass]=\"{'mat-hint-disabled': formControlRef.disabled}\"\n *ngIf=\"!dataField.isInvalid(formControlRef) && hasHint()\">{{dataField.description}}</mat-hint>\n <mat-error class=\"file-hint-error\"\n *ngIf=\"dataField.isInvalid(formControlRef)\">{{'dataField.validations.required' | translate}}</mat-error>\n </div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"5\"></div>\n <div *ngIf=\"isFilePreview\" fxFlex=\"20\" fxLayout=\"row\" fxLayoutAlign=\"center center\" #imageDiv\n (resized)=\"changeMaxWidth($event)\">\n <img *ngIf=\"previewSource !== undefined && !state.downloading && isDisplayable\" class=\"image-preview\" #imageEl\n [ngStyle]=\"!isBorderLGBTQ() && !isBorderDefault() && {\n 'border-width': getPreviewBorderWidth(),\n 'border-style': getPreviewBorderStyle(),\n 'border-color': getPreviewBorderColor()\n }\"\n [ngClass]=\"{'border-LGBTQ': isBorderLGBTQ(), 'border-default': isBorderDefault()}\"\n [src]=\"previewSource\" alt=\"Image preview\" (click)=\"showPreviewDialog()\" loading=\"lazy\"/>\n <mat-spinner *ngIf=\"previewSource === undefined && !!state.downloading && isDisplayable\"\n [diameter]=\"26\"></mat-spinner>\n </div>\n</div>\n", styles: [".invisible-input{display:none}.margin-bottom-default{margin-bottom:8px}.do-not-click:hover{cursor:not-allowed}.input-name-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.input-placeholder{color:#64748b}.button-icon-input{padding:2px!important}.full-width{width:100%;min-width:100%}.form-input{background:#FFFFFF;color:#64748b;outline:none;border:1px solid #64748B;text-align:left;font-size:14px;line-height:20px;border-radius:6px;min-width:5px;padding:8px 15px;box-sizing:border-box;height:44px}.form-input:hover{border-width:2px;padding-left:1px!important;padding-right:1px!important}.form-input-disabled,.form-input-disabled:focus-within{background:transparent!important;border-color:#cbd5e1!important}.form-input-disabled:hover,.form-input-disabled:focus-within{border-width:1px!important;padding:2px!important}.file-hint-error{font-size:75%;padding:0 1em;width:unset;position:absolute;margin-top:.5em;top:calc(100% - 2em)}.image-preview{width:auto;height:auto;cursor:pointer}.no-cursor{cursor:default!important;color:#64748b}.border-LGBTQ{border:5px solid transparent;border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1;animation:rainbow 10s infinite}@keyframes rainbow{0%{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}20%{border-image:linear-gradient(to bottom right,#2C90FC 0%,#B8FD33 25%,#FEC837 50%,#FD1892 75%,#B827FC 100%);border-image-slice:1}40%{border-image:linear-gradient(to bottom right,#B8FD33 0%,#FEC837 25%,#FD1892 50%,#B827FC 75%,#2C90FC 100%);border-image-slice:1}60%{border-image:linear-gradient(to bottom right,#FEC837 0%,#FD1892 25%,#B827FC 50%,#2C90FC 75%,#B8FD33 100%);border-image-slice:1}80%{border-image:linear-gradient(to bottom right,#FD1892 0%,#B827FC 25%,#2C90FC 50%,#B8FD33 75%,#FEC837 100%);border-image-slice:1}to{border-image:linear-gradient(to bottom right,#B827FC 0%,#2C90FC 25%,#B8FD33 50%,#FEC837 75%,#FD1892 100%);border-image-slice:1}}.border-default{border-width:1px;border-style:solid;border-color:#000}@media only screen and (max-width: 959.99px){.input-name-ellipsis{word-break:break-word;white-space:normal;overflow-y:auto;max-height:40px}}.file-field-label{transform:translate(.4em,-.45em) scale(.75);transform-origin:left;color:#64748b;background:transparent;width:fit-content;padding:0 .5em;z-index:5;height:0;position:relative}.netgrif-file-padding{padding-bottom:13px;position:relative}\n"] }]
44
44
  }], ctorParameters: function () { return [{ type: i1.TaskResourceService }, { type: i1.LoggerService }, { type: i1.SnackBarService }, { type: i2.TranslateService }, { type: i1.EventService }, { type: i3.DomSanitizer }, { type: i4.MatDialog }, { type: undefined, decorators: [{
45
45
  type: Optional
46
46
  }, {
47
47
  type: Inject,
48
48
  args: [DATA_FIELD_PORTAL_DATA]
49
49
  }] }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL2ZpbGUtZmllbGQvZmlsZS1kZWZhdWx0LWZpZWxkL2ZpbGUtZGVmYXVsdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRhLWZpZWxkcy9maWxlLWZpZWxkL2ZpbGUtZGVmYXVsdC1maWVsZC9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFDSCxzQkFBc0IsRUFLdEIsaUNBQWlDLEVBQ3BDLE1BQU0sMEJBQTBCLENBQUM7QUFJbEMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUNBQWlDO0lBRTVFLFlBQVksbUJBQXdDLEVBQ3hDLEdBQWtCLEVBQ2xCLFFBQXlCLEVBQ3pCLFNBQTJCLEVBQzNCLFlBQTBCLEVBQ2hCLFVBQXdCLEVBQ3hCLE1BQWlCLEVBQ2lCLG1CQUFtRDtRQUN2RyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBSGxGLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUd2QyxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3JDLElBQUksRUFBRTtnQkFDRixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDaEMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUNuQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7O3VIQXZCUSx5QkFBeUIsa09BU0Ysc0JBQXNCOzJHQVQ3Qyx5QkFBeUIsb0ZDbkJ0QyxtbUlBMkRBOzRGRHhDYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCOzswQkFhbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGEsXG4gICAgRXZlbnRTZXJ2aWNlLCBGaWxlRmllbGQsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBTbmFja0JhclNlcnZpY2UsXG4gICAgVGFza1Jlc291cmNlU2VydmljZSxcbiAgICBBYnN0cmFjdEZpbGVEZWZhdWx0RmllbGRDb21wb25lbnRcbn0gZnJvbSBcIkBuZXRncmlmL2NvbXBvbmVudHMtY29yZVwiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtQcmV2aWV3RGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi4vcHJldmlldy1kaWFsb2cvcHJldmlldy1kaWFsb2cuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLWZpbGUtZGVmYXVsdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRGVmYXVsdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWxlRGVmYXVsdEZpZWxkQ29tcG9uZW50e1xuXG4gICAgY29uc3RydWN0b3IodGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBsb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPEZpbGVGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIodGFza1Jlc291cmNlU2VydmljZSwgbG9nLCBzbmFja2JhciwgdHJhbnNsYXRlLCBldmVudFNlcnZpY2UsIF9zYW5pdGl6ZXIsIGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93UHJldmlld0RpYWxvZygpIHtcbiAgICAgICAgc3VwZXIuc2hvd1ByZXZpZXdEaWFsb2coKTtcbiAgICAgICAgdGhpcy5kaWFsb2cub3BlbihQcmV2aWV3RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YUZpZWxkOiB0aGlzLmRhdGFGaWVsZCxcbiAgICAgICAgICAgICAgICBpbWFnZVByZXZpZXc6IHRoaXMucHJldmlld1NvdXJjZSxcbiAgICAgICAgICAgICAgICBpbWFnZUZ1bGw6IHRoaXMuZnVsbFNvdXJjZSxcbiAgICAgICAgICAgICAgICBleHRlbnNpb246IHRoaXMucHJldmlld0V4dGVuc2lvblxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dD1cInJvd1wiPlxuICAgIDxkaXYgZnhGbGV4PVwie3shaXNGaWxlUHJldmlldyA/ICcxMDAnIDogJzc1J319XCIgY2xhc3M9XCJuZXRncmlmLWZpbGUtcGFkZGluZ1wiPlxuICAgICAgICA8ZGl2ICNmaWxlTGFiZWwgY2xhc3M9XCJmaWxlLWZpZWxkLWxhYmVsXCIgW25nQ2xhc3NdPVwieyduZXRncmlmLWxhYmVsLWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWR9XCI+XG4gICAgICAgICAgICB7e2RhdGFGaWVsZC50aXRsZX19XG4gICAgICAgICAgICA8bmMtcmVxdWlyZWQtbGFiZWwgKm5nSWY9XCJkYXRhRmllbGQuYmVoYXZpb3IucmVxdWlyZWRcIiBbaXNJbl09XCIhZGF0YUZpZWxkLmRpc2FibGVkXCI+PC9uYy1yZXF1aXJlZC1sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlucHV0IGJ1dHRvbi1pY29uLWlucHV0IGZ1bGwtd2lkdGhcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZm9ybS1pbnB1dC1kaXNhYmxlZCc6IGZvcm1Db250cm9sUmVmLmRpc2FibGVkLCAnZm9ybS1pbnB1dC1lcnJvcic6IGRhdGFGaWVsZC5pc0ludmFsaWQoZm9ybUNvbnRyb2xSZWYpfVwiXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnLXdlYmtpdC1jbGlwLXBhdGgnOiBnZXRDdXRQcm9wZXJ0eShmaWxlTGFiZWwpLFxuICAgICAgICAgICAgICAgICAgICAnY2xpcC1wYXRoJzogZ2V0Q3V0UHJvcGVydHkoZmlsZUxhYmVsKVxuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0UHJlZml4XG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaG9vc2VGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZGF0YUZpZWxkLmZpbGUuY2xpY2tUb1VwbG9hZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG8tbm90LWNsaWNrXT1cInN0YXRlLnVwbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJpc0VtcHR5KCkgPyBjaG9vc2VGaWxlKCkgOiBkb3dubG9hZCgpXCIgZnhGbGV4XG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpc0VtcHR5KCkgPyAnJyA6ICgnZGF0YUZpZWxkLmZpbGUuY2xpY2tUb0Rvd25sb2FkJyB8IHRyYW5zbGF0ZSA6IHtmaWxlTmFtZTogY29uc3RydWN0RGlzcGxheU5hbWUoKX0pXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbmFtZS1lbGxpcHNpc1wiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LXBsYWNlaG9sZGVyJzogaXNFbXB0eSgpLCAnbm8tY3Vyc29yJzogaXNFbXB0eSgpICYmIGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiPnt7Y29uc3RydWN0RGlzcGxheU5hbWUoKX19PC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd1ByZXZpZXdEaWFsb2coKVwiIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQuZmlsZS5jbGlja1RvRGVsZXRlJyB8IHRyYW5zbGF0ZVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRmlsZVByZXZpZXdCdXR0b24gJiYgIWlzRW1wdHkoKSAmJiBpc0Rpc3BsYXlhYmxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpbGUoKVwiIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQuZmlsZS5jbGlja1RvRGVsZXRlJyB8IHRyYW5zbGF0ZVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0VtcHR5KCkgJiYgIWZvcm1Db250cm9sUmVmLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJzdGF0ZS51cGxvYWRpbmcgfHwgc3RhdGUuZG93bmxvYWRpbmdcIiBjb2xvcj1cInByaW1hcnlcIiBbdmFsdWVdPVwic3RhdGUucHJvZ3Jlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJzdGF0ZS51cGxvYWRpbmcgPyAnZGV0ZXJtaW5hdGUnIDogJ2luZGV0ZXJtaW5hdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tYm90dG9tLWRlZmF1bHRcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlVXBsb2FkSW5wdXQgbmFtZT1cImZpbGVVcGxvYWRcIiBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgYWNjZXB0PVwie3tkYXRhRmllbGQuYWxsb3dUeXBlc319XCIgY2xhc3M9XCJpbnZpc2libGUtaW5wdXRcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sUmVmXCIgY2xhc3M9XCJpbnZpc2libGUtaW5wdXRcIj5cbiAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZmlsZS1oaW50LWVycm9yXCIgW25nQ2xhc3NdPVwieydtYXQtaGludC1kaXNhYmxlZCc6IGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKSAmJiBoYXNIaW50KClcIj57e2RhdGFGaWVsZC5kZXNjcmlwdGlvbn19PC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImZpbGUtaGludC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKVwiPnt7J2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0ZpbGVQcmV2aWV3XCIgZnhGbGV4PVwiNVwiPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0ZpbGVQcmV2aWV3XCIgZnhGbGV4PVwiMjBcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgI2ltYWdlRGl2XG4gICAgICAgICAocmVzaXplZCk9XCJjaGFuZ2VNYXhXaWR0aCgkZXZlbnQpXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJwcmV2aWV3U291cmNlICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLmRvd25sb2FkaW5nICYmIGlzRGlzcGxheWFibGVcIiBjbGFzcz1cImltYWdlLXByZXZpZXdcIiAjaW1hZ2VFbFxuICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIiFpc0JvcmRlckxHQlRRKCkgJiYgIWlzQm9yZGVyRGVmYXVsdCgpICYmIHtcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci13aWR0aCc6IGdldFByZXZpZXdCb3JkZXJXaWR0aCgpLFxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXN0eWxlJzogZ2V0UHJldmlld0JvcmRlclN0eWxlKCksXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItY29sb3InOiBnZXRQcmV2aWV3Qm9yZGVyQ29sb3IoKVxuICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2JvcmRlci1MR0JUUSc6IGlzQm9yZGVyTEdCVFEoKSwgJ2JvcmRlci1kZWZhdWx0JzogaXNCb3JkZXJEZWZhdWx0KCl9XCJcbiAgICAgICAgICAgICBbc3JjXT1cInByZXZpZXdTb3VyY2VcIiBhbHQ9XCJJbWFnZSBwcmV2aWV3XCIgKGNsaWNrKT1cInNob3dQcmV2aWV3RGlhbG9nKClcIi8+XG4gICAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cInByZXZpZXdTb3VyY2UgPT09IHVuZGVmaW5lZCAmJiAhIXN0YXRlLmRvd25sb2FkaW5nICYmIGlzRGlzcGxheWFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjI2XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL2ZpbGUtZmllbGQvZmlsZS1kZWZhdWx0LWZpZWxkL2ZpbGUtZGVmYXVsdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRhLWZpZWxkcy9maWxlLWZpZWxkL2ZpbGUtZGVmYXVsdC1maWVsZC9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFDSCxzQkFBc0IsRUFLdEIsaUNBQWlDLEVBQ3BDLE1BQU0sMEJBQTBCLENBQUM7QUFJbEMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUNBQWlDO0lBRTVFLFlBQVksbUJBQXdDLEVBQ3hDLEdBQWtCLEVBQ2xCLFFBQXlCLEVBQ3pCLFNBQTJCLEVBQzNCLFlBQTBCLEVBQ2hCLFVBQXdCLEVBQ3hCLE1BQWlCLEVBQ2lCLG1CQUFtRDtRQUN2RyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBSGxGLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUd2QyxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3JDLElBQUksRUFBRTtnQkFDRixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDaEMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUNuQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7O3VIQXZCUSx5QkFBeUIsa09BU0Ysc0JBQXNCOzJHQVQ3Qyx5QkFBeUIsb0ZDbkJ0QyxvbklBMkRBOzRGRHhDYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCOzswQkFhbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGEsXG4gICAgRXZlbnRTZXJ2aWNlLCBGaWxlRmllbGQsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBTbmFja0JhclNlcnZpY2UsXG4gICAgVGFza1Jlc291cmNlU2VydmljZSxcbiAgICBBYnN0cmFjdEZpbGVEZWZhdWx0RmllbGRDb21wb25lbnRcbn0gZnJvbSBcIkBuZXRncmlmL2NvbXBvbmVudHMtY29yZVwiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtQcmV2aWV3RGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi4vcHJldmlldy1kaWFsb2cvcHJldmlldy1kaWFsb2cuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLWZpbGUtZGVmYXVsdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWRlZmF1bHQtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRGVmYXVsdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWxlRGVmYXVsdEZpZWxkQ29tcG9uZW50e1xuXG4gICAgY29uc3RydWN0b3IodGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBsb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPEZpbGVGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIodGFza1Jlc291cmNlU2VydmljZSwgbG9nLCBzbmFja2JhciwgdHJhbnNsYXRlLCBldmVudFNlcnZpY2UsIF9zYW5pdGl6ZXIsIGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93UHJldmlld0RpYWxvZygpIHtcbiAgICAgICAgc3VwZXIuc2hvd1ByZXZpZXdEaWFsb2coKTtcbiAgICAgICAgdGhpcy5kaWFsb2cub3BlbihQcmV2aWV3RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YUZpZWxkOiB0aGlzLmRhdGFGaWVsZCxcbiAgICAgICAgICAgICAgICBpbWFnZVByZXZpZXc6IHRoaXMucHJldmlld1NvdXJjZSxcbiAgICAgICAgICAgICAgICBpbWFnZUZ1bGw6IHRoaXMuZnVsbFNvdXJjZSxcbiAgICAgICAgICAgICAgICBleHRlbnNpb246IHRoaXMucHJldmlld0V4dGVuc2lvblxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dD1cInJvd1wiPlxuICAgIDxkaXYgZnhGbGV4PVwie3shaXNGaWxlUHJldmlldyA/ICcxMDAnIDogJzc1J319XCIgY2xhc3M9XCJuZXRncmlmLWZpbGUtcGFkZGluZ1wiPlxuICAgICAgICA8ZGl2ICNmaWxlTGFiZWwgY2xhc3M9XCJmaWxlLWZpZWxkLWxhYmVsXCIgW25nQ2xhc3NdPVwieyduZXRncmlmLWxhYmVsLWRpc2FibGVkJzogZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWR9XCI+XG4gICAgICAgICAgICB7e2RhdGFGaWVsZC50aXRsZX19XG4gICAgICAgICAgICA8bmMtcmVxdWlyZWQtbGFiZWwgKm5nSWY9XCJkYXRhRmllbGQuYmVoYXZpb3IucmVxdWlyZWRcIiBbaXNJbl09XCIhZGF0YUZpZWxkLmRpc2FibGVkXCI+PC9uYy1yZXF1aXJlZC1sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlucHV0IGJ1dHRvbi1pY29uLWlucHV0IGZ1bGwtd2lkdGhcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZm9ybS1pbnB1dC1kaXNhYmxlZCc6IGZvcm1Db250cm9sUmVmLmRpc2FibGVkLCAnZm9ybS1pbnB1dC1lcnJvcic6IGRhdGFGaWVsZC5pc0ludmFsaWQoZm9ybUNvbnRyb2xSZWYpfVwiXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnLXdlYmtpdC1jbGlwLXBhdGgnOiBnZXRDdXRQcm9wZXJ0eShmaWxlTGFiZWwpLFxuICAgICAgICAgICAgICAgICAgICAnY2xpcC1wYXRoJzogZ2V0Q3V0UHJvcGVydHkoZmlsZUxhYmVsKVxuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0UHJlZml4XG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtQ29udHJvbFJlZi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaG9vc2VGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZGF0YUZpZWxkLmZpbGUuY2xpY2tUb1VwbG9hZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZG8tbm90LWNsaWNrXT1cInN0YXRlLnVwbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJpc0VtcHR5KCkgPyBjaG9vc2VGaWxlKCkgOiBkb3dubG9hZCgpXCIgZnhGbGV4XG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpc0VtcHR5KCkgPyAnJyA6ICgnZGF0YUZpZWxkLmZpbGUuY2xpY2tUb0Rvd25sb2FkJyB8IHRyYW5zbGF0ZSA6IHtmaWxlTmFtZTogY29uc3RydWN0RGlzcGxheU5hbWUoKX0pXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbmFtZS1lbGxpcHNpc1wiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LXBsYWNlaG9sZGVyJzogaXNFbXB0eSgpLCAnbm8tY3Vyc29yJzogaXNFbXB0eSgpICYmIGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiPnt7Y29uc3RydWN0RGlzcGxheU5hbWUoKX19PC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd1ByZXZpZXdEaWFsb2coKVwiIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQuZmlsZS5jbGlja1RvRGVsZXRlJyB8IHRyYW5zbGF0ZVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRmlsZVByZXZpZXdCdXR0b24gJiYgIWlzRW1wdHkoKSAmJiBpc0Rpc3BsYXlhYmxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpbGUoKVwiIFttYXRUb29sdGlwXT1cIidkYXRhRmllbGQuZmlsZS5jbGlja1RvRGVsZXRlJyB8IHRyYW5zbGF0ZVwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0VtcHR5KCkgJiYgIWZvcm1Db250cm9sUmVmLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJzdGF0ZS51cGxvYWRpbmcgfHwgc3RhdGUuZG93bmxvYWRpbmdcIiBjb2xvcj1cInByaW1hcnlcIiBbdmFsdWVdPVwic3RhdGUucHJvZ3Jlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJzdGF0ZS51cGxvYWRpbmcgPyAnZGV0ZXJtaW5hdGUnIDogJ2luZGV0ZXJtaW5hdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tYm90dG9tLWRlZmF1bHRcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlVXBsb2FkSW5wdXQgbmFtZT1cImZpbGVVcGxvYWRcIiBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgYWNjZXB0PVwie3tkYXRhRmllbGQuYWxsb3dUeXBlc319XCIgY2xhc3M9XCJpbnZpc2libGUtaW5wdXRcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sUmVmXCIgY2xhc3M9XCJpbnZpc2libGUtaW5wdXRcIj5cbiAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZmlsZS1oaW50LWVycm9yXCIgW25nQ2xhc3NdPVwieydtYXQtaGludC1kaXNhYmxlZCc6IGZvcm1Db250cm9sUmVmLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKSAmJiBoYXNIaW50KClcIj57e2RhdGFGaWVsZC5kZXNjcmlwdGlvbn19PC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImZpbGUtaGludC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sUmVmKVwiPnt7J2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0ZpbGVQcmV2aWV3XCIgZnhGbGV4PVwiNVwiPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0ZpbGVQcmV2aWV3XCIgZnhGbGV4PVwiMjBcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgI2ltYWdlRGl2XG4gICAgICAgICAocmVzaXplZCk9XCJjaGFuZ2VNYXhXaWR0aCgkZXZlbnQpXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJwcmV2aWV3U291cmNlICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLmRvd25sb2FkaW5nICYmIGlzRGlzcGxheWFibGVcIiBjbGFzcz1cImltYWdlLXByZXZpZXdcIiAjaW1hZ2VFbFxuICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIiFpc0JvcmRlckxHQlRRKCkgJiYgIWlzQm9yZGVyRGVmYXVsdCgpICYmIHtcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci13aWR0aCc6IGdldFByZXZpZXdCb3JkZXJXaWR0aCgpLFxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXN0eWxlJzogZ2V0UHJldmlld0JvcmRlclN0eWxlKCksXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItY29sb3InOiBnZXRQcmV2aWV3Qm9yZGVyQ29sb3IoKVxuICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2JvcmRlci1MR0JUUSc6IGlzQm9yZGVyTEdCVFEoKSwgJ2JvcmRlci1kZWZhdWx0JzogaXNCb3JkZXJEZWZhdWx0KCl9XCJcbiAgICAgICAgICAgICBbc3JjXT1cInByZXZpZXdTb3VyY2VcIiBhbHQ9XCJJbWFnZSBwcmV2aWV3XCIgKGNsaWNrKT1cInNob3dQcmV2aWV3RGlhbG9nKClcIiBsb2FkaW5nPVwibGF6eVwiLz5cbiAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwicHJldmlld1NvdXJjZSA9PT0gdW5kZWZpbmVkICYmICEhc3RhdGUuZG93bmxvYWRpbmcgJiYgaXNEaXNwbGF5YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMjZcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -8,6 +8,9 @@ import * as i4 from "@angular/common";
8
8
  export class TaskRefDashboardFieldComponent extends AbstractTaskRefDashboardFieldComponent {
9
9
  constructor(logger, dataFieldPortalData) {
10
10
  super(logger, dataFieldPortalData);
11
+ if (!!dataFieldPortalData && dataFieldPortalData?.additionalFieldProperties?.taskContentComponentClassReference) {
12
+ this.taskContentComponentClassReference = dataFieldPortalData.additionalFieldProperties.taskContentComponentClassReference;
13
+ }
11
14
  }
12
15
  getGridColumns() {
13
16
  return `repeat(${this.dataField.dashboardCols}, 1fr)`;
@@ -35,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
35
38
  }] }]; }, propDecorators: { taskContentComponentClassReference: [{
36
39
  type: Input
37
40
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yZWYtZGFzaGJvYXJkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3Rhc2stcmVmLWZpZWxkL3Rhc2stcmVmLWRhc2hib2FyZC1maWVsZC90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdGFzay1yZWYtZmllbGQvdGFzay1yZWYtZGFzaGJvYXJkLWZpZWxkL3Rhc2stcmVmLWRhc2hib2FyZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxzQ0FBc0MsRUFDdEMsc0JBQXNCLEVBS3pCLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU9sQyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsc0NBQXNDO0lBSXRGLFlBQVksTUFBcUIsRUFDdUIsbUJBQXNEO1FBQzFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsUUFBUSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSx3QkFBd0IsQ0FBQztJQUMxRSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBMEI7UUFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTBCO1FBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7NEhBdkJRLDhCQUE4QiwrQ0FLUCxzQkFBc0I7Z0hBTDdDLDhCQUE4QixnTENmM0MsMm1CQVNBOzRGRE1hLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7OzBCQVN4QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjs0Q0FIN0Msa0NBQWtDO3NCQUExQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrUmVmRGFzaGJvYXJkRmllbGRDb21wb25lbnQsXG4gICAgREFUQV9GSUVMRF9QT1JUQUxfREFUQSxcbiAgICBEYXRhRmllbGRQb3J0YWxEYXRhLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgVGFza1JlZkRhc2hib2FyZFRpbGUsXG4gICAgVGFza1JlZkZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLXRhc2stcmVmLWRhc2hib2FyZC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrUmVmRGFzaGJvYXJkRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tSZWZEYXNoYm9hcmRGaWVsZENvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSB0YXNrQ29udGVudENvbXBvbmVudENsYXNzUmVmZXJlbmNlOiBUeXBlPGFueT47XG5cbiAgICBjb25zdHJ1Y3Rvcihsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFRhc2tSZWZGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICB9XG5cbiAgICBnZXRHcmlkQ29sdW1ucygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHJlcGVhdCgke3RoaXMuZGF0YUZpZWxkLmRhc2hib2FyZENvbHN9LCAxZnIpYDtcbiAgICB9XG5cbiAgICBnZXRHcmlkUm93cygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHJlcGVhdCgke3RoaXMuZGF0YUZpZWxkLmRhc2hib2FyZFJvd3N9LCBtaW5tYXgoMzIwcHgsIGF1dG8pKWA7XG4gICAgfVxuXG4gICAgZ2V0VGlsZUdyaWRDb2x1bW4odGlsZTogVGFza1JlZkRhc2hib2FyZFRpbGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGlsZS54ICsgMX0gLyBzcGFuICR7dGlsZS5jb2xzfWA7XG4gICAgfVxuXG4gICAgZ2V0VGlsZUdyaWRSb3codGlsZTogVGFza1JlZkRhc2hib2FyZFRpbGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGlsZS55ICsgMX0gLyBzcGFuICR7dGlsZS5yb3dzfWA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbGwtYXZhaWxhYmxlLXNwYWNlXCIgW2dkQ29sdW1uc109XCJnZXRHcmlkQ29sdW1ucygpXCIgW2dkUm93c109XCJnZXRHcmlkUm93cygpXCI+XG4gICAgPG5jLXRhc2stcmVmLWRhc2hib2FyZC10aWxlICpuZ0Zvcj1cImxldCB0aWxlIG9mIGRhc2hib2FyZFRpbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpbGVdPVwidGlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXNrUmVmXT1cImRhdGFGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmY109XCJmb3JtQ29udHJvbFJlZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZENvbHVtbl09XCJnZXRUaWxlR3JpZENvbHVtbih0aWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnZFJvd109XCJnZXRUaWxlR3JpZFJvdyh0aWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXNrQ29udGVudENvbXBvbmVudENsYXNzUmVmZXJlbmNlXT1cInRhc2tDb250ZW50Q29tcG9uZW50Q2xhc3NSZWZlcmVuY2VcIj48L25jLXRhc2stcmVmLWRhc2hib2FyZC10aWxlPlxuPC9kaXY+XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1yZWYtZGFzaGJvYXJkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3Rhc2stcmVmLWZpZWxkL3Rhc2stcmVmLWRhc2hib2FyZC1maWVsZC90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdGFzay1yZWYtZmllbGQvdGFzay1yZWYtZGFzaGJvYXJkLWZpZWxkL3Rhc2stcmVmLWRhc2hib2FyZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxzQ0FBc0MsRUFDdEMsc0JBQXNCLEVBS3pCLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU9sQyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsc0NBQXNDO0lBSXRGLFlBQVksTUFBcUIsRUFDdUIsbUJBQXNEO1FBQzFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxrQ0FBa0MsRUFBRTtZQUM3RyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsbUJBQW1CLENBQUMseUJBQXlCLENBQUMsa0NBQTBELENBQUM7U0FDdEo7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsUUFBUSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSx3QkFBd0IsQ0FBQztJQUMxRSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBMEI7UUFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTBCO1FBQ3JDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7NEhBMUJRLDhCQUE4QiwrQ0FLUCxzQkFBc0I7Z0hBTDdDLDhCQUE4QixnTENmM0MsMm1CQVNBOzRGRE1hLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7OzBCQVN4QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjs0Q0FIN0Msa0NBQWtDO3NCQUExQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrUmVmRGFzaGJvYXJkRmllbGRDb21wb25lbnQsXG4gICAgREFUQV9GSUVMRF9QT1JUQUxfREFUQSxcbiAgICBEYXRhRmllbGRQb3J0YWxEYXRhLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgVGFza1JlZkRhc2hib2FyZFRpbGUsXG4gICAgVGFza1JlZkZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLXRhc2stcmVmLWRhc2hib2FyZC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLXJlZi1kYXNoYm9hcmQtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrUmVmRGFzaGJvYXJkRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tSZWZEYXNoYm9hcmRGaWVsZENvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSB0YXNrQ29udGVudENvbXBvbmVudENsYXNzUmVmZXJlbmNlOiBUeXBlPGFueT47XG5cbiAgICBjb25zdHJ1Y3Rvcihsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFRhc2tSZWZGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICAgICAgaWYgKCEhZGF0YUZpZWxkUG9ydGFsRGF0YSAmJiBkYXRhRmllbGRQb3J0YWxEYXRhPy5hZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzPy50YXNrQ29udGVudENvbXBvbmVudENsYXNzUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB0aGlzLnRhc2tDb250ZW50Q29tcG9uZW50Q2xhc3NSZWZlcmVuY2UgPSBkYXRhRmllbGRQb3J0YWxEYXRhLmFkZGl0aW9uYWxGaWVsZFByb3BlcnRpZXMudGFza0NvbnRlbnRDb21wb25lbnRDbGFzc1JlZmVyZW5jZSBhcyB1bmtub3duIGFzIFR5cGU8YW55PjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEdyaWRDb2x1bW5zKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgcmVwZWF0KCR7dGhpcy5kYXRhRmllbGQuZGFzaGJvYXJkQ29sc30sIDFmcilgO1xuICAgIH1cblxuICAgIGdldEdyaWRSb3dzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgcmVwZWF0KCR7dGhpcy5kYXRhRmllbGQuZGFzaGJvYXJkUm93c30sIG1pbm1heCgzMjBweCwgYXV0bykpYDtcbiAgICB9XG5cbiAgICBnZXRUaWxlR3JpZENvbHVtbih0aWxlOiBUYXNrUmVmRGFzaGJvYXJkVGlsZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aWxlLnggKyAxfSAvIHNwYW4gJHt0aWxlLmNvbHN9YDtcbiAgICB9XG5cbiAgICBnZXRUaWxlR3JpZFJvdyh0aWxlOiBUYXNrUmVmRGFzaGJvYXJkVGlsZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aWxlLnkgKyAxfSAvIHNwYW4gJHt0aWxlLnJvd3N9YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsbC1hdmFpbGFibGUtc3BhY2VcIiBbZ2RDb2x1bW5zXT1cImdldEdyaWRDb2x1bW5zKClcIiBbZ2RSb3dzXT1cImdldEdyaWRSb3dzKClcIj5cbiAgICA8bmMtdGFzay1yZWYtZGFzaGJvYXJkLXRpbGUgKm5nRm9yPVwibGV0IHRpbGUgb2YgZGFzaGJvYXJkVGlsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGlsZV09XCJ0aWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rhc2tSZWZdPVwiZGF0YUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZjXT1cImZvcm1Db250cm9sUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dkQ29sdW1uXT1cImdldFRpbGVHcmlkQ29sdW1uKHRpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dkUm93XT1cImdldFRpbGVHcmlkUm93KHRpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rhc2tDb250ZW50Q29tcG9uZW50Q2xhc3NSZWZlcmVuY2VdPVwidGFza0NvbnRlbnRDb21wb25lbnRDbGFzc1JlZmVyZW5jZVwiPjwvbmMtdGFzay1yZWYtZGFzaGJvYXJkLXRpbGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component, Inject, Optional } from '@angular/core';
2
- import { AbstractHeaderComponent, CaseHeaderService, CategoryFactory, HeaderSearchService, TaskHeaderService, WorkflowHeaderService, MultichoiceField, DATA_FIELD_PORTAL_DATA, EnumerationField } from '@netgrif/components-core';
2
+ import { AbstractHeaderComponent, CaseHeaderService, CategoryFactory, HeaderSearchService, TaskHeaderService, WorkflowHeaderService, DATA_FIELD_PORTAL_DATA } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  import * as i2 from "@netgrif/components-core";
@@ -19,46 +19,13 @@ import * as i15 from "@angular/flex-layout/flex";
19
19
  import * as i16 from "@angular/forms";
20
20
  import * as i17 from "@angular/material/input";
21
21
  export class HeaderComponent extends AbstractHeaderComponent {
22
- constructor(injector, translate, overflowService, _dataFieldPortalData) {
23
- super(injector, translate, overflowService);
22
+ constructor(injector, translate, overflowService, _caseViewService, _dataFieldPortalData) {
23
+ super(injector, translate, overflowService, _caseViewService, _dataFieldPortalData);
24
+ this._caseViewService = _caseViewService;
24
25
  this._dataFieldPortalData = _dataFieldPortalData;
25
- this._changeValue = true;
26
- }
27
- indeterminate() {
28
- return this._dataFieldPortalData?.dataField?.value?.length > 0 &&
29
- this._dataFieldPortalData?.dataField?.value?.length < this._dataFieldPortalData?.dataField?.choices?.length;
30
- }
31
- typeApproval() {
32
- return this._dataFieldPortalData?.dataField instanceof MultichoiceField ? 'multichoice' : 'enumeration';
33
- }
34
- ngOnInit() {
35
- super.ngOnInit();
36
- if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof MultichoiceField) {
37
- this.approvalFormControl.setValue(this._dataFieldPortalData?.dataField.value.length === this._dataFieldPortalData?.dataField.choices.length);
38
- this.approvalFormControl.valueChanges.subscribe(value => {
39
- if (this._changeValue) {
40
- if (value) {
41
- this._dataFieldPortalData.dataField.value = this._dataFieldPortalData?.dataField.choices.map(val => val.key);
42
- }
43
- else {
44
- this._dataFieldPortalData.dataField.value = [];
45
- }
46
- }
47
- this._changeValue = true;
48
- });
49
- this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
50
- this._changeValue = false;
51
- this.approvalFormControl.setValue(this._dataFieldPortalData?.dataField.value.length === this._dataFieldPortalData?.dataField.choices.length);
52
- });
53
- }
54
- if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof EnumerationField) {
55
- this.approvalFormControl.valueChanges.subscribe(value => {
56
- this._dataFieldPortalData.dataField.value = null;
57
- });
58
- }
59
26
  }
60
27
  }
61
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
28
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }, { token: i2.CaseViewService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
62
29
  HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "nc-header", providers: [
63
30
  CaseHeaderService,
64
31
  TaskHeaderService,
@@ -77,10 +44,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
77
44
  ], template: "<mat-card [ngClass]=\"{'padding-custom': headerService.headerState.mode === headerModeEnum.SORT}\" class=\"header-color header-card\">\n <div fxLayout=\"row\">\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container flex-95\" fxLayoutAlign=\"start center\"\n [ngSwitch]=\"headerService.headerState.mode\" *ngIf=\"!headerService.loading.isActive\">\n <div *ngSwitchCase=\"headerModeEnum.SORT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-sort-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-sort-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.SEARCH\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-search-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-search-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.EDIT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-edit-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-edit-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container\" fxLayoutAlign=\"start center\"\n *ngIf=\"headerService.loading.isActive\">\n <div fxFlex=\"100\" fxLayout=\"row\">\n <nc-loading-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-loading-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\" class=\"flex-5\">\n <div *ngIf=\"!hideHeaderMenu\">\n <button mat-icon-button [matMenuTriggerFor]=\"headerMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #headerMenu=\"matMenu\" class=\"mat-menu-border-radius mat-menu-padding\">\n <div *ngIf=\"headerService.headerState.mode !== headerModeEnum.EDIT && showSortButton\">\n <button mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SORT}\"\n (click)=\"headerService.changeMode(headerModeEnum.SORT, false)\">\n <mat-icon>sort</mat-icon>\n {{ 'headers.orderMode' | translate}}\n </button>\n <button *ngIf=\"type === headerTypeEnum.CASE && showSearchButton\" mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SEARCH}\"\n (click)=\"headerService.changeMode(headerModeEnum.SEARCH, false)\">\n <mat-icon>search</mat-icon>\n {{ 'headers.searchMode' | translate}}\n </button>\n <button *ngIf=\"showEditButton\" mat-menu-item\n (click)=\"headerService.changeMode(headerModeEnum.EDIT)\">\n <mat-icon>edit</mat-icon>\n {{ 'headers.editMode' | translate}}\n </button>\n </div>\n <div *ngIf=\"headerService.headerState.mode === headerModeEnum.EDIT\">\n <button mat-menu-item (click)=\"confirmEditMode()\">\n <mat-icon color=\"primary\">done</mat-icon>\n {{ 'dialog.submit' | translate}}\n </button>\n <button mat-menu-item (click)=\"headerService.revertEditMode()\">\n <mat-icon color=\"warn\">close</mat-icon>\n {{ 'tasks.view.cancel' | translate}}\n </button>\n <div class=\"mat-menu-item-look\" *ngIf=\"canOverflow && showTableSection\">\n <mat-slide-toggle\n [formControl]=\"overflowControl\">{{ 'headers.overflowMode' | translate}}</mat-slide-toggle>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnWidth' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnWidthControl\">\n <mat-error *ngIf=\"!columnWidthControl.valid\">{{getErrorMessageWidth()}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnCount' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnCountControl\">\n <mat-error *ngIf=\"!columnCountControl.valid\">{{getErrorMessageCount()}}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-menu>\n </div>\n </div>\n </div>\n</mat-card>\n", styles: [".header-content-container{height:40px}.header-card{border-radius:8px 8px 0 0;padding:10px 16px}.padding-custom{padding:4px 16px}.flex-95{flex:1 1 95%}.flex-5{flex:1 1 5%}.mat-menu-item-look{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;font-size:14px}.mat-menu-item-height{min-height:64px;height:auto}\n"] }]
78
45
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }, { type: i2.OverflowService, decorators: [{
79
46
  type: Optional
47
+ }] }, { type: i2.CaseViewService, decorators: [{
48
+ type: Optional
80
49
  }] }, { type: undefined, decorators: [{
81
50
  type: Optional
82
51
  }, {
83
52
  type: Inject,
84
53
  args: [DATA_FIELD_PORTAL_DATA]
85
54
  }] }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNKLGdCQUFnQixFQUFFLHNCQUFzQixFQUF1QixnQkFBZ0IsRUFDbkcsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVsQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFHeEQsWUFBWSxRQUFrQixFQUNsQixTQUEyQixFQUNmLGVBQWdDLEVBQ1Usb0JBQTJEO1FBQ3pILEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRGtCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBdUM7UUFFekgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQztZQUMxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ3BILENBQUM7SUFFTSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxZQUFZLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1RyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsWUFBWSxnQkFBZ0IsRUFBRTtZQUN2RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3SSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNuQixJQUFJLEtBQUssRUFBRTt3QkFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2hIO3lCQUFNO3dCQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztxQkFDbEQ7aUJBQ0o7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqSixDQUFDLENBQUMsQ0FBQTtTQUNMO1FBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLFlBQVksZ0JBQWdCLEVBQUU7WUFDdkcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQzs7NkdBNUNRLGVBQWUseUhBTVEsc0JBQXNCO2lHQU43QyxlQUFlLG9DQVJiO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGVBQWU7S0FDbEIsaURDdEJMLHcvTUFtR0E7NEZEM0VhLGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0ksV0FBVyxhQUdWO3dCQUNQLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDbEI7OzBCQU9ZLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEhlYWRlckNvbXBvbmVudCxcbiAgICBDYXNlSGVhZGVyU2VydmljZSxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgSGVhZGVyU2VhcmNoU2VydmljZSxcbiAgICBUYXNrSGVhZGVyU2VydmljZSxcbiAgICBXb3JrZmxvd0hlYWRlclNlcnZpY2UsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLCBNdWx0aWNob2ljZUZpZWxkLCBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhLCBFbnVtZXJhdGlvbkZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhc2VIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBUYXNrSGVhZGVyU2VydmljZSxcbiAgICAgICAgV29ya2Zsb3dIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBIZWFkZXJTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBDYXRlZ29yeUZhY3RvcnlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZVZhbHVlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIHByb3RlY3RlZCBfZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxNdWx0aWNob2ljZUZpZWxkPikge1xuICAgICAgICBzdXBlcihpbmplY3RvciwgdHJhbnNsYXRlLCBvdmVyZmxvd1NlcnZpY2UpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VWYWx1ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGluZGV0ZXJtaW5hdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPCB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LmNob2ljZXM/Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHlwZUFwcHJvdmFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkIGluc3RhbmNlb2YgTXVsdGljaG9pY2VGaWVsZCA/ICdtdWx0aWNob2ljZScgOiAnZW51bWVyYXRpb24nO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YSAhPT0gbnVsbCAmJiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBpbnN0YW5jZW9mIE11bHRpY2hvaWNlRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQudmFsdWUubGVuZ3RoID09PSB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQuY2hvaWNlcy5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jaGFuZ2VWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlID0gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLmNob2ljZXMubWFwKHZhbCA9PiB2YWwua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLnZhbHVlLmxlbmd0aCA9PT0gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLmNob2ljZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEgIT09IG51bGwgJiYgdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQgaW5zdGFuY2VvZiBFbnVtZXJhdGlvbkZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBbbmdDbGFzc109XCJ7J3BhZGRpbmctY3VzdG9tJzogaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlID09PSBoZWFkZXJNb2RlRW51bS5TT1JUfVwiIGNsYXNzPVwiaGVhZGVyLWNvbG9yIGhlYWRlci1jYXJkXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lciBmbGV4LTk1XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgW25nU3dpdGNoXT1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZVwiICpuZ0lmPVwiIWhlYWRlclNlcnZpY2UubG9hZGluZy5pc0FjdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU09SVFwiIGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICAgICAgPG5jLXNvcnQtbW9kZSBmeEZsZXg9XCIxMDBcIiBbaGVhZGVyU2VydmljZV09XCJoZWFkZXJTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsRm9ybUNvbnRyb2xdPVwiYXBwcm92YWxGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlQXBwcm92YWxdPVwidHlwZUFwcHJvdmFsKClcIlxuICAgICAgICAgICAgICAgID48L25jLXNvcnQtbW9kZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU0VBUkNIXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoLW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwcm92YWxGb3JtQ29udHJvbF09XCJhcHByb3ZhbEZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVBcHByb3ZhbF09XCJ0eXBlQXBwcm92YWwoKVwiXG4gICAgICAgICAgICAgICAgPjwvbmMtc2VhcmNoLW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cImhlYWRlck1vZGVFbnVtLkVESVRcIiBmeEZsZXg9XCIxMDBcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxuYy1lZGl0LW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmZsb3dXaWR0aF09XCJnZXRNaW5XaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbEZvcm1Db250cm9sXT1cImFwcHJvdmFsRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbF09XCJhcHByb3ZhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZUFwcHJvdmFsXT1cInR5cGVBcHByb3ZhbCgpXCJcbiAgICAgICAgICAgICAgICA+PC9uYy1lZGl0LW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXg9XCI5NVwiIGNsYXNzPVwiaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmxvYWRpbmcuaXNBY3RpdmVcIj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtbG9hZGluZy1tb2RlIGZ4RmxleD1cIjEwMFwiIFtoZWFkZXJTZXJ2aWNlXT1cImhlYWRlclNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJmbG93V2lkdGhdPVwiZ2V0TWluV2lkdGgoKVwiPjwvbmMtbG9hZGluZy1tb2RlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiBmeEZsZXg9XCI1XCIgY2xhc3M9XCJmbGV4LTVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUhlYWRlck1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiaGVhZGVyTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgICNoZWFkZXJNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibWF0LW1lbnUtYm9yZGVyLXJhZGl1cyBtYXQtbWVudS1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgIT09IGhlYWRlck1vZGVFbnVtLkVESVQgJiYgc2hvd1NvcnRCdXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1oZWFkZXItaXRlbSc6IGhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uU09SVH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNPUlQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zb3J0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnaGVhZGVycy5vcmRlck1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09IGhlYWRlclR5cGVFbnVtLkNBU0UgJiYgc2hvd1NlYXJjaEJ1dHRvblwiIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydhY3RpdmUtaGVhZGVyLWl0ZW0nOiBoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgPT09IGhlYWRlck1vZGVFbnVtLlNFQVJDSH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNFQVJDSCwgZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuc2VhcmNoTW9kZScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0VkaXRCdXR0b25cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoZWFkZXJTZXJ2aWNlLmNoYW5nZU1vZGUoaGVhZGVyTW9kZUVudW0uRURJVClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuZWRpdE1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uRURJVFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb25maXJtRWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZGlhbG9nLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImhlYWRlclNlcnZpY2UucmV2ZXJ0RWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3Rhc2tzLnZpZXcuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbWVudS1pdGVtLWxvb2tcIiAqbmdJZj1cImNhbk92ZXJmbG93ICYmIHNob3dUYWJsZVNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwib3ZlcmZsb3dDb250cm9sXCI+e3sgJ2hlYWRlcnMub3ZlcmZsb3dNb2RlJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1lbnUtaXRlbS1sb29rIG1hdC1tZW51LWl0ZW0taGVpZ2h0XCIgKGNsaWNrKT1cImNsaWNrU3RvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5PdmVyZmxvdyAmJiBzaG93VGFibGVTZWN0aW9uICYmIG92ZXJmbG93Q29udHJvbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdoZWFkZXJzLmNvbHVtbldpZHRoJyB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImNvbHVtbldpZHRoQ29udHJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWNvbHVtbldpZHRoQ29udHJvbC52YWxpZFwiPnt7Z2V0RXJyb3JNZXNzYWdlV2lkdGgoKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZW51LWl0ZW0tbG9vayBtYXQtbWVudS1pdGVtLWhlaWdodFwiIChjbGljayk9XCJjbGlja1N0b3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuT3ZlcmZsb3cgJiYgc2hvd1RhYmxlU2VjdGlvbiAmJiBvdmVyZmxvd0NvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnaGVhZGVycy5jb2x1bW5Db3VudCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJjb2x1bW5Db3VudENvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFjb2x1bW5Db3VudENvbnRyb2wudmFsaWRcIj57e2dldEVycm9yTWVzc2FnZUNvdW50KCl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNjLHNCQUFzQixFQUM1RCxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZWxDLE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUF1QjtJQUV4RCxZQUFZLFFBQWtCLEVBQ2xCLFNBQTJCLEVBQ2YsZUFBZ0MsRUFDdEIsZ0JBQWlDLEVBQ0Qsb0JBQTJEO1FBQ3pILEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRnRELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXVDO0lBRTdILENBQUM7OzZHQVJRLGVBQWUsd0tBTVEsc0JBQXNCO2lHQU43QyxlQUFlLG9DQVJiO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGVBQWU7S0FDbEIsaURDdEJMLHcvTUFtR0E7NEZEM0VhLGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0ksV0FBVyxhQUdWO3dCQUNQLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDbEI7OzBCQU1ZLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEhlYWRlckNvbXBvbmVudCxcbiAgICBDYXNlSGVhZGVyU2VydmljZSxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgSGVhZGVyU2VhcmNoU2VydmljZSxcbiAgICBUYXNrSGVhZGVyU2VydmljZSxcbiAgICBXb3JrZmxvd0hlYWRlclNlcnZpY2UsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLCBNdWx0aWNob2ljZUZpZWxkLCBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhLCBFbnVtZXJhdGlvbkZpZWxkLCBDYXNlVmlld1NlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2FzZUhlYWRlclNlcnZpY2UsXG4gICAgICAgIFRhc2tIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBXb3JrZmxvd0hlYWRlclNlcnZpY2UsXG4gICAgICAgIEhlYWRlclNlYXJjaFNlcnZpY2UsXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RIZWFkZXJDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2Nhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9GSUVMRF9QT1JUQUxfREFUQSkgcHJvdGVjdGVkIF9kYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPE11bHRpY2hvaWNlRmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yLCB0cmFuc2xhdGUsIG92ZXJmbG93U2VydmljZSwgX2Nhc2VWaWV3U2VydmljZSwgX2RhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBbbmdDbGFzc109XCJ7J3BhZGRpbmctY3VzdG9tJzogaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlID09PSBoZWFkZXJNb2RlRW51bS5TT1JUfVwiIGNsYXNzPVwiaGVhZGVyLWNvbG9yIGhlYWRlci1jYXJkXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lciBmbGV4LTk1XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgW25nU3dpdGNoXT1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZVwiICpuZ0lmPVwiIWhlYWRlclNlcnZpY2UubG9hZGluZy5pc0FjdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU09SVFwiIGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICAgICAgPG5jLXNvcnQtbW9kZSBmeEZsZXg9XCIxMDBcIiBbaGVhZGVyU2VydmljZV09XCJoZWFkZXJTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsRm9ybUNvbnRyb2xdPVwiYXBwcm92YWxGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlQXBwcm92YWxdPVwidHlwZUFwcHJvdmFsKClcIlxuICAgICAgICAgICAgICAgID48L25jLXNvcnQtbW9kZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU0VBUkNIXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoLW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwcm92YWxGb3JtQ29udHJvbF09XCJhcHByb3ZhbEZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVBcHByb3ZhbF09XCJ0eXBlQXBwcm92YWwoKVwiXG4gICAgICAgICAgICAgICAgPjwvbmMtc2VhcmNoLW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cImhlYWRlck1vZGVFbnVtLkVESVRcIiBmeEZsZXg9XCIxMDBcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxuYy1lZGl0LW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmZsb3dXaWR0aF09XCJnZXRNaW5XaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbEZvcm1Db250cm9sXT1cImFwcHJvdmFsRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbF09XCJhcHByb3ZhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZUFwcHJvdmFsXT1cInR5cGVBcHByb3ZhbCgpXCJcbiAgICAgICAgICAgICAgICA+PC9uYy1lZGl0LW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXg9XCI5NVwiIGNsYXNzPVwiaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmxvYWRpbmcuaXNBY3RpdmVcIj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtbG9hZGluZy1tb2RlIGZ4RmxleD1cIjEwMFwiIFtoZWFkZXJTZXJ2aWNlXT1cImhlYWRlclNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJmbG93V2lkdGhdPVwiZ2V0TWluV2lkdGgoKVwiPjwvbmMtbG9hZGluZy1tb2RlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiBmeEZsZXg9XCI1XCIgY2xhc3M9XCJmbGV4LTVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUhlYWRlck1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiaGVhZGVyTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgICNoZWFkZXJNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibWF0LW1lbnUtYm9yZGVyLXJhZGl1cyBtYXQtbWVudS1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgIT09IGhlYWRlck1vZGVFbnVtLkVESVQgJiYgc2hvd1NvcnRCdXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1oZWFkZXItaXRlbSc6IGhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uU09SVH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNPUlQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zb3J0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnaGVhZGVycy5vcmRlck1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09IGhlYWRlclR5cGVFbnVtLkNBU0UgJiYgc2hvd1NlYXJjaEJ1dHRvblwiIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydhY3RpdmUtaGVhZGVyLWl0ZW0nOiBoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgPT09IGhlYWRlck1vZGVFbnVtLlNFQVJDSH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNFQVJDSCwgZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuc2VhcmNoTW9kZScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0VkaXRCdXR0b25cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoZWFkZXJTZXJ2aWNlLmNoYW5nZU1vZGUoaGVhZGVyTW9kZUVudW0uRURJVClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuZWRpdE1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uRURJVFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb25maXJtRWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZGlhbG9nLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImhlYWRlclNlcnZpY2UucmV2ZXJ0RWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3Rhc2tzLnZpZXcuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbWVudS1pdGVtLWxvb2tcIiAqbmdJZj1cImNhbk92ZXJmbG93ICYmIHNob3dUYWJsZVNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwib3ZlcmZsb3dDb250cm9sXCI+e3sgJ2hlYWRlcnMub3ZlcmZsb3dNb2RlJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1lbnUtaXRlbS1sb29rIG1hdC1tZW51LWl0ZW0taGVpZ2h0XCIgKGNsaWNrKT1cImNsaWNrU3RvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5PdmVyZmxvdyAmJiBzaG93VGFibGVTZWN0aW9uICYmIG92ZXJmbG93Q29udHJvbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdoZWFkZXJzLmNvbHVtbldpZHRoJyB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImNvbHVtbldpZHRoQ29udHJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWNvbHVtbldpZHRoQ29udHJvbC52YWxpZFwiPnt7Z2V0RXJyb3JNZXNzYWdlV2lkdGgoKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZW51LWl0ZW0tbG9vayBtYXQtbWVudS1pdGVtLWhlaWdodFwiIChjbGljayk9XCJjbGlja1N0b3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuT3ZlcmZsb3cgJiYgc2hvd1RhYmxlU2VjdGlvbiAmJiBvdmVyZmxvd0NvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnaGVhZGVycy5jb2x1bW5Db3VudCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJjb2x1bW5Db3VudENvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFjb2x1bW5Db3VudENvbnRyb2wudmFsaWRcIj57e2dldEVycm9yTWVzc2FnZUNvdW50KCl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Component, Inject, Optional, ViewChild } from '@angular/core';
2
- import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, CategoryFactory, defaultCaseSearchCategoriesFactory, FilterType, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_SEARCH, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, NAE_VIEW_ID_SEGMENT, OverflowService, SearchMode, SearchService, SimpleFilter, ViewIdService, DATA_FIELD_PORTAL_DATA, MultichoiceField, EnumerationField } from '@netgrif/components-core';
2
+ import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, CategoryFactory, DATA_FIELD_PORTAL_DATA, defaultCaseSearchCategoriesFactory, EnumerationField, Filter, FilterType, MergeOperator, MultichoiceField, NAE_BASE_FILTER, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_SEARCH, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, NAE_VIEW_ID_SEGMENT, OverflowService, SearchMode, SearchService, SimpleFilter, ViewIdService } from '@netgrif/components-core';
3
3
  import { DefaultTabbedTaskViewComponent } from '../default-tabbed-task-view/default-tabbed-task-view.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@netgrif/components-core";
@@ -14,17 +14,30 @@ const localAllowedNetsFactory = (factory) => {
14
14
  return factory.createWithAllNets();
15
15
  };
16
16
  export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
17
- constructor(caseViewService, overflowService, _injectedTabData, _dataFieldPortalData, _caseRefCreateCase = false, _caseRefSearch = false) {
17
+ constructor(caseViewService, searchService, overflowService, _baseFilter, _injectedTabData, _dataFieldPortalData, _caseRefCreateCase = false, _caseRefSearch = false) {
18
18
  super(caseViewService, overflowService, undefined, {
19
19
  enableCaseTitle: true,
20
20
  isCaseTitleRequired: true
21
21
  });
22
+ this.searchService = searchService;
23
+ this._baseFilter = _baseFilter;
22
24
  this._injectedTabData = _injectedTabData;
23
25
  this._dataFieldPortalData = _dataFieldPortalData;
24
26
  this._caseRefCreateCase = _caseRefCreateCase;
25
27
  this._caseRefSearch = _caseRefSearch;
26
28
  this.search = !!_caseRefSearch;
27
29
  this.createCase = !!_caseRefCreateCase;
30
+ if (!this._baseFilter || !this._baseFilter.filter) {
31
+ return;
32
+ }
33
+ if (this._baseFilter.filter instanceof Filter) {
34
+ this.initFilter = this._baseFilter.filter;
35
+ }
36
+ else {
37
+ this._baseFilter.filter.subscribe(observableFilter => {
38
+ this.initFilter = observableFilter;
39
+ });
40
+ }
28
41
  }
29
42
  ngAfterViewInit() {
30
43
  this.initializeHeader(this.caseHeaderComponent);
@@ -69,8 +82,11 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
69
82
  createdCase(caze) {
70
83
  this.handleCaseClick(caze);
71
84
  }
85
+ loadFilter(filterData) {
86
+ this.searchService.updateWithFullFilter(this.initFilter.merge(filterData.filter, MergeOperator.AND));
87
+ }
72
88
  }
73
- DefaultCaseRefListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.OverflowService, optional: true }, { token: NAE_TAB_DATA, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CASE_REF_CREATE_CASE, optional: true }, { token: NAE_CASE_REF_SEARCH, optional: true }], target: i0.ɵɵFactoryTarget.Component });
89
+ DefaultCaseRefListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.SearchService }, { token: i1.OverflowService, optional: true }, { token: NAE_BASE_FILTER, optional: true }, { token: NAE_TAB_DATA, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CASE_REF_CREATE_CASE, optional: true }, { token: NAE_CASE_REF_SEARCH, optional: true }], target: i0.ɵɵFactoryTarget.Component });
74
90
  DefaultCaseRefListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DefaultCaseRefListViewComponent, selector: "nc-default-case-view", providers: [
75
91
  CategoryFactory,
76
92
  CaseViewService,
@@ -84,7 +100,7 @@ DefaultCaseRefListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
84
100
  { provide: NAE_VIEW_ID_SEGMENT, useValue: 'case' },
85
101
  ViewIdService,
86
102
  { provide: NAE_SEARCH_CATEGORIES, useFactory: defaultCaseSearchCategoriesFactory, deps: [CategoryFactory] },
87
- ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"], components: [{ type: i2.SearchComponent, selector: "nc-search" }, { type: i3.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig", "disabled"], outputs: ["caseCreatedEvent"] }, { type: i4.HeaderComponent, selector: "nc-header" }, { type: i5.CaseListPaginatorComponent, selector: "nc-case-list-paginator" }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }] });
103
+ ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"], components: [{ type: i2.SearchComponent, selector: "nc-search" }, { type: i3.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig", "disabled"], outputs: ["caseCreatedEvent"] }, { type: i4.HeaderComponent, selector: "nc-header" }, { type: i5.CaseListPaginatorComponent, selector: "nc-case-list-paginator" }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }] });
88
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, decorators: [{
89
105
  type: Component,
90
106
  args: [{ selector: 'nc-default-case-view', providers: [
@@ -100,11 +116,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
100
116
  { provide: NAE_VIEW_ID_SEGMENT, useValue: 'case' },
101
117
  ViewIdService,
102
118
  { provide: NAE_SEARCH_CATEGORIES, useFactory: defaultCaseSearchCategoriesFactory, deps: [CategoryFactory] },
103
- ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"] }]
104
- }], ctorParameters: function () { return [{ type: i1.CaseViewService }, { type: i1.OverflowService, decorators: [{
119
+ ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"] }]
120
+ }], ctorParameters: function () { return [{ type: i1.CaseViewService }, { type: i1.SearchService }, { type: i1.OverflowService, decorators: [{
105
121
  type: Optional
106
122
  }] }, { type: undefined, decorators: [{
107
123
  type: Optional
124
+ }, {
125
+ type: Inject,
126
+ args: [NAE_BASE_FILTER]
127
+ }] }, { type: undefined, decorators: [{
128
+ type: Optional
108
129
  }, {
109
130
  type: Inject,
110
131
  args: [NAE_TAB_DATA]
@@ -127,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
127
148
  type: ViewChild,
128
149
  args: ['header']
129
150
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIseUJBQXlCLEVBRXpCLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0NBQWtDLEVBQ2xDLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBRW5CLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFFWixhQUFhLEVBQUUsc0JBQXNCLEVBQXVCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNqRyxNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7O0FBSzlH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LE1BQU07MkJBQUMsd0JBQXdCOzswQkFDM0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7NENBWHZCLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgIEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgQ2FzZSxcbiAgICBDYXNlVmlld1NlcnZpY2UsXG4gICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgIGRlZmF1bHRDYXNlU2VhcmNoQ2F0ZWdvcmllc0ZhY3RvcnksXG4gICAgRmlsdGVyVHlwZSxcbiAgICBOQUVfQ0FTRV9SRUZfQ1JFQVRFX0NBU0UsXG4gICAgTkFFX0NBU0VfUkVGX1NFQVJDSCxcbiAgICBDYXNlUmVmRmllbGQsXG4gICAgTkFFX1NFQVJDSF9DQVRFR09SSUVTLFxuICAgIE5BRV9UQUJfREFUQSxcbiAgICBOQUVfVklFV19JRF9TRUdNRU5ULFxuICAgIE92ZXJmbG93U2VydmljZSxcbiAgICBTZWFyY2hNb2RlLFxuICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgU2ltcGxlRmlsdGVyLFxuICAgIFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkcyxcbiAgICBWaWV3SWRTZXJ2aWNlLCBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhLCBNdWx0aWNob2ljZUZpZWxkLCBFbnVtZXJhdGlvbkZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnXG5pbXBvcnQge0RlZmF1bHRUYWJiZWRUYXNrVmlld0NvbXBvbmVudH0gZnJvbSAnLi4vZGVmYXVsdC10YWJiZWQtdGFzay12aWV3L2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YVdpdGhOYXZpZ2F0aW9uSXRlbVRhc2tEYXRhXG59IGZyb20gXCIuLi9tb2RlbC9pbmplY3RlZC10YWJiZWQtdGFzay12aWV3LWRhdGEtd2l0aC1uYXZpZ2F0aW9uLWl0ZW0tdGFzay1kYXRhXCI7XG5cbmNvbnN0IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5ID0gKGZhY3Rvcnk6IEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnkpID0+IHtcbiAgICByZXR1cm4gZmFjdG9yeS5jcmVhdGVXaXRoQWxsTmV0cygpO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1kZWZhdWx0LWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XVxuICAgICAgICB9LFxuICAgICAgICB7cHJvdmlkZTogTkFFX1ZJRVdfSURfU0VHTUVOVCwgdXNlVmFsdWU6ICdjYXNlJ30sXG4gICAgICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgICAgIHtwcm92aWRlOiBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsIHVzZUZhY3Rvcnk6IGRlZmF1bHRDYXNlU2VhcmNoQ2F0ZWdvcmllc0ZhY3RvcnksIGRlcHM6IFtDYXRlZ29yeUZhY3RvcnldfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2FzZVJlZkxpc3RWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIGNhc2VIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIHB1YmxpYyBhZGRpdGlvbmFsRmlsdGVyRGF0YTogVGFza1NldERhdGFSZXF1ZXN0RmllbGRzO1xuICAgIHB1YmxpYyBzZWFyY2g6IGJvb2xlYW47XG4gICAgcHVibGljIGNyZWF0ZUNhc2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihjYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgcHJvdGVjdGVkIF9pbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBwcm90ZWN0ZWQgX2RhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TXVsdGljaG9pY2VGaWVsZCB8IENhc2VSZWZGaWVsZCB8IEVudW1lcmF0aW9uRmllbGQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0NBU0VfUkVGX0NSRUFURV9DQVNFKSBwcm90ZWN0ZWQgX2Nhc2VSZWZDcmVhdGVDYXNlOiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfQ0FTRV9SRUZfU0VBUkNIKSBwcm90ZWN0ZWQgX2Nhc2VSZWZTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBzdXBlcihjYXNlVmlld1NlcnZpY2UsIG92ZXJmbG93U2VydmljZSwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICBlbmFibGVDYXNlVGl0bGU6IHRydWUsXG4gICAgICAgICAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICEhX2Nhc2VSZWZTZWFyY2g7XG4gICAgICAgIHRoaXMuY3JlYXRlQ2FzZSA9ICEhX2Nhc2VSZWZDcmVhdGVDYXNlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMuY2FzZUhlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQXBwcm92YWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQgaW5zdGFuY2VvZiBNdWx0aWNob2ljZUZpZWxkIHx8IHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZCBpbnN0YW5jZW9mIEVudW1lcmF0aW9uRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhc2VDbGljayhjbGlja2VkQ2FzZTogQ2FzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5qZWN0ZWRUYWJEYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5UYWIoY2xpY2tlZENhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkPy5mb3JtQ29udHJvbFJlZi5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlblRhYihvcGVuQ2FzZTogQ2FzZSkge1xuICAgICAgICB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVmlld1JlZi5vcGVuVGFiKHtcbiAgICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogb3BlbkNhc2UudGl0bGUsXG4gICAgICAgICAgICAgICAgaWNvbjogb3BlbkNhc2UuaWNvbiA/IG9wZW5DYXNlLmljb24gOiAnY2hlY2tfYm94J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiB0cnVlLFxuICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBiYXNlRmlsdGVyOiBuZXcgU2ltcGxlRmlsdGVyKCcnLCBGaWx0ZXJUeXBlLlRBU0ssIHtjYXNlOiB7aWQ6IGAke29wZW5DYXNlLnN0cmluZ0lkfWB9fSksXG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IFtvcGVuQ2FzZS5wcm9jZXNzSWRlbnRpZmllcl0sXG4gICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLm5hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgc2VhcmNoVHlwZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNlYXJjaE1vZGU6IFNlYXJjaE1vZGUuRlVMTFRFWFQsXG4gICAgICAgICAgICAgICAgICAgIHNob3dTZWFyY2hUb2dnbGVCdXR0b246IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNob3dNb3JlTWVudTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzQ2hhbmdlYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzTW9kZTogWydzb3J0JywgJ2VkaXQnXSxcbiAgICAgICAgICAgICAgICBhbGxvd1RhYmxlTW9kZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0SGVhZGVyc01vZGU6ICdzb3J0J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyOiB0aGlzLl9pbmplY3RlZFRhYkRhdGFbJ3RhYlZpZXdPcmRlciddLFxuICAgICAgICAgICAgcGFyZW50VW5pcXVlSWQ6IHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJVbmlxdWVJZFxuICAgICAgICB9LCB0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjcmVhdGVkQ2FzZShjYXplOiBDYXNlKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2FzZUNsaWNrKGNhemUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXNlLXZpZXctY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImNhc2Utdmlldy1zZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlblwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGbGV4ICpuZ0lmPVwic2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgPG5jLXNlYXJjaCBjbGFzcz1cInNlYXJjaC13aWR0aFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgW2FkZGl0aW9uYWxGaWx0ZXJEYXRhXT1cImFkZGl0aW9uYWxGaWx0ZXJEYXRhXCI+PC9uYy1zZWFyY2g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiAqbmdJZj1cImNyZWF0ZUNhc2VcIj5cbiAgICAgICAgICAgICAgICA8bmMtY3JlYXRlLWNhc2UtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgW25ld0Nhc2VDcmVhdGlvbkNvbmZpZ109XCJuZXdDYXNlQ3JlYXRpb25Db25maWdcIiAoY2FzZUNyZWF0ZWRFdmVudCk9XCJjcmVhdGVkQ2FzZSgkZXZlbnQpXCI+PC9uYy1jcmVhdGUtY2FzZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnVsbC1oZWlnaHQgdHJhbnNmb3JtLWRpdiBjdXN0b20tc2Nyb2xsYmFyXCIgW25nQ2xhc3NdPVwieydvdmVyZmxvdy1kaXYnOiBnZXRPdmVyZmxvd1N0YXR1cygpfVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgbWF4LXdpZHRoLWZpeFwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cbiAgICAgICAgICAgIDxuYy1oZWFkZXIgI2hlYWRlciBbdHlwZV09XCJoZWFkZXJUeXBlXCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cInRydWVcIiBjbGFzcz1cImNhc2UtaGVhZGVyLXBhZGRpbmdcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogZ2V0V2lkdGgoKX1cIiBbYXBwcm92YWxdPVwiaXNBcHByb3ZhbCgpXCI+PC9uYy1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxuYy1jYXNlLWxpc3QtcGFnaW5hdG9yIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiBbc2hvd0RlbGV0ZU1lbnVdPVwiZmFsc2VcIiBbd2lkdGhdPVwiZ2V0V2lkdGgoKVwiIFthcHByb3ZhbF09XCJpc0FwcHJvdmFsKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FzZUNsaWNrKT1cImhhbmRsZUNhc2VDbGljaygkZXZlbnQpXCIgW3Jlc3BvbnNpdmVCb2R5XT1cInRydWVcIiBmeEZsZXggW3RleHRFbGxpcHNpc109XCJ0cnVlXCI+PC9uYy1jYXNlLWxpc3QtcGFnaW5hdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcvZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIseUJBQXlCLEVBSXpCLGVBQWUsRUFDZixlQUFlLEVBQ2Ysc0JBQXNCLEVBRXRCLGtDQUFrQyxFQUNsQyxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLFVBQVUsRUFDVixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGVBQWUsRUFFZixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFFWixhQUFhLEVBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLDhCQUE4QixFQUFD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TyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUM7UUFDaEQsYUFBYTtRQUNiLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBQztLQUM1RyxnS0MzREwsa21EQXVCQTs0RkRzQ2EsK0JBQStCO2tCQW5CM0MsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckI7d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsdUJBQXVCOzRCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzt5QkFDcEM7d0JBQ0QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQzt3QkFDaEQsYUFBYTt3QkFDYixFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsa0NBQWtDLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUM7cUJBQzVHOzswQkFjWSxRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQ3pDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCOzswQkFDM0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7NENBZnZCLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgIEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgQmFzZUZpbHRlcixcbiAgICBDYXNlLFxuICAgIENhc2VSZWZGaWVsZCxcbiAgICBDYXNlVmlld1NlcnZpY2UsXG4gICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgIERBVEFfRklFTERfUE9SVEFMX0RBVEEsXG4gICAgRGF0YUZpZWxkUG9ydGFsRGF0YSxcbiAgICBkZWZhdWx0Q2FzZVNlYXJjaENhdGVnb3JpZXNGYWN0b3J5LFxuICAgIEVudW1lcmF0aW9uRmllbGQsXG4gICAgRmlsdGVyLFxuICAgIEZpbHRlclR5cGUsXG4gICAgTWVyZ2VPcGVyYXRvcixcbiAgICBNdWx0aWNob2ljZUZpZWxkLFxuICAgIE5BRV9CQVNFX0ZJTFRFUixcbiAgICBOQUVfQ0FTRV9SRUZfQ1JFQVRFX0NBU0UsXG4gICAgTkFFX0NBU0VfUkVGX1NFQVJDSCxcbiAgICBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgTkFFX1RBQl9EQVRBLFxuICAgIE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgIFNhdmVkRmlsdGVyTWV0YWRhdGEsXG4gICAgU2VhcmNoTW9kZSxcbiAgICBTZWFyY2hTZXJ2aWNlLFxuICAgIFNpbXBsZUZpbHRlcixcbiAgICBUYXNrU2V0RGF0YVJlcXVlc3RGaWVsZHMsXG4gICAgVmlld0lkU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50J1xuaW1wb3J0IHtEZWZhdWx0VGFiYmVkVGFza1ZpZXdDb21wb25lbnR9IGZyb20gJy4uL2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YVxufSBmcm9tIFwiLi4vbW9kZWwvaW5qZWN0ZWQtdGFiYmVkLXRhc2stdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YVwiO1xuXG5jb25zdCBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSA9IChmYWN0b3J5OiBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5KSA9PiB7XG4gICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlV2l0aEFsbE5ldHMoKTtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZGVmYXVsdC1jYXNlLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgICAgICBDYXNlVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIE92ZXJmbG93U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeV1cbiAgICAgICAgfSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsIHVzZVZhbHVlOiAnY2FzZSd9LFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7cHJvdmlkZTogTkFFX1NFQVJDSF9DQVRFR09SSUVTLCB1c2VGYWN0b3J5OiBkZWZhdWx0Q2FzZVNlYXJjaENhdGVnb3JpZXNGYWN0b3J5LCBkZXBzOiBbQ2F0ZWdvcnlGYWN0b3J5XX0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdENhc2VSZWZMaXN0Vmlld0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIHB1YmxpYyBjYXNlSGVhZGVyQ29tcG9uZW50OiBIZWFkZXJDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgYWRkaXRpb25hbEZpbHRlckRhdGE6IFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkcztcbiAgICBwdWJsaWMgc2VhcmNoOiBib29sZWFuO1xuICAgIHB1YmxpYyBjcmVhdGVDYXNlOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBpbml0RmlsdGVyOiBGaWx0ZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihjYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9CQVNFX0ZJTFRFUikgcHJvdGVjdGVkIF9iYXNlRmlsdGVyOiBCYXNlRmlsdGVyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1RBQl9EQVRBKSBwcm90ZWN0ZWQgX2luamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIHByb3RlY3RlZCBfZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxNdWx0aWNob2ljZUZpZWxkIHwgQ2FzZVJlZkZpZWxkIHwgRW51bWVyYXRpb25GaWVsZD4sXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfQ0FTRV9SRUZfQ1JFQVRFX0NBU0UpIHByb3RlY3RlZCBfY2FzZVJlZkNyZWF0ZUNhc2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9DQVNFX1JFRl9TRUFSQ0gpIHByb3RlY3RlZCBfY2FzZVJlZlNlYXJjaDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKGNhc2VWaWV3U2VydmljZSwgb3ZlcmZsb3dTZXJ2aWNlLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGVuYWJsZUNhc2VUaXRsZTogdHJ1ZSxcbiAgICAgICAgICAgIGlzQ2FzZVRpdGxlUmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gISFfY2FzZVJlZlNlYXJjaDtcbiAgICAgICAgdGhpcy5jcmVhdGVDYXNlID0gISFfY2FzZVJlZkNyZWF0ZUNhc2U7XG4gICAgICAgIGlmICghdGhpcy5fYmFzZUZpbHRlciB8fCAhdGhpcy5fYmFzZUZpbHRlci5maWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYmFzZUZpbHRlci5maWx0ZXIgaW5zdGFuY2VvZiBGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEZpbHRlciA9IHRoaXMuX2Jhc2VGaWx0ZXIuZmlsdGVyXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9iYXNlRmlsdGVyLmZpbHRlci5zdWJzY3JpYmUob2JzZXJ2YWJsZUZpbHRlciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0RmlsdGVyID0gb2JzZXJ2YWJsZUZpbHRlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVIZWFkZXIodGhpcy5jYXNlSGVhZGVyQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNBcHByb3ZhbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZCBpbnN0YW5jZW9mIE11bHRpY2hvaWNlRmllbGQgfHwgdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkIGluc3RhbmNlb2YgRW51bWVyYXRpb25GaWVsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ2FzZUNsaWNrKGNsaWNrZWRDYXNlOiBDYXNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pbmplY3RlZFRhYkRhdGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblRhYihjbGlja2VkQ2FzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LmZvcm1Db250cm9sUmVmLmRpc2FibGVkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvcGVuVGFiKG9wZW5DYXNlOiBDYXNlKSB7XG4gICAgICAgIHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJWaWV3UmVmLm9wZW5UYWIoe1xuICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBvcGVuQ2FzZS50aXRsZSxcbiAgICAgICAgICAgICAgICBpY29uOiBvcGVuQ2FzZS5pY29uID8gb3BlbkNhc2UuaWNvbiA6ICdjaGVja19ib3gnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2FuQmVDbG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB0YWJDb250ZW50Q29tcG9uZW50OiBEZWZhdWx0VGFiYmVkVGFza1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBpbmplY3RlZE9iamVjdDoge1xuICAgICAgICAgICAgICAgIGJhc2VGaWx0ZXI6IG5ldyBTaW1wbGVGaWx0ZXIoJycsIEZpbHRlclR5cGUuVEFTSywge2Nhc2U6IHtpZDogYCR7b3BlbkNhc2Uuc3RyaW5nSWR9YH19KSxcbiAgICAgICAgICAgICAgICBhbGxvd2VkTmV0czogW29wZW5DYXNlLnByb2Nlc3NJZGVudGlmaWVyXSxcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEubmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcbiAgICAgICAgICAgICAgICBzZWFyY2hUeXBlQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBpbml0aWFsU2VhcmNoTW9kZTogU2VhcmNoTW9kZS5GVUxMVEVYVCxcbiAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2hvd01vcmVNZW51OiB0cnVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcnNDaGFuZ2VhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcnNNb2RlOiBbJ3NvcnQnLCAnZWRpdCddLFxuICAgICAgICAgICAgICAgIGFsbG93VGFibGVNb2RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRIZWFkZXJzTW9kZTogJ3NvcnQnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JkZXI6IHRoaXMuX2luamVjdGVkVGFiRGF0YVsndGFiVmlld09yZGVyJ10sXG4gICAgICAgICAgICBwYXJlbnRVbmlxdWVJZDogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlVuaXF1ZUlkXG4gICAgICAgIH0sIHRydWUsIHRydWUpO1xuICAgIH1cblxuICAgIGNyZWF0ZWRDYXNlKGNhemU6IENhc2UpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVDYXNlQ2xpY2soY2F6ZSk7XG4gICAgfVxuXG4gICAgbG9hZEZpbHRlcihmaWx0ZXJEYXRhOiBTYXZlZEZpbHRlck1ldGFkYXRhKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS51cGRhdGVXaXRoRnVsbEZpbHRlcih0aGlzLmluaXRGaWx0ZXIubWVyZ2UoZmlsdGVyRGF0YS5maWx0ZXIsIE1lcmdlT3BlcmF0b3IuQU5EKSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhc2Utdmlldy1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FzZS12aWV3LXNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXggKm5nSWY9XCJzZWFyY2hcIj5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoIGNsYXNzPVwic2VhcmNoLXdpZHRoXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIiBbYWRkaXRpb25hbEZpbHRlckRhdGFdPVwiYWRkaXRpb25hbEZpbHRlckRhdGFcIiAoZmlsdGVyTG9hZGVkKT1cImxvYWRGaWx0ZXIoJGV2ZW50KVwiPjwvbmMtc2VhcmNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgKm5nSWY9XCJjcmVhdGVDYXNlXCI+XG4gICAgICAgICAgICAgICAgPG5jLWNyZWF0ZS1jYXNlLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIFtuZXdDYXNlQ3JlYXRpb25Db25maWddPVwibmV3Q2FzZUNyZWF0aW9uQ29uZmlnXCIgKGNhc2VDcmVhdGVkRXZlbnQpPVwiY3JlYXRlZENhc2UoJGV2ZW50KVwiPjwvbmMtY3JlYXRlLWNhc2UtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgY3VzdG9tLXNjcm9sbGJhclwiIFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctZGl2JzogZ2V0T3ZlcmZsb3dTdGF0dXMoKX1cIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxsLWhlaWdodCB0cmFuc2Zvcm0tZGl2IG1heC13aWR0aC1maXhcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgICAgICA8bmMtaGVhZGVyICNoZWFkZXIgW3R5cGVdPVwiaGVhZGVyVHlwZVwiIFtyZXNwb25zaXZlSGVhZGVyc109XCJ0cnVlXCIgY2xhc3M9XCJjYXNlLWhlYWRlci1wYWRkaW5nXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IGdldFdpZHRoKCl9XCIgW2FwcHJvdmFsXT1cImlzQXBwcm92YWwoKVwiPjwvbmMtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bmMtY2FzZS1saXN0LXBhZ2luYXRvciBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgW3Nob3dEZWxldGVNZW51XT1cImZhbHNlXCIgW3dpZHRoXT1cImdldFdpZHRoKClcIiBbYXBwcm92YWxdPVwiaXNBcHByb3ZhbCgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhc2VDbGljayk9XCJoYW5kbGVDYXNlQ2xpY2soJGV2ZW50KVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCIgZnhGbGV4IFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiPjwvbmMtY2FzZS1saXN0LXBhZ2luYXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuIl19