nuxeo-development-framework 4.1.2 → 4.1.4

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.
Files changed (27) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1213 -1049
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +28 -29
  4. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +13 -10
  5. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +58 -42
  6. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +65 -36
  7. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +39 -13
  8. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +45 -43
  9. package/esm2015/lib/components/file-manger/components/move/move.component.js +60 -31
  10. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +99 -66
  11. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +107 -90
  12. package/esm2015/lib/components/permissions/permissions.module.js +23 -7
  13. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +21 -21
  14. package/fesm2015/nuxeo-development-framework.js +619 -463
  15. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  16. package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +4 -4
  17. package/lib/components/dynamic-form/dynamic-form.module.d.ts +2 -1
  18. package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +11 -5
  19. package/lib/components/file-manger/components/copy/copy.component.d.ts +11 -4
  20. package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +9 -4
  21. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +9 -11
  22. package/lib/components/file-manger/components/move/move.component.d.ts +11 -4
  23. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +9 -8
  24. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +8 -6
  25. package/lib/components/permissions/permissions.module.d.ts +2 -1
  26. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +5 -5
  27. package/package.json +1 -1
@@ -1,36 +1,56 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { DxFormComponent } from 'devextreme-angular';
3
+ import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
4
+ import { BaseComponent } from '../../../../shared/components/base/base.component';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "../../../../shared-services/file-manager.service";
5
7
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
6
- import * as i3 from "devextreme-angular";
7
- import * as i4 from "devextreme-angular/ui/nested";
8
- import * as i5 from "devextreme-angular/core";
8
+ import * as i3 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
9
+ import * as i4 from "devextreme-angular";
10
+ import * as i5 from "devextreme-angular/ui/nested";
9
11
  import * as i6 from "@angular/forms";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@ngx-translate/core";
12
- export class CreateDirectoryComponent {
13
- constructor(fileManagerService, customToastrService) {
12
+ import * as i7 from "@ngx-translate/core";
13
+ export class CreateDirectoryComponent extends BaseComponent {
14
+ constructor(fileManagerService, customToastrService, nuxeoDialogService, injector) {
15
+ super(injector);
14
16
  this.fileManagerService = fileManagerService;
15
17
  this.customToastrService = customToastrService;
18
+ this.nuxeoDialogService = nuxeoDialogService;
16
19
  this.visibleChange = new EventEmitter();
17
20
  this.refresh = new EventEmitter();
18
21
  this.rtlEnabled = false;
19
22
  this.formData = {};
20
23
  this._visible = false;
21
- this.loading = false;
22
24
  }
23
25
  set visible(value) {
24
26
  if (this._visible === value) {
25
27
  return;
26
28
  }
29
+ if (value) {
30
+ this.openDialog();
31
+ }
27
32
  this._visible = value;
28
33
  this.visibleChange.emit(this._visible);
29
34
  }
30
35
  get visible() {
31
36
  return this._visible;
32
37
  }
33
- ngOnInit() {
38
+ ngOnInit() { }
39
+ openDialog() {
40
+ const options = {
41
+ component: NdfNuxeoDialog,
42
+ config: {
43
+ title: this.translateService.instant('CREATE.createFolder'),
44
+ contentTemplate: this.contentTemplate,
45
+ actionsTemplate: this.actionsTemplate
46
+ }
47
+ };
48
+ this.nuxeoDialogService
49
+ .open(options)
50
+ .afterClosed()
51
+ .subscribe((res) => {
52
+ this.visible = false;
53
+ });
34
54
  }
35
55
  onSubmit(e) {
36
56
  e.preventDefault();
@@ -65,8 +85,8 @@ export class CreateDirectoryComponent {
65
85
  });
66
86
  }
67
87
  }
68
- CreateDirectoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
69
- CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" [width]=\"500\" [height]=\"230\" [dragEnabled]=\"false\"\r\n[closeOnOutsideClick]=\"true\" [(visible)]=\"visible\"\r\ntitle=\"{{ 'FILE_MANAGER.NEW_DIRECTORY' | translate }}\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onSubmit($event)\">\r\n <dx-form class=\"form-wrapper\" #form [formData]=\"formData\" [disabled]=\"loading\">\r\n <dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n <dxi-validation-rule type=\"required\" message=\"Title is required\"></dxi-validation-rule>\r\n </dxi-item>\r\n <dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'createTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'createTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.CREATE\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n</div>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i4.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i4.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i4.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { type: i4.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i8.TranslatePipe } });
88
+ CreateDirectoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
89
+ CreateDirectoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreateDirectoryComponent, selector: "app-create-directory", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem" }, outputs: { visibleChange: "visibleChange", refresh: "refresh" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- <dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" [width]=\"500\" [height]=\"230\" [dragEnabled]=\"false\"\r\n[closeOnOutsideClick]=\"true\" [(visible)]=\"visible\"\r\ntitle=\"{{ 'FILE_MANAGER.NEW_DIRECTORY' | translate }}\">\r\n<div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onSubmit($event)\">\r\n <dx-form class=\"form-wrapper\" #form [formData]=\"formData\" [disabled]=\"loading\">\r\n <dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n <dxi-validation-rule type=\"required\" message=\"Title is required\"></dxi-validation-rule>\r\n </dxi-item>\r\n <dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n <dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'createTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'createTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.CREATE\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n</div>\r\n</dx-popup> -->\r\n\r\n<ng-template #contentTemplate>\r\n\t<div>\r\n\t\t<form>\r\n\t\t\t<dx-form\r\n\t\t\t\tclass=\"form-wrapper\"\r\n\t\t\t\t#form\r\n\t\t\t\t[formData]=\"formData\"\r\n\t\t\t\t[disabled]=\"loading\"\r\n\t\t\t>\r\n\t\t\t\t<dxi-item dataField=\"title\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.TITLE' | translate }}\"></dxo-label>\r\n\t\t\t\t\t<dxi-validation-rule\r\n\t\t\t\t\t\ttype=\"required\"\r\n\t\t\t\t\t\tmessage=\"Title is required\"\r\n\t\t\t\t\t></dxi-validation-rule>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t\t<dxi-item name=\"description\" editorType=\"dxTextBox\">\r\n\t\t\t\t\t<dxo-label text=\"{{ 'CREATE.DESCRIPTION' | translate }}\"></dxo-label>\r\n\t\t\t\t</dxi-item>\r\n\t\t\t</dx-form>\r\n\t\t</form>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(onSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.CREATE' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5.DxoLabelComponent, selector: "dxo-label", inputs: ["connectorColor", "connectorWidth", "customizeText", "font", "format", "indent", "visible", "horizontalAlignment", "position", "text", "verticalAlignment", "alignment", "customizeHint", "displayMode", "indentFromAxis", "overlappingBehavior", "rotationAngle", "staggeringSpacing", "template", "textOverflow", "wordWrap", "argumentFormat", "backgroundColor", "border", "connector", "displayFormat", "horizontalOffset", "showForZeroValues", "verticalOffset", "hideFirstOrLast", "indentFromTick", "useRangeColors", "location", "showColon", "radialOffset", "topIndent", "shadow", "useNodeColors", "dataField", "enabled"] }, { type: i5.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i7.TranslatePipe } });
70
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreateDirectoryComponent, decorators: [{
71
91
  type: Component,
72
92
  args: [{
@@ -74,9 +94,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
74
94
  templateUrl: './create-directory.component.html',
75
95
  styleUrls: ['./create-directory.component.scss']
76
96
  }]
77
- }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }]; }, propDecorators: { form: [{
97
+ }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { form: [{
78
98
  type: ViewChild,
79
99
  args: [DxFormComponent, { static: false }]
100
+ }], contentTemplate: [{
101
+ type: ViewChild,
102
+ args: ['contentTemplate']
103
+ }], actionsTemplate: [{
104
+ type: ViewChild,
105
+ args: ['actionsTemplate']
80
106
  }], visible: [{
81
107
  type: Input
82
108
  }], visibleChange: [{
@@ -88,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
88
114
  }], selectedItem: [{
89
115
  type: Input
90
116
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpcmVjdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWRpcmVjdG9yeS9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jcmVhdGUtZGlyZWN0b3J5L2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7O0FBUXJELE1BQU0sT0FBTyx3QkFBd0I7SUF5Qm5DLFlBQW9CLGtCQUF1QyxFQUNqRCxtQkFBeUM7UUFEL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQUNqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBWm5ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXVDLENBQUM7SUF4QnhELElBQ0ksT0FBTyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBZ0JELFFBQVE7SUFDUixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsOENBQThDO1FBQzlDLFdBQVc7UUFDWCx1Q0FBdUM7UUFDdkMsNEJBQTRCO1FBQzVCLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDakQsU0FBUyxDQUNOLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQiw2QkFBNkI7WUFDN0IseUJBQXlCO1lBQ3pCLHdEQUF3RDtZQUN4RCx5QkFBeUI7WUFDekIsa0RBQWtEO1lBQ2xELCtDQUErQztZQUMvQyxhQUFhO1lBQ2IsbUNBQW1DO1lBQ25DLDhCQUE4QjtZQUM5QixJQUFJO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDekIsU0FBUyxFQUNULGlCQUFpQixFQUNqQiwwQkFBMEIsQ0FDN0IsQ0FBQztRQUNOLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDekIsT0FBTyxFQUNQLGVBQWUsRUFDZixnQ0FBZ0MsQ0FDbkMsQ0FBQztRQUNOLENBQUMsQ0FDSixDQUFDO0lBQ1YsQ0FBQzs7c0hBekVZLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJQQUN4QixlQUFlLGdEQ1g1QixreERBK0JXOzRGRHJCRSx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7aUJBQ2pEOzJJQUVnRCxJQUFJO3NCQUFsRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRXpDLE9BQU87c0JBRFYsS0FBSztnQkFZTixhQUFhO3NCQURaLE1BQU07Z0JBR1AsT0FBTztzQkFETixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1kaXJlY3RvcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZURpcmVjdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChEeEZvcm1Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBEeEZvcm1Db21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5fdmlzaWJsZSA9PT0gdmFsdWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fdmlzaWJsZSk7XHJcbiAgfVxyXG4gIGdldCB2aXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKVxyXG4gIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuXHJcbiAgZm9ybURhdGE6IGFueSA9IHt9O1xyXG4gIF92aXNpYmxlID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlIDogRmlsZU1hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjdXN0b21Ub2FzdHJTZXJ2aWNlIDogQ3VzdG9tVG9hc3RyU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoZSkge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIC8vIGxldCBkaXJlY3RvcnkgPSB0aGlzLmdldEN1cnJlbnREaXJlY3RvcnkoKTtcclxuICAgIC8vIGxldCBpZCA9XHJcbiAgICAvLyAgICAgZGlyZWN0b3J5LmRhdGFJdGVtID09PSB1bmRlZmluZWRcclxuICAgIC8vICAgICAgICAgPyB0aGlzLm1haW5Gb2xkZXJcclxuICAgIC8vICAgICAgICAgOiB0aGlzLmdldEN1cnJlbnRGb2xkZXJJZChkaXJlY3RvcnkpO1xyXG4gICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgICAuY3JlYXRlRGlyZWN0b3J5KHRoaXMuZm9ybURhdGEsIHRoaXMuc2VsZWN0ZWRJdGVtKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBpZiAodGhpcy5pc0l0ZW1TZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBzZWxlY3RlZEl0ZW0gPVxyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyLmluc3RhbmNlLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0aGlzLmN1cnJlbnRQYXRoID1cclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zZWxlY3RlZE9iamVjdC5lbnRpdHkucGF0aC5zdWJzdHIoXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyT2JqPy5wYXRoLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdG9yeSA9IHNlbGVjdGVkSXRlbVswXTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBpZCA9IHRoaXMuc2VsZWN0ZWRJdGVtO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uaW5zdGFuY2UucmVzZXRWYWx1ZXMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5TVUNDRVNTJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DUkVBVEVEJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ1JFQVRFRF9FUlJPUidcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG59XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgW3dpZHRoXT1cIjUwMFwiIFtoZWlnaHRdPVwiMjMwXCIgW2RyYWdFbmFibGVkXT1cImZhbHNlXCJcclxuW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbnRpdGxlPVwie3sgJ0ZJTEVfTUFOQUdFUi5ORVdfRElSRUNUT1JZJyB8IHRyYW5zbGF0ZSB9fVwiPlxyXG48ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NvbnRlbnQnXCI+XHJcbiAgICA8Zm9ybSAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj5cclxuICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImZvcm0td3JhcHBlclwiICNmb3JtIFtmb3JtRGF0YV09XCJmb3JtRGF0YVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJ0aXRsZVwiIGVkaXRvclR5cGU9XCJkeFRleHRCb3hcIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tbGFiZWwgdGV4dD1cInt7ICdDUkVBVEUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCI+PC9keG8tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZHhpLXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIiBtZXNzYWdlPVwiVGl0bGUgaXMgcmVxdWlyZWRcIj48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBuYW1lPVwiZGVzY3JpcHRpb25cIiBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHhvLWxhYmVsIHRleHQ9XCJ7eyAnQ1JFQVRFLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiPjwvZHhvLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICA8ZHhpLWl0ZW0gaXRlbVR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tYnV0dG9uLW9wdGlvbnMgd2lkdGg9XCIzMCVcIiB0eXBlPVwiZGFuZ2VyXCIgW3VzZVN1Ym1pdEJlaGF2aW9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInY3JlYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8L2R4by1idXR0b24tb3B0aW9ucz5cclxuICAgICAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdjcmVhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHgtYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZzsgZWxzZSBub3RMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkNSRUFURVwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9keC1mb3JtPlxyXG4gICAgPC9mb3JtPlxyXG48L2Rpdj5cclxuPC9keC1wb3B1cD4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpcmVjdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWRpcmVjdG9yeS9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jcmVhdGUtZGlyZWN0b3J5L2NyZWF0ZS1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQTZCMUQsWUFDUyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3pDLGtCQUFzQyxFQUM3QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMUix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWI5QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsWUFBTyxHQUFHLElBQUks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UyxFQUFFLENBQUMsbUNBQW1DLENBQUM7aUJBQ2hEO21NQUUrQyxJQUFJO3NCQUFsRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2YsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0UsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRXhCLE9BQU87c0JBRFYsS0FBSztnQkFlTixhQUFhO3NCQURaLE1BQU07Z0JBR1AsT0FBTztzQkFETixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENvbXBvbmVudCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5qZWN0b3IsXHJcblx0SW5wdXQsXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE5kZk51eGVvRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZyc7XHJcbmltcG9ydCB7IE51eGVvRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9zZXJ2aWNlcy9udXhlby1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9iYXNlL2Jhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1kaXJlY3RvcnknLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jcmVhdGUtZGlyZWN0b3J5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZURpcmVjdG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZScpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0QFZpZXdDaGlsZCgnYWN0aW9uc1RlbXBsYXRlJykgYWN0aW9uc1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRASW5wdXQoKVxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcGVuRGlhbG9nKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcblx0XHR0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuXHR9XHJcblx0Z2V0IHZpc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuXHR9XHJcblx0QE91dHB1dCgpXHJcblx0dmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKVxyXG5cdHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRASW5wdXQoKVxyXG5cdHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuXHRASW5wdXQoKVxyXG5cdHNlbGVjdGVkSXRlbTogYW55O1xyXG5cclxuXHRmb3JtRGF0YTogYW55ID0ge307XHJcblx0X3Zpc2libGUgPSBmYWxzZTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbnV4ZW9EaWFsb2dTZXJ2aWNlOiBOdXhlb0RpYWxvZ1NlcnZpY2UsXHJcblx0XHRpbmplY3RvcjogSW5qZWN0b3JcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0b3BlbkRpYWxvZygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IG9wdGlvbnM6IERpYWxvZ09wdGlvbnMgPSB7XHJcblx0XHRcdGNvbXBvbmVudDogTmRmTnV4ZW9EaWFsb2csXHJcblx0XHRcdGNvbmZpZzoge1xyXG5cdFx0XHRcdHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQ1JFQVRFLmNyZWF0ZUZvbGRlcicpLFxyXG5cdFx0XHRcdGNvbnRlbnRUZW1wbGF0ZTogdGhpcy5jb250ZW50VGVtcGxhdGUsXHJcblx0XHRcdFx0YWN0aW9uc1RlbXBsYXRlOiB0aGlzLmFjdGlvbnNUZW1wbGF0ZVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0dGhpcy5udXhlb0RpYWxvZ1NlcnZpY2VcclxuXHRcdFx0Lm9wZW4ob3B0aW9ucylcclxuXHRcdFx0LmFmdGVyQ2xvc2VkKClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0b25TdWJtaXQoZSkge1xyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdC8vIGxldCBkaXJlY3RvcnkgPSB0aGlzLmdldEN1cnJlbnREaXJlY3RvcnkoKTtcclxuXHRcdC8vIGxldCBpZCA9XHJcblx0XHQvLyAgICAgZGlyZWN0b3J5LmRhdGFJdGVtID09PSB1bmRlZmluZWRcclxuXHRcdC8vICAgICAgICAgPyB0aGlzLm1haW5Gb2xkZXJcclxuXHRcdC8vICAgICAgICAgOiB0aGlzLmdldEN1cnJlbnRGb2xkZXJJZChkaXJlY3RvcnkpO1xyXG5cdFx0dGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuXHRcdFx0LmNyZWF0ZURpcmVjdG9yeSh0aGlzLmZvcm1EYXRhLCB0aGlzLnNlbGVjdGVkSXRlbSlcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0Ly8gaWYgKHRoaXMuaXNJdGVtU2VsZWN0ZWQpIHtcclxuXHRcdFx0XHRcdC8vICAgICBsZXQgc2VsZWN0ZWRJdGVtID1cclxuXHRcdFx0XHRcdC8vICAgICAgICAgdGhpcy5maWxlTWFuYWdlci5pbnN0YW5jZS5nZXRTZWxlY3RlZEl0ZW1zKCk7XHJcblx0XHRcdFx0XHQvLyAgICAgdGhpcy5jdXJyZW50UGF0aCA9XHJcblx0XHRcdFx0XHQvLyAgICAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3QuZW50aXR5LnBhdGguc3Vic3RyKFxyXG5cdFx0XHRcdFx0Ly8gICAgICAgICAgICAgdGhpcy5maWxlTWFuYWdlck9iaj8ucGF0aC5sZW5ndGhcclxuXHRcdFx0XHRcdC8vICAgICAgICAgKTtcclxuXHRcdFx0XHRcdC8vICAgICBkaXJlY3RvcnkgPSBzZWxlY3RlZEl0ZW1bMF07XHJcblx0XHRcdFx0XHQvLyAgICAgaWQgPSB0aGlzLnNlbGVjdGVkSXRlbTtcclxuXHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdHRoaXMucmVmcmVzaC5uZXh0KHRydWUpO1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcblx0XHRcdFx0XHR0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0J1RPQVNURVIuRE9DVU1FTlRfQ1JFQVRFRCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5ET0NVTUVOVF9DUkVBVEVEX0VSUk9SJ1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdCk7XHJcblx0fVxyXG59XHJcbiIsIjwhLS0gPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgW3dpZHRoXT1cIjUwMFwiIFtoZWlnaHRdPVwiMjMwXCIgW2RyYWdFbmFibGVkXT1cImZhbHNlXCJcclxuW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbnRpdGxlPVwie3sgJ0ZJTEVfTUFOQUdFUi5ORVdfRElSRUNUT1JZJyB8IHRyYW5zbGF0ZSB9fVwiPlxyXG48ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NvbnRlbnQnXCI+XHJcbiAgICA8Zm9ybSAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj5cclxuICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImZvcm0td3JhcHBlclwiICNmb3JtIFtmb3JtRGF0YV09XCJmb3JtRGF0YVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBkYXRhRmllbGQ9XCJ0aXRsZVwiIGVkaXRvclR5cGU9XCJkeFRleHRCb3hcIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tbGFiZWwgdGV4dD1cInt7ICdDUkVBVEUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCI+PC9keG8tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZHhpLXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIiBtZXNzYWdlPVwiVGl0bGUgaXMgcmVxdWlyZWRcIj48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgICAgIDxkeGktaXRlbSBuYW1lPVwiZGVzY3JpcHRpb25cIiBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHhvLWxhYmVsIHRleHQ9XCJ7eyAnQ1JFQVRFLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiPjwvZHhvLWxhYmVsPlxyXG4gICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICA8ZHhpLWl0ZW0gaXRlbVR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxkeG8tYnV0dG9uLW9wdGlvbnMgd2lkdGg9XCIzMCVcIiB0eXBlPVwiZGFuZ2VyXCIgW3VzZVN1Ym1pdEJlaGF2aW9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInY3JlYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8L2R4by1idXR0b24tb3B0aW9ucz5cclxuICAgICAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdjcmVhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHgtYnV0dG9uLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZzsgZWxzZSBub3RMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RMb2FkaW5nPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkNSRUFURVwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9keC1mb3JtPlxyXG4gICAgPC9mb3JtPlxyXG48L2Rpdj5cclxuPC9keC1wb3B1cD4gLS0+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHQ8ZGl2PlxyXG5cdFx0PGZvcm0+XHJcblx0XHRcdDxkeC1mb3JtXHJcblx0XHRcdFx0Y2xhc3M9XCJmb3JtLXdyYXBwZXJcIlxyXG5cdFx0XHRcdCNmb3JtXHJcblx0XHRcdFx0W2Zvcm1EYXRhXT1cImZvcm1EYXRhXCJcclxuXHRcdFx0XHRbZGlzYWJsZWRdPVwibG9hZGluZ1wiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8ZHhpLWl0ZW0gZGF0YUZpZWxkPVwidGl0bGVcIiBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcblx0XHRcdFx0XHQ8ZHhvLWxhYmVsIHRleHQ9XCJ7eyAnQ1JFQVRFLlRJVExFJyB8IHRyYW5zbGF0ZSB9fVwiPjwvZHhvLWxhYmVsPlxyXG5cdFx0XHRcdFx0PGR4aS12YWxpZGF0aW9uLXJ1bGVcclxuXHRcdFx0XHRcdFx0dHlwZT1cInJlcXVpcmVkXCJcclxuXHRcdFx0XHRcdFx0bWVzc2FnZT1cIlRpdGxlIGlzIHJlcXVpcmVkXCJcclxuXHRcdFx0XHRcdD48L2R4aS12YWxpZGF0aW9uLXJ1bGU+XHJcblx0XHRcdFx0PC9keGktaXRlbT5cclxuXHRcdFx0XHQ8ZHhpLWl0ZW0gbmFtZT1cImRlc2NyaXB0aW9uXCIgZWRpdG9yVHlwZT1cImR4VGV4dEJveFwiPlxyXG5cdFx0XHRcdFx0PGR4by1sYWJlbCB0ZXh0PVwie3sgJ0NSRUFURS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX1cIj48L2R4by1sYWJlbD5cclxuXHRcdFx0XHQ8L2R4aS1pdGVtPlxyXG5cdFx0XHQ8L2R4LWZvcm0+XHJcblx0XHQ8L2Zvcm0+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCJcclxuXHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihvblN1Ym1pdCwgWyRldmVudF0pXCJcclxuXHQ+XHJcblx0XHR7eyAnRklMRV9NQU5BR0VSLkNSRUFURScgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,28 +1,27 @@
1
1
  import { Component, HostListener, Inject, ViewChild } from '@angular/core';
2
2
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
3
  import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
4
+ import { BaseDialogComponent } from '../../../../shared/components/base/base-dialog.component';
5
+ import { tap } from 'rxjs/operators';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/material/dialog";
7
8
  import * as i2 from "../../../../shared-services/file-manager.service";
8
9
  import * as i3 from "../../../../shared-services/dynamic-form.service";
9
- import * as i4 from "../../../../core/services/translation/translation.service";
10
- import * as i5 from "../../../custom-toastr/services/custom-toastr.service";
11
- import * as i6 from "@angular/forms";
12
- import * as i7 from "../../../dynamic-form/components/dynamic-form/dynamic-form.component";
13
- import * as i8 from "@angular/material/progress-spinner";
14
- import * as i9 from "../../../../directive/rtl/set-rtl.directive";
15
- import * as i10 from "@angular/common";
16
- import * as i11 from "@ngx-translate/core";
17
- export class FolderModalComponent {
18
- constructor(data, dialogRef, fileMangerService, dynamicFormService, translationService, tosterService, formBuilder) {
10
+ import * as i4 from "../../../custom-toastr/services/custom-toastr.service";
11
+ import * as i5 from "../../../../shared/components/nuxeo-dialog/nuxeo.dialog";
12
+ import * as i6 from "../../../dynamic-form/components/dynamic-form/dynamic-form.component";
13
+ import * as i7 from "../../../../directive/rtl/set-rtl.directive";
14
+ import * as i8 from "@angular/forms";
15
+ import * as i9 from "@angular/common";
16
+ import * as i10 from "@ngx-translate/core";
17
+ export class FolderModalComponent extends BaseDialogComponent {
18
+ constructor(data, dialogRef, fileMangerService, dynamicFormService, tosterService, injector) {
19
+ super(injector);
19
20
  this.data = data;
20
21
  this.dialogRef = dialogRef;
21
22
  this.fileMangerService = fileMangerService;
22
23
  this.dynamicFormService = dynamicFormService;
23
- this.translationService = translationService;
24
24
  this.tosterService = tosterService;
25
- this.formBuilder = formBuilder;
26
25
  this.temporaryDyanmicData = {};
27
26
  this.showRenderer = false;
28
27
  this.dynamicData = {
@@ -30,31 +29,44 @@ export class FolderModalComponent {
30
29
  };
31
30
  this.staticForm = {
32
31
  title: '',
33
- description: '',
32
+ description: ''
34
33
  // department:''
35
34
  };
36
35
  this.filter = {};
37
36
  this.filter2 = {};
38
37
  this.parentId = '2';
39
- this.isArabic = false;
40
38
  this._unsubscribeAll = new Subject();
41
39
  this.isDmsFolder = false;
42
40
  this.creating = false;
41
+ this.createDocument = () => {
42
+ this.creating = true;
43
+ let params = this.constructPayLoad(this.dynamicData['data'], this.staticForm);
44
+ return this.fileMangerService
45
+ .createFolder(params, this.fileMangerService.selectedFolderId)
46
+ .pipe(tap((res) => {
47
+ //console.log(res);
48
+ this.creating = false;
49
+ this.fileMangerService.onRefreshingFileManger.next();
50
+ this.tosterService.show('success', 'TOASTER.SUCCESS', 'TOASTER.FOLDER_CREATED_SUCCE');
51
+ this.closeDialog();
52
+ }));
53
+ };
43
54
  }
44
55
  KeyUpEvent(event) {
45
- if (this.dynamicData.valid && !this.folderForm.invalid && this.staticForm.title != '..') {
56
+ if (this.dynamicData.valid &&
57
+ !this.folderForm.invalid &&
58
+ this.staticForm.title != '..') {
46
59
  this.createDocument();
47
60
  }
48
61
  }
49
62
  ngOnInit() {
50
- this.translationService.isArabic.pipe(takeUntil(this._unsubscribeAll)).subscribe(res => {
51
- this.isArabic = res;
52
- });
53
63
  this.folderType = this.data.folderType;
54
64
  this.dynamicForm = this.data.dynamicForm;
55
- this.fileMangerService.getFileSchemas(this.folderType.type).subscribe(schemas => {
56
- schemas.map(item => {
57
- if (item.name === "dmsfolder") {
65
+ this.fileMangerService
66
+ .getFileSchemas(this.folderType.type)
67
+ .subscribe((schemas) => {
68
+ schemas.map((item) => {
69
+ if (item.name === 'dmsfolder') {
58
70
  this.isDmsFolder = true;
59
71
  }
60
72
  });
@@ -76,30 +88,20 @@ export class FolderModalComponent {
76
88
  closeDialog() {
77
89
  this.dialogRef.close(false);
78
90
  }
79
- createDocument() {
80
- this.creating = true;
81
- let params = this.constructPayLoad(this.dynamicData['data'], this.staticForm);
82
- this.fileMangerService.createFolder(params, this.fileMangerService.selectedFolderId).subscribe(res => {
83
- //console.log(res);
84
- this.creating = false;
85
- this.fileMangerService.onRefreshingFileManger.next();
86
- this.tosterService.show('success', 'TOASTER.SUCCESS', "TOASTER.FOLDER_CREATED_SUCCE");
87
- this.closeDialog();
88
- });
89
- }
90
91
  constructPayLoad(dynamicValues, staticForm) {
91
92
  // let props = this.constructDynamicFormPayload(dynamicValues);
92
93
  let props = this.dynamicFormService.constructDynamicFormPayload(dynamicValues, this.dynamicForm);
93
94
  let param = {
94
- "document": {
95
- "type": this.folderType.type,
96
- "name": staticForm.title,
97
- "properties": Object.assign(Object.assign({}, props), { "dc:description": staticForm.description, "dc:title": staticForm.title })
95
+ document: {
96
+ type: this.folderType.type,
97
+ name: staticForm.title,
98
+ properties: Object.assign(Object.assign({}, props), { 'dc:description': staticForm.description, 'dc:title': staticForm.title })
98
99
  }
99
100
  };
100
101
  if (this.folderType.documentCode && this.isDmsFolder) {
101
- param["documentTypeCode"] = this.folderType.documentCode;
102
- param['document']['properties']['dmsfolder:documentTypeCode'] = this.folderType.documentCode;
102
+ param['documentTypeCode'] = this.folderType.documentCode;
103
+ param['document']['properties']['dmsfolder:documentTypeCode'] =
104
+ this.folderType.documentCode;
103
105
  }
104
106
  return param;
105
107
  }
@@ -107,8 +109,8 @@ export class FolderModalComponent {
107
109
  //console.log(data);
108
110
  }
109
111
  }
110
- FolderModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FolderModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.FileManagerService }, { token: i3.DynamicFormService }, { token: i4.TranslationService }, { token: i5.CustomToastrService }, { token: i6.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
111
- FolderModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FolderModalComponent, selector: "app-folder-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, viewQueries: [{ propertyName: "folderForm", first: true, predicate: ["folderForm"], descendants: true }], ngImport: i0, template: "<div class=\"create-folder-modal d-flex justify-center w-full relative h-full\">\r\n <div class=\"folder-wrapper\" SetRtl>\r\n <div class=\"mb-5\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TYPE\" | translate }}\r\n </div>\r\n <div class=\"text-base text-gray-900\">\r\n {{ isArabic ? folderType.arabicText : folderType.englishText }}\r\n </div>\r\n </div>\r\n <form #folderForm=\"ngForm\">\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.TITLE\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [ngClass]=\"{ 'border-red-500': staticForm.title === '..' }\"\r\n required\r\n [(ngModel)]=\"staticForm.title\"\r\n id=\"folderTitle\"\r\n name=\"folderTitle\"\r\n />\r\n <div class=\"text-red-500 text-base\" *ngIf=\"staticForm.title === '..'\">\r\n Invalid Folder Title\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <div class=\"label-style\">\r\n {{ \"FOLDERS.DESCRIPTION\" | translate }}\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [(ngModel)]=\"staticForm.description\"\r\n id=\"folderDescription\"\r\n name=\"folderDescription\"\r\n />\r\n </div>\r\n </form>\r\n \r\n <div class=\"dynamic-part -mx-4\" *ngIf=\"dynamicForm && showRenderer\">\r\n <app-dynamic-form\r\n [form]=\"dynamicForm\"\r\n [data]=\"temporaryDyanmicData\"\r\n (change)=\"ondynamicFormChange($event)\"\r\n ></app-dynamic-form>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <!-- actions and buttons -->\r\n <div\r\n class=\"w-full d-flex justify-between absolute bottom-0 actionsBtnWrapper\"\r\n >\r\n <ng-container *ngIf=\"!creating\">\r\n <button\r\n (click)=\"createDocument()\"\r\n [disabled]=\"\r\n !dynamicData.valid || folderForm.invalid || staticForm.title === '..'\r\n \"\r\n [ngClass]=\"{\r\n 'opacity-30 cursor-not-allowed':\r\n !dynamicData.valid ||\r\n folderForm.invalid ||\r\n staticForm.title === '..'\r\n }\"\r\n class=\"submission-button\"\r\n >\r\n {{ \"BUTTONS.CREATE\" | translate }}\r\n </button>\r\n </ng-container>\r\n <span class=\"submission-button\" *ngIf=\"creating\">\r\n <mat-spinner\r\n [value]=\"90\"\r\n [strokeWidth]=\"3\"\r\n overlay=\"true\"\r\n [diameter]=\"25\"\r\n color=\"warn\"\r\n >\r\n </mat-spinner>\r\n </span>\r\n \r\n <button class=\"cancelation-button\" (click)=\"closeDialog()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n ", styles: [".folder-wrapper{height:calc(100% - 50px);overflow-y:auto;overflow-x:hidden;padding:0 10px;width:100%}.rtl .actionsBtnWrapper{direction:ltr}.actionsBtnWrapper{direction:rtl}\n"], components: [{ type: i7.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i9.SetRtlDirective, selector: "[SetRtl]" }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.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: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i11.TranslatePipe } });
112
+ FolderModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FolderModalComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.FileManagerService }, { token: i3.DynamicFormService }, { token: i4.CustomToastrService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
113
+ FolderModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FolderModalComponent, selector: "app-folder-modal", host: { listeners: { "document:keyup.enter": "KeyUpEvent($event)" } }, viewQueries: [{ propertyName: "folderForm", first: true, predicate: ["folderForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ 'CREATE.createFolder' | translate }}\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<div\r\n\t\t\tclass=\"create-folder-modal d-flex justify-center w-full relative h-full\"\r\n\t\t>\r\n\t\t\t<div class=\"folder-wrapper\" SetRtl>\r\n\t\t\t\t<div class=\"mb-5\">\r\n\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t{{ 'FOLDERS.TYPE' | translate }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"text-base text-gray-900\">\r\n\t\t\t\t\t\t{{ isArabic ? folderType.arabicText : folderType.englishText }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<form #folderForm=\"ngForm\">\r\n\t\t\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ 'FOLDERS.TITLE' | translate }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t\t[ngClass]=\"{ 'border-red-500': staticForm.title === '..' }\"\r\n\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t[(ngModel)]=\"staticForm.title\"\r\n\t\t\t\t\t\t\tid=\"folderTitle\"\r\n\t\t\t\t\t\t\tname=\"folderTitle\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"text-red-500 text-base\"\r\n\t\t\t\t\t\t\t*ngIf=\"staticForm.title === '..'\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tInvalid Folder Title\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ 'FOLDERS.DESCRIPTION' | translate }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"staticForm.description\"\r\n\t\t\t\t\t\t\tid=\"folderDescription\"\r\n\t\t\t\t\t\t\tname=\"folderDescription\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</form>\r\n\r\n\t\t\t\t<div class=\"dynamic-part -mx-4\" *ngIf=\"dynamicForm && showRenderer\">\r\n\t\t\t\t\t<app-dynamic-form\r\n\t\t\t\t\t\t[form]=\"dynamicForm\"\r\n\t\t\t\t\t\t[data]=\"temporaryDyanmicData\"\r\n\t\t\t\t\t\t(change)=\"ondynamicFormChange($event)\"\r\n\t\t\t\t\t></app-dynamic-form>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<!-- -->\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<ng-container *ngIf=\"!creating\">\r\n\t\t\t<button\r\n\t\t\t\tclass=\"submission-button w-44\"\r\n\t\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t>\r\n\t\t\t\t{{ 'BUTTONS.CREATE' | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".folder-wrapper{height:calc(100% - 50px);overflow-y:auto;overflow-x:hidden;padding:0 10px;width:100%}.rtl .actionsBtnWrapper{direction:ltr}.actionsBtnWrapper{direction:rtl}\n"], components: [{ type: i5.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "loaderMode"] }, { type: i6.DynamicFormComponent, selector: "app-dynamic-form", inputs: ["form", "data", "readOnly"], outputs: ["change"] }], directives: [{ type: i7.SetRtlDirective, selector: "[SetRtl]" }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.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: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i10.TranslatePipe } });
112
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FolderModalComponent, decorators: [{
113
115
  type: Component,
114
116
  args: [{
@@ -119,11 +121,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
119
121
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
120
122
  type: Inject,
121
123
  args: [MAT_DIALOG_DATA]
122
- }] }, { type: i1.MatDialogRef }, { type: i2.FileManagerService }, { type: i3.DynamicFormService }, { type: i4.TranslationService }, { type: i5.CustomToastrService }, { type: i6.FormBuilder }]; }, propDecorators: { folderForm: [{
124
+ }] }, { type: i1.MatDialogRef }, { type: i2.FileManagerService }, { type: i3.DynamicFormService }, { type: i4.CustomToastrService }, { type: i0.Injector }]; }, propDecorators: { folderForm: [{
123
125
  type: ViewChild,
124
126
  args: ['folderForm']
125
127
  }], KeyUpEvent: [{
126
128
  type: HostListener,
127
129
  args: ['document:keyup.enter', ['$event']]
128
130
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9mb2xkZXItbW9kYWwvZm9sZGVyLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9mb2xkZXItbW9kYWwvZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBOEIvQixZQUE0QyxJQUFJLEVBQ3hDLFNBQThDLEVBQzlDLGlCQUFzQyxFQUN0QyxrQkFBdUMsRUFDdkMsa0JBQXVDLEVBQ3ZDLGFBQW1DLEVBQ25DLFdBQXlCO1FBTlcsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFxQztRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFqQ2pDLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixnQkFBVyxHQUFHO1lBQ1osS0FBSyxFQUFHLEtBQUs7U0FDZCxDQUFDO1FBQ0YsZUFBVSxHQUFHO1lBQ1gsS0FBSyxFQUFHLEVBQUU7WUFDVixXQUFXLEVBQUcsRUFBRTtZQUNoQixnQkFBZ0I7U0FDakIsQ0FBQTtRQUVELFdBQU0sR0FBQyxFQUFFLENBQUM7UUFDVixZQUFPLEdBQUMsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFDLEdBQUcsQ0FBQztRQUdiLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDVCxvQkFBZSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzNELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFjb0IsQ0FBQztJQVh0QyxVQUFVLENBQUMsS0FBb0I7UUFDN0IsSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0RixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckYsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQixJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFDO29CQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztpQkFDekI7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUNGLGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsV0FBVztRQUM3QixJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDN0IsSUFBSSxDQUFDLFdBQVcscUJBQVEsV0FBVyxDQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwRyxtQkFBbUI7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3RGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUcsVUFBVTtRQUN2QywrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLGFBQWEsRUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEcsSUFBSSxLQUFLLEdBQUc7WUFDVixVQUFVLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDNUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLO2dCQUN4QixZQUFZLGtDQUNQLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsV0FBVyxFQUN4QyxVQUFVLEVBQUUsVUFBVSxDQUFDLEtBQUssR0FDN0I7YUFDRjtTQUNGLENBQUM7UUFDRixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUM7WUFDbkQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7WUFDekQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7U0FDN0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQUk7UUFDWCxvQkFBb0I7SUFDdEIsQ0FBQzs7a0hBMUdVLG9CQUFvQixrQkE4QlgsZUFBZTtzR0E5QnhCLG9CQUFvQix5T0NmakMsbzdGQXNGRTs0RkR2RVcsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUM3Qzs7MEJBK0JjLE1BQU07MkJBQUMsZUFBZTtzT0FQVixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRXZCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9sZGVyLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb2xkZXItbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9sZGVyTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgLCBBZnRlclZpZXdJbml0ICwgT25EZXN0cm95IHtcclxuICBmb2xkZXJUeXBlO1xyXG4gIGR5bmFtaWNGb3JtO1xyXG4gIHRlbXBvcmFyeUR5YW5taWNEYXRhID0ge307XHJcbiAgc2hvd1JlbmRlcmVyID0gZmFsc2U7XHJcbiAgZHluYW1pY0RhdGEgPSB7XHJcbiAgICB2YWxpZCA6IGZhbHNlXHJcbiAgfTtcclxuICBzdGF0aWNGb3JtID0ge1xyXG4gICAgdGl0bGUgOiAnJyxcclxuICAgIGRlc2NyaXB0aW9uIDogJycsXHJcbiAgICAvLyBkZXBhcnRtZW50OicnXHJcbiAgfVxyXG5cclxuICBmaWx0ZXI9e307XHJcbiAgZmlsdGVyMj17fTtcclxuICBwYXJlbnRJZD0nMic7XHJcbiAgY2hpbGRJZDtcclxuICB0ZXN0aW5nRm9ybSA6IEZvcm1Hcm91cDtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgaXNEbXNGb2xkZXIgPSBmYWxzZTtcclxuICBjcmVhdGluZyA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ2ZvbGRlckZvcm0nKSBmb2xkZXJGb3JtOiBGb3JtR3JvdXA7XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxyXG4gIEtleVVwRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmKHRoaXMuZHluYW1pY0RhdGEudmFsaWQgJiYgIXRoaXMuZm9sZGVyRm9ybS5pbnZhbGlkICYmIHRoaXMuc3RhdGljRm9ybS50aXRsZSAhPSAnLi4nKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhICwgXHJcbiAgcHJpdmF0ZSBkaWFsb2dSZWYgOiBNYXREaWFsb2dSZWY8Rm9sZGVyTW9kYWxDb21wb25lbnQ+LFxyXG4gIHByaXZhdGUgZmlsZU1hbmdlclNlcnZpY2UgOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgcHJpdmF0ZSBkeW5hbWljRm9ybVNlcnZpY2UgOiBEeW5hbWljRm9ybVNlcnZpY2UsXHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlIDogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuICBwcml2YXRlIGZvcm1CdWlsZGVyIDogRm9ybUJ1aWxkZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmlzQXJhYmljLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuaXNBcmFiaWMgPSByZXM7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5mb2xkZXJUeXBlID0gdGhpcy5kYXRhLmZvbGRlclR5cGU7XHJcbiAgICB0aGlzLmR5bmFtaWNGb3JtID0gdGhpcy5kYXRhLmR5bmFtaWNGb3JtO1xyXG4gICAgdGhpcy5maWxlTWFuZ2VyU2VydmljZS5nZXRGaWxlU2NoZW1hcyh0aGlzLmZvbGRlclR5cGUudHlwZSkuc3Vic2NyaWJlKHNjaGVtYXMgPT4ge1xyXG4gICAgICBzY2hlbWFzLm1hcChpdGVtID0+IHtcclxuICAgICAgICBpZihpdGVtLm5hbWUgPT09IFwiZG1zZm9sZGVyXCIpe1xyXG4gICAgICAgICAgdGhpcy5pc0Rtc0ZvbGRlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xyXG4gICAgdGhpcy5zaG93UmVuZGVyZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KCk7XHJcbiAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBvbmR5bmFtaWNGb3JtQ2hhbmdlKGR5bmFtaWNEYXRhKSB7XHJcbiAgICBpZiAoZHluYW1pY0RhdGEuZGF0YSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhkeW5hbWljRGF0YS5kYXRhKVxyXG4gICAgICB0aGlzLmR5bmFtaWNEYXRhID0geyAuLi5keW5hbWljRGF0YSB9O1xyXG4gICAgfVxyXG4gIH1cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZURvY3VtZW50KCkge1xyXG4gICAgdGhpcy5jcmVhdGluZyA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5jb25zdHJ1Y3RQYXlMb2FkKHRoaXMuZHluYW1pY0RhdGFbJ2RhdGEnXSAsIHRoaXMuc3RhdGljRm9ybSk7XHJcbiAgICB0aGlzLmZpbGVNYW5nZXJTZXJ2aWNlLmNyZWF0ZUZvbGRlcihwYXJhbXMgLCB0aGlzLmZpbGVNYW5nZXJTZXJ2aWNlLnNlbGVjdGVkRm9sZGVySWQpLnN1YnNjcmliZShyZXMgPT57XHJcbiAgICAgIC8vY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbGVNYW5nZXJTZXJ2aWNlLm9uUmVmcmVzaGluZ0ZpbGVNYW5nZXIubmV4dCgpO1xyXG4gICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnc3VjY2VzcycsICdUT0FTVEVSLlNVQ0NFU1MnLCBcIlRPQVNURVIuRk9MREVSX0NSRUFURURfU1VDQ0VcIik7XHJcbiAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0UGF5TG9hZChkeW5hbWljVmFsdWVzICwgc3RhdGljRm9ybSkge1xyXG4gICAgICAvLyBsZXQgcHJvcHMgPSB0aGlzLmNvbnN0cnVjdER5bmFtaWNGb3JtUGF5bG9hZChkeW5hbWljVmFsdWVzKTtcclxuICAgICAgbGV0IHByb3BzID0gdGhpcy5keW5hbWljRm9ybVNlcnZpY2UuY29uc3RydWN0RHluYW1pY0Zvcm1QYXlsb2FkKGR5bmFtaWNWYWx1ZXMgLCB0aGlzLmR5bmFtaWNGb3JtKTtcclxuICAgICAgbGV0IHBhcmFtID0ge1xyXG4gICAgICAgIFwiZG9jdW1lbnRcIjoge1xyXG4gICAgICAgICAgXCJ0eXBlXCI6IHRoaXMuZm9sZGVyVHlwZS50eXBlLFxyXG4gICAgICAgICAgXCJuYW1lXCI6IHN0YXRpY0Zvcm0udGl0bGUsXHJcbiAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xyXG4gICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgXCJkYzpkZXNjcmlwdGlvblwiOiBzdGF0aWNGb3JtLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICBcImRjOnRpdGxlXCI6IHN0YXRpY0Zvcm0udGl0bGUsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBpZih0aGlzLmZvbGRlclR5cGUuZG9jdW1lbnRDb2RlICYmIHRoaXMuaXNEbXNGb2xkZXIpe1xyXG4gICAgICAgcGFyYW1bXCJkb2N1bWVudFR5cGVDb2RlXCJdID0gdGhpcy5mb2xkZXJUeXBlLmRvY3VtZW50Q29kZTtcclxuICAgICAgIHBhcmFtWydkb2N1bWVudCddWydwcm9wZXJ0aWVzJ11bJ2Rtc2ZvbGRlcjpkb2N1bWVudFR5cGVDb2RlJ10gPSB0aGlzLmZvbGRlclR5cGUuZG9jdW1lbnRDb2RlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwYXJhbTtcclxuICB9XHJcblxyXG4gIGNoYW5naW5nKGRhdGEpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhkYXRhKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJjcmVhdGUtZm9sZGVyLW1vZGFsIGQtZmxleCBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgcmVsYXRpdmUgaC1mdWxsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9sZGVyLXdyYXBwZXJcIiBTZXRSdGw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICB7eyBcIkZPTERFUlMuVFlQRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWdyYXktOTAwXCI+XHJcbiAgICAgICAgICB7eyBpc0FyYWJpYyA/IGZvbGRlclR5cGUuYXJhYmljVGV4dCA6IGZvbGRlclR5cGUuZW5nbGlzaFRleHQgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxmb3JtICNmb2xkZXJGb3JtPVwibmdGb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICB7eyBcIkZPTERFUlMuVElUTEVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1zdHlsZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2JvcmRlci1yZWQtNTAwJzogc3RhdGljRm9ybS50aXRsZSA9PT0gJy4uJyB9XCJcclxuICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzdGF0aWNGb3JtLnRpdGxlXCJcclxuICAgICAgICAgICAgaWQ9XCJmb2xkZXJUaXRsZVwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJmb2xkZXJUaXRsZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmVkLTUwMCB0ZXh0LWJhc2VcIiAqbmdJZj1cInN0YXRpY0Zvcm0udGl0bGUgPT09ICcuLidcIj5cclxuICAgICAgICAgICAgSW52YWxpZCBGb2xkZXIgVGl0bGVcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtc3R5bGVcIj5cclxuICAgICAgICAgICAge3sgXCJGT0xERVJTLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmllbGQtc3R5bGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXRpY0Zvcm0uZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICBpZD1cImZvbGRlckRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgbmFtZT1cImZvbGRlckRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICBcclxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtcGFydCAtbXgtNFwiICpuZ0lmPVwiZHluYW1pY0Zvcm0gJiYgc2hvd1JlbmRlcmVyXCI+XHJcbiAgICAgICAgPGFwcC1keW5hbWljLWZvcm1cclxuICAgICAgICAgIFtmb3JtXT1cImR5bmFtaWNGb3JtXCJcclxuICAgICAgICAgIFtkYXRhXT1cInRlbXBvcmFyeUR5YW5taWNEYXRhXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25keW5hbWljRm9ybUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9hcHAtZHluYW1pYy1mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSAgLS0+XHJcbiAgICA8IS0tIGFjdGlvbnMgYW5kIGJ1dHRvbnMgIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBkLWZsZXgganVzdGlmeS1iZXR3ZWVuIGFic29sdXRlIGJvdHRvbS0wIGFjdGlvbnNCdG5XcmFwcGVyXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjcmVhdGluZ1wiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIChjbGljayk9XCJjcmVhdGVEb2N1bWVudCgpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJcclxuICAgICAgICAgICAgIWR5bmFtaWNEYXRhLnZhbGlkIHx8IGZvbGRlckZvcm0uaW52YWxpZCB8fCBzdGF0aWNGb3JtLnRpdGxlID09PSAnLi4nXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnb3BhY2l0eS0zMCBjdXJzb3Itbm90LWFsbG93ZWQnOlxyXG4gICAgICAgICAgICAgICFkeW5hbWljRGF0YS52YWxpZCB8fFxyXG4gICAgICAgICAgICAgIGZvbGRlckZvcm0uaW52YWxpZCB8fFxyXG4gICAgICAgICAgICAgIHN0YXRpY0Zvcm0udGl0bGUgPT09ICcuLidcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgXCJCVVRUT05TLkNSRUFURVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uXCIgKm5nSWY9XCJjcmVhdGluZ1wiPlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lclxyXG4gICAgICAgICAgW3ZhbHVlXT1cIjkwXCJcclxuICAgICAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcclxuICAgICAgICAgIG92ZXJsYXk9XCJ0cnVlXCJcclxuICAgICAgICAgIFtkaWFtZXRlcl09XCIyNVwiXHJcbiAgICAgICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L21hdC1zcGlubmVyPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgXHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxhdGlvbi1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPlxyXG4gICAgICAgIHt7IFwiQlVUVE9OUy5DQU5DRUxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gICJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9mb2xkZXItbW9kYWwvZm9sZGVyLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9mb2xkZXItbW9kYWwvZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RSxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUk3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUUvRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU9yQyxNQUFNLE9BQU8sb0JBQ1osU0FBUSxtQkFBbUQ7SUFtQzNELFlBQ2lDLElBQUksRUFDNUIsU0FBNkMsRUFDN0MsaUJBQXFDLEVBQ3JDLGtCQUFzQyxFQUN0QyxhQUFrQyxFQUMxQyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFQZ0IsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0Is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QjtvQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzVDOzswQkFzQ0UsTUFBTTsyQkFBQyxlQUFlO2tNQVpDLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFFdkIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRBZnRlclZpZXdJbml0LFxyXG5cdENvbXBvbmVudCxcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0SW5qZWN0LFxyXG5cdEluamVjdG9yLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2R5bmFtaWMtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2Jhc2UvYmFzZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWZvbGRlci1tb2RhbCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2ZvbGRlci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vZm9sZGVyLW1vZGFsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvbGRlck1vZGFsQ29tcG9uZW50XHJcblx0ZXh0ZW5kcyBCYXNlRGlhbG9nQ29tcG9uZW50PEZvbGRlck1vZGFsQ29tcG9uZW50LCBhbnksIGFueT5cclxuXHRpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuXHRmb2xkZXJUeXBlO1xyXG5cdGR5bmFtaWNGb3JtO1xyXG5cdHRlbXBvcmFyeUR5YW5taWNEYXRhID0ge307XHJcblx0c2hvd1JlbmRlcmVyID0gZmFsc2U7XHJcblx0ZHluYW1pY0RhdGEgPSB7XHJcblx0XHR2YWxpZDogZmFsc2VcclxuXHR9O1xyXG5cdHN0YXRpY0Zvcm0gPSB7XHJcblx0XHR0aXRsZTogJycsXHJcblx0XHRkZXNjcmlwdGlvbjogJydcclxuXHRcdC8vIGRlcGFydG1lbnQ6JydcclxuXHR9O1xyXG5cclxuXHRmaWx0ZXIgPSB7fTtcclxuXHRmaWx0ZXIyID0ge307XHJcblx0cGFyZW50SWQgPSAnMic7XHJcblx0Y2hpbGRJZDtcclxuXHR0ZXN0aW5nRm9ybTogRm9ybUdyb3VwO1xyXG5cdHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblx0aXNEbXNGb2xkZXIgPSBmYWxzZTtcclxuXHRjcmVhdGluZyA9IGZhbHNlO1xyXG5cdEBWaWV3Q2hpbGQoJ2ZvbGRlckZvcm0nKSBmb2xkZXJGb3JtOiBGb3JtR3JvdXA7XHJcblx0QEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxyXG5cdEtleVVwRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuXHRcdGlmIChcclxuXHRcdFx0dGhpcy5keW5hbWljRGF0YS52YWxpZCAmJlxyXG5cdFx0XHQhdGhpcy5mb2xkZXJGb3JtLmludmFsaWQgJiZcclxuXHRcdFx0dGhpcy5zdGF0aWNGb3JtLnRpdGxlICE9ICcuLidcclxuXHRcdCkge1xyXG5cdFx0XHR0aGlzLmNyZWF0ZURvY3VtZW50KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhLFxyXG5cdFx0cHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGb2xkZXJNb2RhbENvbXBvbmVudD4sXHJcblx0XHRwcml2YXRlIGZpbGVNYW5nZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGR5bmFtaWNGb3JtU2VydmljZTogRHluYW1pY0Zvcm1TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yXHJcblx0KSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZm9sZGVyVHlwZSA9IHRoaXMuZGF0YS5mb2xkZXJUeXBlO1xyXG5cdFx0dGhpcy5keW5hbWljRm9ybSA9IHRoaXMuZGF0YS5keW5hbWljRm9ybTtcclxuXHRcdHRoaXMuZmlsZU1hbmdlclNlcnZpY2VcclxuXHRcdFx0LmdldEZpbGVTY2hlbWFzKHRoaXMuZm9sZGVyVHlwZS50eXBlKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChzY2hlbWFzKSA9PiB7XHJcblx0XHRcdFx0c2NoZW1hcy5tYXAoKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdGlmIChpdGVtLm5hbWUgPT09ICdkbXNmb2xkZXInKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNEbXNGb2xkZXIgPSB0cnVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblx0bmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0dGhpcy5zaG93UmVuZGVyZXIgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KCk7XHJcblx0XHR0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG5cdH1cclxuXHRvbmR5bmFtaWNGb3JtQ2hhbmdlKGR5bmFtaWNEYXRhKSB7XHJcblx0XHRpZiAoZHluYW1pY0RhdGEuZGF0YSkge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhkeW5hbWljRGF0YS5kYXRhKTtcclxuXHRcdFx0dGhpcy5keW5hbWljRGF0YSA9IHsgLi4uZHluYW1pY0RhdGEgfTtcclxuXHRcdH1cclxuXHR9XHJcblx0Y2xvc2VEaWFsb2coKSB7XHJcblx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcblx0fVxyXG5cclxuXHRjcmVhdGVEb2N1bWVudDogRGlhbG9nQWN0aW9uVHlwZSA9ICgpID0+IHtcclxuXHRcdHRoaXMuY3JlYXRpbmcgPSB0cnVlO1xyXG5cdFx0bGV0IHBhcmFtcyA9IHRoaXMuY29uc3RydWN0UGF5TG9hZChcclxuXHRcdFx0dGhpcy5keW5hbWljRGF0YVsnZGF0YSddLFxyXG5cdFx0XHR0aGlzLnN0YXRpY0Zvcm1cclxuXHRcdCk7XHJcblx0XHRyZXR1cm4gdGhpcy5maWxlTWFuZ2VyU2VydmljZVxyXG5cdFx0XHQuY3JlYXRlRm9sZGVyKHBhcmFtcywgdGhpcy5maWxlTWFuZ2VyU2VydmljZS5zZWxlY3RlZEZvbGRlcklkKVxyXG5cclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFwKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZU1hbmdlclNlcnZpY2Uub25SZWZyZXNoaW5nRmlsZU1hbmdlci5uZXh0KCk7XHJcblx0XHRcdFx0XHR0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0J1RPQVNURVIuRk9MREVSX0NSRUFURURfU1VDQ0UnXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZURpYWxvZygpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblx0fTtcclxuXHJcblx0Y29uc3RydWN0UGF5TG9hZChkeW5hbWljVmFsdWVzLCBzdGF0aWNGb3JtKSB7XHJcblx0XHQvLyBsZXQgcHJvcHMgPSB0aGlzLmNvbnN0cnVjdER5bmFtaWNGb3JtUGF5bG9hZChkeW5hbWljVmFsdWVzKTtcclxuXHRcdGxldCBwcm9wcyA9IHRoaXMuZHluYW1pY0Zvcm1TZXJ2aWNlLmNvbnN0cnVjdER5bmFtaWNGb3JtUGF5bG9hZChcclxuXHRcdFx0ZHluYW1pY1ZhbHVlcyxcclxuXHRcdFx0dGhpcy5keW5hbWljRm9ybVxyXG5cdFx0KTtcclxuXHRcdGxldCBwYXJhbSA9IHtcclxuXHRcdFx0ZG9jdW1lbnQ6IHtcclxuXHRcdFx0XHR0eXBlOiB0aGlzLmZvbGRlclR5cGUudHlwZSxcclxuXHRcdFx0XHRuYW1lOiBzdGF0aWNGb3JtLnRpdGxlLFxyXG5cdFx0XHRcdHByb3BlcnRpZXM6IHtcclxuXHRcdFx0XHRcdC4uLnByb3BzLFxyXG5cdFx0XHRcdFx0J2RjOmRlc2NyaXB0aW9uJzogc3RhdGljRm9ybS5kZXNjcmlwdGlvbixcclxuXHRcdFx0XHRcdCdkYzp0aXRsZSc6IHN0YXRpY0Zvcm0udGl0bGVcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0XHRpZiAodGhpcy5mb2xkZXJUeXBlLmRvY3VtZW50Q29kZSAmJiB0aGlzLmlzRG1zRm9sZGVyKSB7XHJcblx0XHRcdHBhcmFtWydkb2N1bWVudFR5cGVDb2RlJ10gPSB0aGlzLmZvbGRlclR5cGUuZG9jdW1lbnRDb2RlO1xyXG5cdFx0XHRwYXJhbVsnZG9jdW1lbnQnXVsncHJvcGVydGllcyddWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddID1cclxuXHRcdFx0XHR0aGlzLmZvbGRlclR5cGUuZG9jdW1lbnRDb2RlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHBhcmFtO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdpbmcoZGF0YSkge1xyXG5cdFx0Ly9jb25zb2xlLmxvZyhkYXRhKTtcclxuXHR9XHJcbn1cclxuIiwiPG5kZi1udXhlby1kaWFsb2cgZGlhbG9nVGl0bGU9XCJ7eyAnQ1JFQVRFLmNyZWF0ZUZvbGRlcicgfCB0cmFuc2xhdGUgfX1cIj5cclxuXHQ8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHRcdDxkaXZcclxuXHRcdFx0Y2xhc3M9XCJjcmVhdGUtZm9sZGVyLW1vZGFsIGQtZmxleCBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgcmVsYXRpdmUgaC1mdWxsXCJcclxuXHRcdD5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZvbGRlci13cmFwcGVyXCIgU2V0UnRsPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibGFiZWwtc3R5bGVcIj5cclxuXHRcdFx0XHRcdFx0e3sgJ0ZPTERFUlMuVFlQRScgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWdyYXktOTAwXCI+XHJcblx0XHRcdFx0XHRcdHt7IGlzQXJhYmljID8gZm9sZGVyVHlwZS5hcmFiaWNUZXh0IDogZm9sZGVyVHlwZS5lbmdsaXNoVGV4dCB9fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGZvcm0gI2ZvbGRlckZvcm09XCJuZ0Zvcm1cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7ICdGT0xERVJTLlRJVExFJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmaWVsZC1zdHlsZVwiXHJcblx0XHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwieyAnYm9yZGVyLXJlZC01MDAnOiBzdGF0aWNGb3JtLnRpdGxlID09PSAnLi4nIH1cIlxyXG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVkXHJcblx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzdGF0aWNGb3JtLnRpdGxlXCJcclxuXHRcdFx0XHRcdFx0XHRpZD1cImZvbGRlclRpdGxlXCJcclxuXHRcdFx0XHRcdFx0XHRuYW1lPVwiZm9sZGVyVGl0bGVcIlxyXG5cdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2XHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJ0ZXh0LXJlZC01MDAgdGV4dC1iYXNlXCJcclxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cInN0YXRpY0Zvcm0udGl0bGUgPT09ICcuLidcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0SW52YWxpZCBGb2xkZXIgVGl0bGVcclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7ICdGT0xERVJTLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmaWVsZC1zdHlsZVwiXHJcblx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzdGF0aWNGb3JtLmRlc2NyaXB0aW9uXCJcclxuXHRcdFx0XHRcdFx0XHRpZD1cImZvbGRlckRlc2NyaXB0aW9uXCJcclxuXHRcdFx0XHRcdFx0XHRuYW1lPVwiZm9sZGVyRGVzY3JpcHRpb25cIlxyXG5cdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9mb3JtPlxyXG5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZHluYW1pYy1wYXJ0IC1teC00XCIgKm5nSWY9XCJkeW5hbWljRm9ybSAmJiBzaG93UmVuZGVyZXJcIj5cclxuXHRcdFx0XHRcdDxhcHAtZHluYW1pYy1mb3JtXHJcblx0XHRcdFx0XHRcdFtmb3JtXT1cImR5bmFtaWNGb3JtXCJcclxuXHRcdFx0XHRcdFx0W2RhdGFdPVwidGVtcG9yYXJ5RHlhbm1pY0RhdGFcIlxyXG5cdFx0XHRcdFx0XHQoY2hhbmdlKT1cIm9uZHluYW1pY0Zvcm1DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHQ+PC9hcHAtZHluYW1pYy1mb3JtPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PCEtLSAgLS0+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHQ8bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWNyZWF0aW5nXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cInN1Ym1pc3Npb24tYnV0dG9uIHctNDRcIlxyXG5cdFx0XHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihjcmVhdGVEb2N1bWVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0e3sgJ0JVVFRPTlMuQ1JFQVRFJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvbmRmLW51eGVvLWRpYWxvZz5cclxuIl19