@eo-sdk/client 11.2.1 → 11.2.2

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.
@@ -35,7 +35,7 @@ let LastEditedAndCreatedSetupComponent = class LastEditedAndCreatedSetupComponen
35
35
  lastEdited: [true],
36
36
  lastCreated: [true],
37
37
  sortRevert: [],
38
- number: [10, [Validators.max(100), Validators.min(3), Validators.required]],
38
+ number: [10, [Validators.max(50), Validators.min(3), Validators.required]],
39
39
  });
40
40
  this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
41
41
  this.setWidgetConfig();
@@ -63,7 +63,7 @@ let LastEditedAndCreatedSetupComponent = class LastEditedAndCreatedSetupComponen
63
63
  }
64
64
  }
65
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedSetupComponent, selector: "eo-last-edited-and-created-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, viewQueries: [{ propertyName: "lastEditedAndCreated", first: true, predicate: LastEditedAndCreatedComponent, descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate>\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i6.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i7.LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedSetupComponent, selector: "eo-last-edited-and-created-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, viewQueries: [{ propertyName: "lastEditedAndCreated", first: true, predicate: LastEditedAndCreatedComponent, descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate [translateParams]=\"{min: 3, max: 50}\">\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i6.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i7.LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
67
67
  };
68
68
  LastEditedAndCreatedSetupComponent = __decorate([
69
69
  UntilDestroy()
@@ -71,7 +71,7 @@ LastEditedAndCreatedSetupComponent = __decorate([
71
71
  export { LastEditedAndCreatedSetupComponent };
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'eo-last-edited-and-created-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate>\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"] }]
74
+ args: [{ selector: 'eo-last-edited-and-created-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate [translateParams]=\"{min: 3, max: 50}\">\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"] }]
75
75
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { widgetConfigChange: [{
76
76
  type: Output
77
77
  }], widgetConfigStateChange: [{
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
82
82
  }], widgetConfig: [{
83
83
  type: Input
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQtc2V0dXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUzVFLElBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBZ0I3QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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LGdEQ2xCMUMsNDhEQXlDQTs7QUQzQmEsa0NBQWtDO0lBRDlDLFlBQVksRUFBRTtHQUNGLGtDQUFrQyxDQTZEOUM7OzJGQTdEWSxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0Usa0NBQWtDO3VGQVFsQyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNtQyxvQkFBb0I7c0JBQTdELFNBQVM7dUJBQUMsNkJBQTZCO2dCQVkzQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZH0gZnJvbSAnLi4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbFN0YXR1cywgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIExhc3RFZGl0ZWRBbmRDcmVhdGVkU2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0U2V0dXBDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogTGFzdEVkaXRlZEFuZENyZWF0ZWQ7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExhc3RFZGl0ZWRBbmRDcmVhdGVkPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBAVmlld0NoaWxkKExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50KSBsYXN0RWRpdGVkQW5kQ3JlYXRlZDtcbiAgaXNFbXB0eSA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0VkaXRlZENoZWNrZWQgPSBmYWxzZTtcbiAgaXNDcmVhdGVkQ2hlY2tlZCA9IGZhbHNlO1xuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBsYXN0RWRpdGVkOiBbdHJ1ZV0sXG4gICAgbGFzdENyZWF0ZWQ6IFt0cnVlXSxcbiAgICBzb3J0UmV2ZXJ0OiBbXSxcbiAgICBudW1iZXI6IFsxMCwgW1ZhbGlkYXRvcnMubWF4KDEwMCksIFZhbGlkYXRvcnMubWluKDMpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gIH0pO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogTGFzdEVkaXRlZEFuZENyZWF0ZWQpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgbGFzdEVkaXRlZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkID09PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkLFxuICAgICAgbGFzdENyZWF0ZWQ6IHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkLFxuICAgICAgc29ydFJldmVydDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0ID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0IDogJycsXG4gICAgICBudW1iZXI6IHRoaXMuX3dpZGdldENvbmZpZz8ubnVtYmVyID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIgOiAxMCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICAgIHRoaXMuaXNDcmVhdGVkQ2hlY2tlZCA9ICF0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQ7XG4gICAgICB0aGlzLmlzRWRpdGVkQ2hlY2tlZCA9ICF0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0dXBGb3JtLnN0YXR1c0NoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh2KSA9PiB7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ1N0YXRlQ2hhbmdlLmVtaXQodik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzRW1wdHkgPSB0aGlzLmxhc3RFZGl0ZWRBbmRDcmVhdGVkLmVtcHR5O1xuICAgIH0sIDIwMCk7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHtcbiAgICAgICAgLi4uIHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5lZGl0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RFZGl0ZWRcIiBbcmVhZG9ubHldPVwiaXNFZGl0ZWRDaGVja2VkXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmNyZWF0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RDcmVhdGVkXCIgW3JlYWRvbmx5XT1cImlzQ3JlYXRlZENoZWNrZWRcIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zaXplJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlclwiPjwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICBAaWYgKHNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgQGlmIChzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICAgIGVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWRcbiAgICAgICAgfSBAZWxzZSBpZiAoc2V0dXBGb3JtLmdldCgnbnVtYmVyJykuaGFzRXJyb3IoJ21heCcpIHx8IHNldHVwRm9ybS5nZXQoJ3NpemUnKS5oYXNFcnJvcignbWluJykpIHtcbiAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5wYXJ0aWFsVmFsdWVcbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zb3J0UmV2ZXJ0J3x0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJzb3J0UmV2ZXJ0XCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvZm9ybT5cbjwvZGl2PlxuXG5AaWYgKGlzRW1wdHkpIHtcbiAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LmVtcHR5TGlzdCd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwicHJldmlld1wiPlxuICAgIDxlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8tbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQ+XG4gIDwvZGl2PlxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQtc2V0dXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUzVFLElBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBZ0I3QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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LGdEQ2xCMUMsby9EQXlDQTs7QUQzQmEsa0NBQWtDO0lBRDlDLFlBQVksRUFBRTtHQUNGLGtDQUFrQyxDQTZEOUM7OzJGQTdEWSxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0Usa0NBQWtDO3VGQVFsQyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNtQyxvQkFBb0I7c0JBQTdELFNBQVM7dUJBQUMsNkJBQTZCO2dCQVkzQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZH0gZnJvbSAnLi4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbFN0YXR1cywgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIExhc3RFZGl0ZWRBbmRDcmVhdGVkU2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0U2V0dXBDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogTGFzdEVkaXRlZEFuZENyZWF0ZWQ7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExhc3RFZGl0ZWRBbmRDcmVhdGVkPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBAVmlld0NoaWxkKExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50KSBsYXN0RWRpdGVkQW5kQ3JlYXRlZDtcbiAgaXNFbXB0eSA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0VkaXRlZENoZWNrZWQgPSBmYWxzZTtcbiAgaXNDcmVhdGVkQ2hlY2tlZCA9IGZhbHNlO1xuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBsYXN0RWRpdGVkOiBbdHJ1ZV0sXG4gICAgbGFzdENyZWF0ZWQ6IFt0cnVlXSxcbiAgICBzb3J0UmV2ZXJ0OiBbXSxcbiAgICBudW1iZXI6IFsxMCwgW1ZhbGlkYXRvcnMubWF4KDUwKSwgVmFsaWRhdG9ycy5taW4oMyksIFZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgfSk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBMYXN0RWRpdGVkQW5kQ3JlYXRlZCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBsYXN0RWRpdGVkOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQsXG4gICAgICBsYXN0Q3JlYXRlZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0Q3JlYXRlZCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQsXG4gICAgICBzb3J0UmV2ZXJ0OiB0aGlzLl93aWRnZXRDb25maWc/LnNvcnRSZXZlcnQgPyB0aGlzLl93aWRnZXRDb25maWc/LnNvcnRSZXZlcnQgOiAnJyxcbiAgICAgIG51bWJlcjogdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIgPyB0aGlzLl93aWRnZXRDb25maWc/Lm51bWJlciA6IDEwLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgICAgdGhpcy5pc0NyZWF0ZWRDaGVja2VkID0gIXRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZDtcbiAgICAgIHRoaXMuaXNFZGl0ZWRDaGVja2VkID0gIXRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQ7XG4gICAgfSk7XG4gICAgdGhpcy5zZXR1cEZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UuZW1pdCh2KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNFbXB0eSA9IHRoaXMubGFzdEVkaXRlZEFuZENyZWF0ZWQuZW1wdHk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHtcbiAgICAgICAgLi4uIHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5lZGl0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RFZGl0ZWRcIiBbcmVhZG9ubHldPVwiaXNFZGl0ZWRDaGVja2VkXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmNyZWF0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RDcmVhdGVkXCIgW3JlYWRvbmx5XT1cImlzQ3JlYXRlZENoZWNrZWRcIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zaXplJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlclwiPjwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICBAaWYgKHNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiIHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInttaW46IDMsIG1heDogNTB9XCI+XG4gICAgICAgIEBpZiAoc2V0dXBGb3JtLmdldCgnbnVtYmVyJykuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkXG4gICAgICAgIH0gQGVsc2UgaWYgKHNldHVwRm9ybS5nZXQoJ251bWJlcicpLmhhc0Vycm9yKCdtYXgnKSB8fCBzZXR1cEZvcm0uZ2V0KCdzaXplJykuaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICAgICAgZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24ucGFydGlhbFZhbHVlXG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZW8tZm9ybS1pbnB1dCBjbGFzcz1cImxhYmVsIGNoZWNrYm94XCIgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuc29ydFJldmVydCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICBbc2tpcFRvZ2dsZV09XCJ0cnVlXCI+XG4gICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwic29ydFJldmVydFwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG48L2Rpdj5cblxuQGlmIChpc0VtcHR5KSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5lbXB0eUxpc3QnfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICA8ZW8tbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQgW3dpZGdldENvbmZpZ109XCJ3aWRnZXRDb25maWdcIj48L2VvLWxhc3QtZWRpdGVkLWFuZC1jcmVhdGVkPlxuICA8L2Rpdj5cbn1cbiJdfQ==