@sd-angular/core 1.1.79 → 1.1.82

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/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
  2. package/bundles/sd-angular-core-autocomplete.umd.js +31 -31
  3. package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
  4. package/bundles/sd-angular-core-autocomplete.umd.min.js +1 -1
  5. package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
  6. package/bundles/sd-angular-core-grid-material.umd.js +119 -112
  7. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  8. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  9. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  10. package/esm2015/autocomplete/src/lib/autocomplete.component.js +28 -28
  11. package/esm2015/grid-material/sd-angular-core-grid-material.js +31 -31
  12. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +2 -2
  13. package/esm2015/grid-material/src/lib/grid-material.component.js +15 -6
  14. package/esm2015/grid-material/src/lib/grid-material.module.js +2 -1
  15. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  16. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +5 -7
  17. package/fesm2015/sd-angular-core-autocomplete.js +27 -27
  18. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  19. package/fesm2015/sd-angular-core-grid-material.js +68 -61
  20. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  21. package/grid-material/sd-angular-core-grid-material.d.ts +30 -30
  22. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  23. package/grid-material/src/lib/grid-material.component.d.ts +4 -1
  24. package/grid-material/src/lib/models/grid.model.d.ts +1 -0
  25. package/grid-material/src/lib/pipes/editor-handler-column.pipe.d.ts +1 -2
  26. package/package.json +1 -1
  27. package/{sd-angular-core-1.1.79.tgz → sd-angular-core-1.1.82.tgz} +0 -0
@@ -213,33 +213,33 @@ export class SdAutocomplete {
213
213
  this.inputControl.valueChanges.pipe(debounceTime(__classPrivateFieldGet(this, _delay)))
214
214
  ]).pipe(switchMap(([items, searchText]) => {
215
215
  searchText = searchText || '';
216
- if (typeof (items) === 'function') {
217
- const key = hash({
218
- checksum: this.cacheChecksum || null,
219
- searchText
220
- });
221
- if (__classPrivateFieldGet(this, _cache)[key] !== undefined) {
222
- return __classPrivateFieldGet(this, _cache)[key].asObservable();
223
- }
224
- let obs;
225
- const func = items(searchText, false);
226
- if (func instanceof Promise) {
227
- obs = defer(() => from(func));
228
- }
229
- else {
230
- obs = func;
231
- }
232
- this.loading = true;
233
- return obs.pipe(map(data => {
234
- __classPrivateFieldGet(this, _cache)[key] = data || [];
235
- Object.assign(__classPrivateFieldGet(this, _item), Array.toObject(__classPrivateFieldGet(this, _cache)[key], this.valueField));
236
- return __classPrivateFieldGet(this, _cache)[key];
237
- }), finalize(() => this.loading = false));
216
+ if (typeof (items) !== 'function') {
217
+ return items
218
+ .search(searchText, [this.valueField, this.displayField])
219
+ .paging(this.limit)
220
+ .asObservable();
221
+ }
222
+ const key = hash({
223
+ checksum: this.cacheChecksum || null,
224
+ searchText
225
+ });
226
+ if (__classPrivateFieldGet(this, _cache)[key] !== undefined) {
227
+ return __classPrivateFieldGet(this, _cache)[key].asObservable();
228
+ }
229
+ let obs;
230
+ const func = items(searchText, false);
231
+ if (func instanceof Promise) {
232
+ obs = defer(() => from(func));
233
+ }
234
+ else {
235
+ obs = func;
238
236
  }
239
- return items
240
- .search(searchText, [this.valueField, this.displayField])
241
- .paging(this.limit)
242
- .asObservable();
237
+ this.loading = true;
238
+ return obs.pipe(map(data => {
239
+ __classPrivateFieldGet(this, _cache)[key] = data || [];
240
+ Object.assign(__classPrivateFieldGet(this, _item), Array.toObject(__classPrivateFieldGet(this, _cache)[key], this.valueField));
241
+ return __classPrivateFieldGet(this, _cache)[key];
242
+ }), finalize(() => this.loading = false));
243
243
  }));
244
244
  this.selected = combineLatest([
245
245
  __classPrivateFieldGet(this, _itemsChanges).asObservable(),
@@ -293,7 +293,7 @@ _model = new WeakMap(), _delay = new WeakMap(), _name = new WeakMap(), _form = n
293
293
  SdAutocomplete.decorators = [
294
294
  { type: Component, args: [{
295
295
  selector: 'sd-autocomplete',
296
- template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !autocompleteTrigger?.panelOpen && !isFocused; else default\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value, selectedItem: selected | async }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [floatLabel]=\"size === 'sm' || formControl.value ? 'always':'auto'\" [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" #autocompleteTrigger [formControl]=\"inputControl\" [placeholder]=\"controlPlaceHolder | async\"\r\n [ngClass]=\"{'c-selected': formControl?.value}\" [matAutocomplete]=\"auto\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n matInput [autocomplete]=\"id\" autocorrect=\"off\" [errorStateMatcher]=\"matcher\" [required]=\"isRequired\"\r\n [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" #input />\r\n <mat-icon *ngIf=\"!loading && formControl?.value && !inputControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon *ngIf=\"actionIcon && !loading && !formControl?.value && !inputControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"onAction($event)\" matSuffix>{{actionIcon}}\r\n </mat-icon>\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\" matSuffix>\r\n </mat-spinner>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelect($event.option.value)\">\r\n <ng-container *ngIf=\"filteredItems | async as items\">\r\n <ng-container *ngIf=\"items.length\">\r\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"displayField ? item[displayField] : item\">\r\n <ng-container *ngIf=\"autocompleteDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"autocompleteDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!autocompleteDisplayDef?.templateRef\">\r\n {{ displayField ? item[displayField] : item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <mat-option *ngIf=\"!items.length\" [value]=\"\" class=\"T14R text-grey\">\r\n Kh\u00F4ng c\u00F3 d\u1EEF li\u1EC7u\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>",
296
+ template: "<label *ngIf=\"!appearance && label\" class=\"d-block mb-0 T14M\">{{label}} <span class=\"text-danger mb-2\"\r\n *ngIf=\"isRequired\">*</span></label>\r\n<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !autocompleteTrigger?.panelOpen && !isFocused; else default\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value, selectedItem: selected | async }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n [floatLabel]=\"size === 'sm' || formControl.value ? 'always':'auto'\" [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" #autocompleteTrigger [formControl]=\"inputControl\" [placeholder]=\"controlPlaceHolder | async\"\r\n [ngClass]=\"{'c-selected': formControl?.value}\" [matAutocomplete]=\"auto\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n matInput [autocomplete]=\"id\" autocorrect=\"off\" [errorStateMatcher]=\"matcher\" [required]=\"isRequired\"\r\n [attr.data-qclabel]=\"label\" [attr.data-qcid]=\"qcId\" #input />\r\n <mat-icon *ngIf=\"!loading && formControl?.value && !inputControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon *ngIf=\"actionIcon && !loading && !formControl?.value && !inputControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"onAction($event)\" matSuffix>{{actionIcon}}\r\n </mat-icon>\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\" matSuffix>\r\n </mat-spinner>\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onSelect($event.option.value)\">\r\n <ng-container *ngIf=\"filteredItems | async as items\">\r\n <ng-container *ngIf=\"items.length\">\r\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"displayField ? item[displayField] : item\">\r\n <ng-container *ngIf=\"autocompleteDisplayDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"autocompleteDisplayDef.templateRef;context:{item: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!autocompleteDisplayDef?.templateRef\">\r\n {{ displayField ? item[displayField] : item }}\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n <mat-option *ngIf=\"!items.length && inputControl.value && !loading\" [value]=\"\" class=\"T14R text-grey\">\r\n Kh\u00F4ng c\u00F3 d\u1EEF li\u1EC7u\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>",
297
297
  changeDetection: ChangeDetectionStrategy.OnPush,
298
298
  styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.c-selected::-moz-placeholder{color:#000;opacity:1}:host ::ng-deep .mat-form-field input.c-selected::placeholder{color:#000;opacity:1}:host ::ng-deep .mat-form-field input.c-selected:-ms-input-placeholder{color:#000}:host ::ng-deep .mat-form-field input.c-selected::-ms-input-placeholder{color:#000}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::-moz-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected:-ms-input-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field input.mat-input-element:disabled.c-selected::-ms-input-placeholder{color:#4d4d4d}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}"]
299
299
  },] }
@@ -328,4 +328,4 @@ SdAutocomplete.propDecorators = {
328
328
  input: [{ type: ViewChild, args: ['input',] }],
329
329
  sdView: [{ type: ContentChild, args: [SdViewDefDirective,] }]
330
330
  };
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvYXV0b2NvbXBsZXRlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBSVosaUJBQWlCLEVBQ2pCLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQWUsTUFBTSxFQUFFLFVBQVUsRUFBZ0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBc0IsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0csTUFBTSwrQkFBK0I7SUFDbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBQ2pELFlBQVksQ0FBQyxPQUEyQixF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bUJBRUwsS0FBSztxQkFXTCxLQUFLLFNBQUMsT0FBTzt5QkFPYixLQUFLOzJCQUNMLEtBQUs7MEJBQ0wsS0FBSztvQkFHTCxLQUFLO29CQVlMLEtBQUs7NEJBR0wsS0FBSztvQkFJTCxLQUFLO3FDQUtMLFlBQVksU0FBQyxpQ0FBaUM7eUJBQzlDLEtBQUs7cUJBQ0wsTUFBTTswQkFDTixNQUFNO3VCQUNOLE1BQU07dUJBR04sS0FBSzt1QkFXTCxLQUFLO21DQUtMLEtBQUssU0FBQyxxQkFBcUI7b0JBSzNCLFNBQVMsU0FBQyxPQUFPO3FCQUNqQixZQUFZLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEluamVjdCxcclxuICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzdGFydFdpdGgsIHN3aXRjaE1hcCwgZGVib3VuY2VUaW1lLCBtYXAsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTmdGb3JtLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIEFzeW5jVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVmZXIsIGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgU2RBdXRvY29tcGxldGVEaXNwbGF5RGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtZGlzcGxheS1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEZPUk1fQ09ORklHLCBJRm9ybUNvbmZpZ3VyYXRpb24sIFNkRm9ybUNvbnRyb2wsIFNkVmlld0RlZkRpcmVjdGl2ZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5cclxuY2xhc3MgU2RBdXRvY29tcGxldGVFcnJvdFN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCkgeyB9XHJcbiAgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSBmb3JtICYmIGZvcm0uc3VibWl0dGVkO1xyXG4gICAgcmV0dXJuICEhKHRoaXMuZm9ybUNvbnRyb2w/LmludmFsaWQgJiYgKHRoaXMuZm9ybUNvbnRyb2w/LmRpcnR5IHx8IHRoaXMuZm9ybUNvbnRyb2w/LnRvdWNoZWQgfHwgaXNTdWJtaXR0ZWQpKTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RBdXRvY29tcGxldGUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgc2V0IGtleSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLiNjYWNoZSA9IHt9O1xyXG4gICAgdGhpcy4jaXRlbSA9IHt9O1xyXG4gIH1cclxuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIHsgcmVhZDogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9KSBhdXRvY29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGlkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gICNtb2RlbDogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAjZGVsYXkgPSAwOyAvLyBTYXUga2hv4bqjbmcgdGjhu51pIGdpYW4gZGVsYXkgbuG6v3Uga2jDtG5nIGPDsyB0aGF5IMSR4buVaSB0aMOsIHRow6wgbeG7m2kgYuG6r3QgxJHhuqd1IHRo4buxYyBoaeG7h24gZ+G7jWkgaMOgbVxyXG4gICNuYW1lID0gdXVpZC52NCgpO1xyXG4gIEBJbnB1dCgpIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuI25hbWUgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGlucHV0Q29udHJvbCA9IG5ldyBTZEZvcm1Db250cm9sKCk7XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gIG1hdGNoZXIgPSBuZXcgU2RBdXRvY29tcGxldGVFcnJvdFN0YXRlTWF0Y2hlcih0aGlzLmZvcm1Db250cm9sKTtcclxuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2xnJztcclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBxY0lkOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoJ2xhYmVsJykgc2V0IF9sYWJlbCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5sYWJlbCA9IHZhbDtcclxuICAgIHRoaXMucWNJZCA9IGhhc2goe1xyXG4gICAgICBzZWxlY3RvcjogJ3NkLWF1dG9jb21wbGV0ZScsXHJcbiAgICAgIGxhYmVsOiB2YWxcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgQElucHV0KCkgdmFsdWVGaWVsZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlGaWVsZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gICNpdGVtc0NoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdIHwgU2VhcmNoRnVuYz4oW10pO1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogdW5kZWZpbmVkIHwgYW55W10gfCBTZWFyY2hGdW5jKSB7XHJcbiAgICBpZiAoIWl0ZW1zKSB7XHJcbiAgICAgIHRoaXMuI2l0ZW1zQ2hhbmdlcy5uZXh0KFtdKTtcclxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShpdGVtcykpIHtcclxuICAgICAgdGhpcy4jaXRlbXNDaGFuZ2VzLm5leHQoaXRlbXMuZmlsdGVyKGUgPT4gZSAhPT0gbnVsbCAmJiBlICE9PSB1bmRlZmluZWQpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuI2l0ZW1zQ2hhbmdlcy5uZXh0KGl0ZW1zKTtcclxuICAgICAgdGhpcy4jZGVsYXkgPSA1MDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGxpbWl0ID0gMTAwO1xyXG4gIGZpbHRlcmVkSXRlbXM6IE9ic2VydmFibGU8YW55W10+O1xyXG5cclxuICBASW5wdXQoKSBjYWNoZUNoZWNrc3VtOiBhbnk7XHJcblxyXG4gIGNvbnRyb2xQbGFjZUhvbGRlcjogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIGNvbnRyb2xQbGFjZUhvbGRlcjI6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IHVuZGVmaW5lZCB8IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgdGhpcy4jbW9kZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZChTZEF1dG9jb21wbGV0ZURpc3BsYXlEZWZEaXJlY3RpdmUpIGF1dG9jb21wbGV0ZURpc3BsYXlEZWY6IFNkQXV0b2NvbXBsZXRlRGlzcGxheURlZkRpcmVjdGl2ZTtcclxuICBASW5wdXQoKSBhY3Rpb25JY29uOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IHJlcXVpcmVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdGhpcy4jdXBkYXRlVmFsaWRhdG9yKCk7XHJcbiAgfVxyXG4gIGRpc2FibGVFcnJvck1lc3NhZ2UgPSBmYWxzZTtcclxuICBASW5wdXQoJ2Rpc2FibGVFcnJvck1lc3NhZ2UnKSBzZXQgX2Rpc2FibGVFcnJvck1lc3NhZ2UodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuZGlzYWJsZUVycm9yTWVzc2FnZSA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gIH1cclxuICAjc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQENvbnRlbnRDaGlsZChTZFZpZXdEZWZEaXJlY3RpdmUpIHNkVmlldzogU2RWaWV3RGVmRGlyZWN0aXZlO1xyXG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gICNjYWNoZToge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55W11cclxuICB9ID0ge307XHJcbiAgI2l0ZW06IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueVxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBJbmplY3QoRk9STV9DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgZm9ybUNvbmZpZzogSUZvcm1Db25maWd1cmF0aW9uKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBwZWFyYW5jZSA9IHRoaXMuYXBwZWFyYW5jZSB8fCB0aGlzLmZvcm1Db25maWc/LmFwcGVhcmFuY2U7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuaW5wdXRDb250cm9sLnRvdWNoQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmlucHV0Q29udHJvbC5zZENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy4jaXRlbXNDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLFxyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGhpcy4jZGVsYXkpKV0pLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChbaXRlbXMsIHNlYXJjaFRleHRdKSA9PiB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dCB8fCAnJztcclxuICAgICAgICAgIGlmICh0eXBlb2YgKGl0ZW1zKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBoYXNoKHtcclxuICAgICAgICAgICAgICBjaGVja3N1bTogdGhpcy5jYWNoZUNoZWNrc3VtIHx8IG51bGwsXHJcbiAgICAgICAgICAgICAgc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuI2NhY2hlW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gaXRlbXMoc2VhcmNoVGV4dCwgZmFsc2UpO1xyXG4gICAgICAgICAgICBpZiAoZnVuYyBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICBvYnMgPSBkZWZlcigoKSA9PiBmcm9tKGZ1bmMpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnMgPSBmdW5jXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChkYXRhID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gZGF0YSB8fCBbXTtcclxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuI2l0ZW0sIEFycmF5LnRvT2JqZWN0KHRoaXMuI2NhY2hlW2tleV0sIHRoaXMudmFsdWVGaWVsZCkpO1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICAgICAgICB9KSwgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAuc2VhcmNoKHNlYXJjaFRleHQsIFt0aGlzLnZhbHVlRmllbGQsIHRoaXMuZGlzcGxheUZpZWxkXSlcclxuICAgICAgICAgICAgLnBhZ2luZyh0aGlzLmxpbWl0KVxyXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy4jaXRlbXNDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLFxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSldKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKFtpdGVtcywgdmFsXSkgPT4ge1xyXG4gICAgICAgICAgLy8gVsOsIG3hu5l0IHPhu5EgbMO9IGRvIGNoxrBhIHjDoWMgxJHhu4tuaCBtw6Aga2hpIHPhu60gZOG7pW5nIHNkVmlld0RlZiB0aMOsIGtoaSBjaHV54buDbiBzYW5nIGThuqFuZyB2aWV3IHPhur0gdHJpZ2dlciB2YWwgPSBudWxsXHJcbiAgICAgICAgICAvLyBOaMawbmcgZm9ybUNvbnRyb2wudmFsdWUgduG6q24gY8OzIGdpw6EgdHLhu4sgxJHDum5nIG7Dqm4gdGjhu7FjIGhp4buHbiBnw6FuIHZhbCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICB2YWwgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLnZhbHVlRmllbGQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodmFsIHx8IHZhbCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIChpdGVtcykgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICBpZiAodGhpcy4jaXRlbVt2YWxdKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy4jaXRlbVt2YWxdKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICAgICAgICAgICAgY29uc3QgZnVuYyA9IGl0ZW1zKHZhbCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGZ1bmMgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICAgICAgICBvYnMgPSBkZWZlcigoKSA9PiBmcm9tKGZ1bmMpKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgb2JzID0gZnVuYztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy4jaXRlbSwgQXJyYXkudG9PYmplY3QoZGF0YSwgdGhpcy52YWx1ZUZpZWxkKSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4jaXRlbVt2YWxdIHx8IHtcclxuICAgICAgICAgICAgICAgICAgW3RoaXMudmFsdWVGaWVsZF06IHZhbCxcclxuICAgICAgICAgICAgICAgICAgW3RoaXMuZGlzcGxheUZpZWxkXTogdmFsXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2YoaXRlbXMuZmluZChlID0+IGVbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdmFsKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoJycpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmNvbnRyb2xQbGFjZUhvbGRlciA9IHRoaXMuc2VsZWN0ZWQucGlwZShtYXAoaXRlbSA9PiBpdGVtPy5bdGhpcy5kaXNwbGF5RmllbGRdID8/IGl0ZW0gPz8gdGhpcy5wbGFjZWhvbGRlciA/PyB0aGlzLmxhYmVsID8/ICcnKSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5hZGRDb250cm9sKHRoaXMuI25hbWUsIHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgaWYgKHR5cGVvZiAoaXRlbSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAoaXRlbSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT09IGl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGl0ZW0/Llt0aGlzLnZhbHVlRmllbGRdIHx8IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT09IHZhbCkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWwpO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKCcnLCB7XHJcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSgnJyk7XHJcbiAgICAvLyB0aGlzLmlucHV0Q29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUoJycsIHtcclxuICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuc2RWaWV3Py50ZW1wbGF0ZVJlZikge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQgJiYgIXRoaXMuaXNGb2N1c2VkKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBibHVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyPy5vcGVuUGFuZWwoKTtcclxuICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG5cclxuICBjbGVhciA9ICgkZXZlbnQ/OiBhbnkpID0+IHtcclxuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmlucHV0Q29udHJvbD8uc2V0VmFsdWUoJycpO1xyXG4gICAgaWYgKHRoaXMuI21vZGVsKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb24gPSAoJGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlcj8uY2xvc2VQYW5lbCgpO1xyXG4gICAgdGhpcy5hY3Rpb24uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaW5wdXRDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlVmFsaWRhdG9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIC8vIGNvbnN0IGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgIC8vICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgLy8gdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBTZWFyY2hGdW5jID0gKHNlYXJjaFRleHQ/OiBzdHJpbmcgfCBudW1iZXIsIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueVtdPjsiXX0=
331
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvYXV0b2NvbXBsZXRlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBSVosaUJBQWlCLEVBQ2pCLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQWUsTUFBTSxFQUFFLFVBQVUsRUFBZ0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBc0IsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0csTUFBTSwrQkFBK0I7SUFDbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBQ2pELFlBQVksQ0FBQyxPQUEyQixF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cUJBV0wsS0FBSyxTQUFDLE9BQU87eUJBT2IsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBR0wsS0FBSztvQkFZTCxLQUFLOzRCQUdMLEtBQUs7b0JBSUwsS0FBSztxQ0FLTCxZQUFZLFNBQUMsaUNBQWlDO3lCQUM5QyxLQUFLO3FCQUNMLE1BQU07MEJBQ04sTUFBTTt1QkFDTixNQUFNO3VCQUdOLEtBQUs7dUJBV0wsS0FBSzttQ0FLTCxLQUFLLFNBQUMscUJBQXFCO29CQUszQixTQUFTLFNBQUMsT0FBTztxQkFDakIsWUFBWSxTQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBJbmplY3QsXHJcbiAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIGRlYm91bmNlVGltZSwgbWFwLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIE5nRm9ybSwgVmFsaWRhdG9ycywgRm9ybUdyb3VwRGlyZWN0aXZlLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IFNkQXV0b2NvbXBsZXRlRGlzcGxheURlZkRpcmVjdGl2ZSB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWRpc3BsYXktZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBGT1JNX0NPTkZJRywgSUZvcm1Db25maWd1cmF0aW9uLCBTZEZvcm1Db250cm9sLCBTZFZpZXdEZWZEaXJlY3RpdmUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuXHJcbmNsYXNzIFNkQXV0b2NvbXBsZXRlRXJyb3RTdGF0ZU1hdGNoZXIgaW1wbGVtZW50cyBFcnJvclN0YXRlTWF0Y2hlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHsgfVxyXG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlzU3VibWl0dGVkID0gZm9ybSAmJiBmb3JtLnN1Ym1pdHRlZDtcclxuICAgIHJldHVybiAhISh0aGlzLmZvcm1Db250cm9sPy5pbnZhbGlkICYmICh0aGlzLmZvcm1Db250cm9sPy5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sPy50b3VjaGVkIHx8IGlzU3VibWl0dGVkKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWF1dG9jb21wbGV0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQXV0b2NvbXBsZXRlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIHNldCBrZXkodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy4jY2FjaGUgPSB7fTtcclxuICAgIHRoaXMuI2l0ZW0gPSB7fTtcclxuICB9XHJcbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyLCB7IHJlYWQ6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIgfSkgYXV0b2NvbXBsZXRlVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICAjbW9kZWw6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgI2RlbGF5ID0gMDsgLy8gU2F1IGtob+G6o25nIHRo4budaSBnaWFuIGRlbGF5IG7hur91IGtow7RuZyBjw7MgdGhheSDEkeG7lWkgdGjDrCB0aMOsIG3hu5tpIGLhuq90IMSR4bqndSB0aOG7sWMgaGnhu4duIGfhu41pIGjDoG1cclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBpbnB1dENvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gIGZvcm1Db250cm9sID0gbmV3IFNkRm9ybUNvbnRyb2woKTtcclxuICBtYXRjaGVyID0gbmV3IFNkQXV0b2NvbXBsZXRlRXJyb3RTdGF0ZU1hdGNoZXIodGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcWNJZDogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCdsYWJlbCcpIHNldCBfbGFiZWwodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubGFiZWwgPSB2YWw7XHJcbiAgICB0aGlzLnFjSWQgPSBoYXNoKHtcclxuICAgICAgc2VsZWN0b3I6ICdzZC1hdXRvY29tcGxldGUnLFxyXG4gICAgICBsYWJlbDogdmFsXHJcbiAgICB9KTtcclxuICB9O1xyXG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAjaXRlbXNDaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXSB8IFNlYXJjaEZ1bmM+KFtdKTtcclxuICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IHVuZGVmaW5lZCB8IGFueVtdIHwgU2VhcmNoRnVuYykge1xyXG4gICAgaWYgKCFpdGVtcykge1xyXG4gICAgICB0aGlzLiNpdGVtc0NoYW5nZXMubmV4dChbXSk7XHJcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoaXRlbXMpKSB7XHJcbiAgICAgIHRoaXMuI2l0ZW1zQ2hhbmdlcy5uZXh0KGl0ZW1zLmZpbHRlcihlID0+IGUgIT09IG51bGwgJiYgZSAhPT0gdW5kZWZpbmVkKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLiNpdGVtc0NoYW5nZXMubmV4dChpdGVtcyk7XHJcbiAgICAgIHRoaXMuI2RlbGF5ID0gNTAwO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBsaW1pdCA9IDEwMDtcclxuICBmaWx0ZXJlZEl0ZW1zOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuXHJcbiAgQElucHV0KCkgY2FjaGVDaGVja3N1bTogYW55O1xyXG5cclxuICBjb250cm9sUGxhY2VIb2xkZXI6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBjb250cm9sUGxhY2VIb2xkZXIyOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bWJlcj47XHJcbiAgQElucHV0KCkgc2V0IG1vZGVsKHZhbHVlOiB1bmRlZmluZWQgfCBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuI21vZGVsID0gdmFsdWU7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoU2RBdXRvY29tcGxldGVEaXNwbGF5RGVmRGlyZWN0aXZlKSBhdXRvY29tcGxldGVEaXNwbGF5RGVmOiBTZEF1dG9jb21wbGV0ZURpc3BsYXlEZWZEaXJlY3RpdmU7XHJcbiAgQElucHV0KCkgYWN0aW9uSWNvbjogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy8gT3B0aW9uYWxcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5lbmFibGUoKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xyXG4gIEBDb250ZW50Q2hpbGQoU2RWaWV3RGVmRGlyZWN0aXZlKSBzZFZpZXc6IFNkVmlld0RlZkRpcmVjdGl2ZTtcclxuICBpc0ZvY3VzZWQgPSBmYWxzZTtcclxuICBzZWxlY3RlZDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueVtdXHJcbiAgfSA9IHt9O1xyXG4gICNpdGVtOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICB9ID0ge307XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KEZPUk1fQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Db25maWc6IElGb3JtQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFwcGVhcmFuY2UgPSB0aGlzLmFwcGVhcmFuY2UgfHwgdGhpcy5mb3JtQ29uZmlnPy5hcHBlYXJhbmNlO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmlucHV0Q29udHJvbC50b3VjaENoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmZvcm1Db250cm9sLnNkQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5pbnB1dENvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMuI2l0ZW1zQ2hhbmdlcy5hc09ic2VydmFibGUoKSxcclxuICAgICAgdGhpcy5pbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuI2RlbGF5KSldKS5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoW2l0ZW1zLCBzZWFyY2hUZXh0XSkgPT4ge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQgfHwgJyc7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIChpdGVtcykgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zXHJcbiAgICAgICAgICAgICAgLnNlYXJjaChzZWFyY2hUZXh0LCBbdGhpcy52YWx1ZUZpZWxkLCB0aGlzLmRpc3BsYXlGaWVsZF0pXHJcbiAgICAgICAgICAgICAgLnBhZ2luZyh0aGlzLmxpbWl0KVxyXG4gICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IGtleSA9IGhhc2goe1xyXG4gICAgICAgICAgICBjaGVja3N1bTogdGhpcy5jYWNoZUNoZWNrc3VtIHx8IG51bGwsXHJcbiAgICAgICAgICAgIHNlYXJjaFRleHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHRoaXMuI2NhY2hlW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jY2FjaGVba2V5XS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgICAgICAgY29uc3QgZnVuYyA9IGl0ZW1zKHNlYXJjaFRleHQsIGZhbHNlKTtcclxuICAgICAgICAgIGlmIChmdW5jIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICBvYnMgPSBkZWZlcigoKSA9PiBmcm9tKGZ1bmMpKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG9icyA9IGZ1bmNcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gb2JzLnBpcGUobWFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gZGF0YSB8fCBbXTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLiNpdGVtLCBBcnJheS50b09iamVjdCh0aGlzLiNjYWNoZVtrZXldLCB0aGlzLnZhbHVlRmllbGQpKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgICAgICB9KSwgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLiNpdGVtc0NoYW5nZXMuYXNPYnNlcnZhYmxlKCksXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpKV0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoW2l0ZW1zLCB2YWxdKSA9PiB7XHJcbiAgICAgICAgICAvLyBWw6wgbeG7mXQgc+G7kSBsw70gZG8gY2jGsGEgeMOhYyDEkeG7i25oIG3DoCBraGkgc+G7rSBk4bulbmcgc2RWaWV3RGVmIHRow6wga2hpIGNodXnhu4NuIHNhbmcgZOG6oW5nIHZpZXcgc+G6vSB0cmlnZ2VyIHZhbCA9IG51bGxcclxuICAgICAgICAgIC8vIE5oxrBuZyBmb3JtQ29udHJvbC52YWx1ZSB24bqrbiBjw7MgZ2nDoSB0cuG7iyDEkcO6bmcgbsOqbiB0aOG7sWMgaGnhu4duIGfDoW4gdmFsID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuICAgICAgICAgIHZhbCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBpZiAoIXRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodmFsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh2YWwgfHwgdmFsID09PSAwKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgKGl0ZW1zKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLiNpdGVtW3ZhbF0pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLiNpdGVtW3ZhbF0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgICAgICAgICAgICBjb25zdCBmdW5jID0gaXRlbXModmFsLCB0cnVlKTtcclxuICAgICAgICAgICAgICBpZiAoZnVuYyBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgIG9icyA9IGRlZmVyKCgpID0+IGZyb20oZnVuYykpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBvYnMgPSBmdW5jO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gb2JzLnBpcGUobWFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLiNpdGVtLCBBcnJheS50b09iamVjdChkYXRhLCB0aGlzLnZhbHVlRmllbGQpKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiNpdGVtW3ZhbF0gfHwge1xyXG4gICAgICAgICAgICAgICAgICBbdGhpcy52YWx1ZUZpZWxkXTogdmFsLFxyXG4gICAgICAgICAgICAgICAgICBbdGhpcy5kaXNwbGF5RmllbGRdOiB2YWxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBvZihpdGVtcy5maW5kKGUgPT4gZVt0aGlzLnZhbHVlRmllbGRdID09PSB2YWwpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZignJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIHRoaXMuY29udHJvbFBsYWNlSG9sZGVyID0gdGhpcy5zZWxlY3RlZC5waXBlKG1hcChpdGVtID0+IGl0ZW0/Llt0aGlzLmRpc3BsYXlGaWVsZF0gPz8gaXRlbSA/PyB0aGlzLnBsYWNlaG9sZGVyID8/IHRoaXMubGFiZWwgPz8gJycpKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy4jZm9ybT8ucmVtb3ZlQ29udHJvbCh0aGlzLiNuYW1lKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ID0gKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgaWYgKHR5cGVvZiAoaXRlbSkgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiAoaXRlbSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT09IGl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGl0ZW0/Llt0aGlzLnZhbHVlRmllbGRdIHx8IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgIT09IHZhbCkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWwpO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKCcnLCB7XHJcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSgnJyk7XHJcbiAgICAvLyB0aGlzLmlucHV0Q29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUoJycsIHtcclxuICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuc2RWaWV3Py50ZW1wbGF0ZVJlZikge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQgJiYgIXRoaXMuaXNGb2N1c2VkKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBibHVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyPy5vcGVuUGFuZWwoKTtcclxuICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG5cclxuICBjbGVhciA9ICgkZXZlbnQ/OiBhbnkpID0+IHtcclxuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmlucHV0Q29udHJvbD8uc2V0VmFsdWUoJycpO1xyXG4gICAgaWYgKHRoaXMuI21vZGVsKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb24gPSAoJGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlcj8uY2xvc2VQYW5lbCgpO1xyXG4gICAgdGhpcy5hY3Rpb24uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaW5wdXRDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlVmFsaWRhdG9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIC8vIGNvbnN0IGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgIC8vICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgLy8gdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBTZWFyY2hGdW5jID0gKHNlYXJjaFRleHQ/OiBzdHJpbmcgfCBudW1iZXIsIGlzRm9ybVZhbHVlPzogYm9vbGVhbikgPT4gUHJvbWlzZTxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueVtdPjsiXX0=
@@ -2,46 +2,46 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- export { SdColumnInlineFilter as ɵq } from './src/lib/components/column-inline-filter/column-inline-filter.component';
6
- export { SdDesktopCellChildrenView as ɵo } from './src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component';
7
- export { SdDesktopCellEditor as ɵl } from './src/lib/components/desktop-cell-editor/desktop-cell-editor.component';
8
- export { SdDesktopCellView as ɵn } from './src/lib/components/desktop-cell-view/desktop-cell-view.component';
9
- export { SdDesktopCell as ɵk } from './src/lib/components/desktop-cell/desktop-cell.component';
10
- export { SdDesktopCommand as ɵp } from './src/lib/components/desktop-command/desktop-command.component';
11
- export { SdDesktopEditorValidation as ɵm } from './src/lib/components/desktop-editor-validation/desktop-editor-validation.component';
12
- export { SdDynamicColumn as ɵs } from './src/lib/components/dynamic-column/dynamic-column.component';
5
+ export { SdColumnInlineFilter as ɵr } from './src/lib/components/column-inline-filter/column-inline-filter.component';
6
+ export { SdDesktopCellChildrenView as ɵp } from './src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component';
7
+ export { SdDesktopCellEditor as ɵm } from './src/lib/components/desktop-cell-editor/desktop-cell-editor.component';
8
+ export { SdDesktopCellView as ɵo } from './src/lib/components/desktop-cell-view/desktop-cell-view.component';
9
+ export { SdDesktopCell as ɵl } from './src/lib/components/desktop-cell/desktop-cell.component';
10
+ export { SdDesktopCommand as ɵq } from './src/lib/components/desktop-command/desktop-command.component';
11
+ export { SdDesktopEditorValidation as ɵn } from './src/lib/components/desktop-editor-validation/desktop-editor-validation.component';
12
+ export { SdDynamicColumn as ɵt } from './src/lib/components/dynamic-column/dynamic-column.component';
13
13
  export { SdGridFilter as ɵb } from './src/lib/components/grid-filter/grid-filter.component';
14
14
  export { SdPopupExport as ɵe } from './src/lib/components/popup-export/popup-export.component';
15
15
  export { SdPopupFilter as ɵc } from './src/lib/components/popup-filter/popup-filter.component';
16
- export { SdPopupGridConfiguration as ɵr } from './src/lib/components/popup-grid-configuration/popup-grid-configuration.component';
17
- export { SdGridQuickAction as ɵj } from './src/lib/components/quick-action/quick-action.component';
16
+ export { SdPopupGridConfiguration as ɵs } from './src/lib/components/popup-grid-configuration/popup-grid-configuration.component';
17
+ export { SdGridQuickAction as ɵk } from './src/lib/components/quick-action/quick-action.component';
18
18
  export { MatPaginatorIntlCro as ɵa } from './src/lib/grid-material.module';
19
19
  export { GRID_MATERIAL_CONFIG as ɵg } from './src/lib/models/grid-configuration.model';
20
20
  export { SdCellViewPipe as ɵbp } from './src/lib/pipes/cell-view.pipe';
21
- export { SdColumnBadgePipe as ɵbe } from './src/lib/pipes/column-badge.pipe';
22
- export { SdColumnChildrenFilterPipe as ɵv } from './src/lib/pipes/column-children-filter.pipe';
23
- export { SdColumnHtmlTemplatePipe as ɵbb } from './src/lib/pipes/column-html-template.pipe';
24
- export { SdColumnTitlePipe as ɵw } from './src/lib/pipes/column-title.pipe';
25
- export { SdColumnTooltipPipe as ɵbd } from './src/lib/pipes/column-tooltip.pipe';
26
- export { SdColumnTransformPipe as ɵbc } from './src/lib/pipes/column-transform.pipe';
21
+ export { SdColumnBadgePipe as ɵbf } from './src/lib/pipes/column-badge.pipe';
22
+ export { SdColumnChildrenFilterPipe as ɵw } from './src/lib/pipes/column-children-filter.pipe';
23
+ export { SdColumnHtmlTemplatePipe as ɵbc } from './src/lib/pipes/column-html-template.pipe';
24
+ export { SdColumnTitlePipe as ɵx } from './src/lib/pipes/column-title.pipe';
25
+ export { SdColumnTooltipPipe as ɵbe } from './src/lib/pipes/column-tooltip.pipe';
26
+ export { SdColumnTransformPipe as ɵbd } from './src/lib/pipes/column-transform.pipe';
27
27
  export { SdColumnValuesPipe as ɵi } from './src/lib/pipes/column-values.pipe';
28
- export { SdCommandDisablePipe as ɵy } from './src/lib/pipes/command-disable.pipe';
29
- export { SdCommandFilterPipe as ɵx } from './src/lib/pipes/command-filter.pipe';
30
- export { SdCommandIconPipe as ɵz } from './src/lib/pipes/command-icon.pipe';
31
- export { SdCommandTitlePipe as ɵba } from './src/lib/pipes/command-title.pipe';
32
- export { SdEditorHandlerColumnPipe as ɵbm } from './src/lib/pipes/editor-handler-column.pipe';
33
- export { SdEditorHandlerRowPipe as ɵbl } from './src/lib/pipes/editor-handler-row.pipe';
28
+ export { SdCommandDisablePipe as ɵz } from './src/lib/pipes/command-disable.pipe';
29
+ export { SdCommandFilterPipe as ɵy } from './src/lib/pipes/command-filter.pipe';
30
+ export { SdCommandIconPipe as ɵba } from './src/lib/pipes/command-icon.pipe';
31
+ export { SdCommandTitlePipe as ɵbb } from './src/lib/pipes/command-title.pipe';
32
+ export { SdEditorHandlerColumnPipe as ɵj } from './src/lib/pipes/editor-handler-column.pipe';
33
+ export { SdEditorHandlerRowPipe as ɵbm } from './src/lib/pipes/editor-handler-row.pipe';
34
34
  export { SdEditorValidatePipe as ɵbn } from './src/lib/pipes/editor-validate.pipe';
35
- export { SdFilterColumnPipe as ɵbf } from './src/lib/pipes/filter-column.pipe';
36
- export { SdFilterExternalPipe as ɵbg } from './src/lib/pipes/filter-external.pipe';
37
- export { SdGridConfigurationResultPipe as ɵu } from './src/lib/pipes/grid-configuration-result.pipe';
35
+ export { SdFilterColumnPipe as ɵbg } from './src/lib/pipes/filter-column.pipe';
36
+ export { SdFilterExternalPipe as ɵbh } from './src/lib/pipes/filter-external.pipe';
37
+ export { SdGridConfigurationResultPipe as ɵv } from './src/lib/pipes/grid-configuration-result.pipe';
38
38
  export { SdGroupPipe as ɵbq } from './src/lib/pipes/sd-group.pipe';
39
- export { SdSelectionActionFilterPipe as ɵbh } from './src/lib/pipes/selection-action-filter.pipe';
40
- export { SdSelectionDisablePipe as ɵbj } from './src/lib/pipes/selection-disable.pipe';
41
- export { SdSelectionVisibleSelectAllPipe as ɵbk } from './src/lib/pipes/selection-visible-select-all.pipe';
42
- export { SdSelectionVisiblePipe as ɵbi } from './src/lib/pipes/selection-visible.pipe';
39
+ export { SdSelectionActionFilterPipe as ɵbi } from './src/lib/pipes/selection-action-filter.pipe';
40
+ export { SdSelectionDisablePipe as ɵbk } from './src/lib/pipes/selection-disable.pipe';
41
+ export { SdSelectionVisibleSelectAllPipe as ɵbl } from './src/lib/pipes/selection-visible-select-all.pipe';
42
+ export { SdSelectionVisiblePipe as ɵbj } from './src/lib/pipes/selection-visible.pipe';
43
43
  export { SdStyleRowCss as ɵbo } from './src/lib/pipes/style-row-css.pipe';
44
- export { SdGeneratedColumnService as ɵt } from './src/lib/services/generated-column/generated-column.service';
44
+ export { SdGeneratedColumnService as ɵu } from './src/lib/services/generated-column/generated-column.service';
45
45
  export { SdGridConfigurationService as ɵh } from './src/lib/services/grid-configuration.service';
46
46
  export { SdGridFilterService as ɵd } from './src/lib/services/grid-filter.service';
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWdyaWQtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzZC1hbmd1bGFyLWNvcmUtZ3JpZC1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUNwSCxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RyxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDbkksT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDaEksT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFvQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hILE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMseUJBQXlCLElBQUksR0FBRyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDNUYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFDLCtCQUErQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDL0YsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtTZENvbHVtbklubGluZUZpbHRlciBhcyDJtXF9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi1pbmxpbmUtZmlsdGVyL2NvbHVtbi1pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NkRGVza3RvcENlbGxDaGlsZHJlblZpZXcgYXMgybVvfSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZERlc2t0b3BDZWxsRWRpdG9yIGFzIMm1bH0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLWVkaXRvci9kZXNrdG9wLWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge1NkRGVza3RvcENlbGxWaWV3IGFzIMm1bn0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wQ2VsbCBhcyDJtWt9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC9kZXNrdG9wLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wQ29tbWFuZCBhcyDJtXB9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtY29tbWFuZC9kZXNrdG9wLWNvbW1hbmQuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wRWRpdG9yVmFsaWRhdGlvbiBhcyDJtW19IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtZWRpdG9yLXZhbGlkYXRpb24vZGVza3RvcC1lZGl0b3ItdmFsaWRhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTZER5bmFtaWNDb2x1bW4gYXMgybVzfSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNvbHVtbi9keW5hbWljLWNvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTZEdyaWRGaWx0ZXIgYXMgybVifSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwRXhwb3J0IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAtZXhwb3J0L3BvcHVwLWV4cG9ydC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwRmlsdGVyIGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAtZmlsdGVyL3BvcHVwLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwR3JpZENvbmZpZ3VyYXRpb24gYXMgybVyfSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9wb3B1cC1ncmlkLWNvbmZpZ3VyYXRpb24vcG9wdXAtZ3JpZC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1NkR3JpZFF1aWNrQWN0aW9uIGFzIMm1an0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcXVpY2stYWN0aW9uL3F1aWNrLWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXRQYWdpbmF0b3JJbnRsQ3JvIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2dyaWQtbWF0ZXJpYWwubW9kdWxlJztcbmV4cG9ydCB7R1JJRF9NQVRFUklBTF9DT05GSUcgYXMgybVnLElTZEdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb24gYXMgybVmfSBmcm9tICcuL3NyYy9saWIvbW9kZWxzL2dyaWQtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5leHBvcnQge1NkQ2VsbFZpZXdQaXBlIGFzIMm1YnB9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jZWxsLXZpZXcucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uQmFkZ2VQaXBlIGFzIMm1YmV9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jb2x1bW4tYmFkZ2UucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uQ2hpbGRyZW5GaWx0ZXJQaXBlIGFzIMm1dn0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi1jaGlsZHJlbi1maWx0ZXIucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uSHRtbFRlbXBsYXRlUGlwZSBhcyDJtWJifSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLWh0bWwtdGVtcGxhdGUucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uVGl0bGVQaXBlIGFzIMm1d30gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi10aXRsZS5waXBlJztcbmV4cG9ydCB7U2RDb2x1bW5Ub29sdGlwUGlwZSBhcyDJtWJkfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uVHJhbnNmb3JtUGlwZSBhcyDJtWJjfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLXRyYW5zZm9ybS5waXBlJztcbmV4cG9ydCB7U2RDb2x1bW5WYWx1ZXNQaXBlIGFzIMm1aX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi12YWx1ZXMucGlwZSc7XG5leHBvcnQge1NkQ29tbWFuZERpc2FibGVQaXBlIGFzIMm1eX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbW1hbmQtZGlzYWJsZS5waXBlJztcbmV4cG9ydCB7U2RDb21tYW5kRmlsdGVyUGlwZSBhcyDJtXh9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jb21tYW5kLWZpbHRlci5waXBlJztcbmV4cG9ydCB7U2RDb21tYW5kSWNvblBpcGUgYXMgybV6fSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29tbWFuZC1pY29uLnBpcGUnO1xuZXhwb3J0IHtTZENvbW1hbmRUaXRsZVBpcGUgYXMgybViYX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XG5leHBvcnQge1NkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUgYXMgybVibX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2VkaXRvci1oYW5kbGVyLWNvbHVtbi5waXBlJztcbmV4cG9ydCB7U2RFZGl0b3JIYW5kbGVyUm93UGlwZSBhcyDJtWJsfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvZWRpdG9yLWhhbmRsZXItcm93LnBpcGUnO1xuZXhwb3J0IHtTZEVkaXRvclZhbGlkYXRlUGlwZSBhcyDJtWJufSBmcm9tICcuL3NyYy9saWIvcGlwZXMvZWRpdG9yLXZhbGlkYXRlLnBpcGUnO1xuZXhwb3J0IHtTZEZpbHRlckNvbHVtblBpcGUgYXMgybViZn0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2ZpbHRlci1jb2x1bW4ucGlwZSc7XG5leHBvcnQge1NkRmlsdGVyRXh0ZXJuYWxQaXBlIGFzIMm1Ymd9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9maWx0ZXItZXh0ZXJuYWwucGlwZSc7XG5leHBvcnQge1NkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlIGFzIMm1dX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2dyaWQtY29uZmlndXJhdGlvbi1yZXN1bHQucGlwZSc7XG5leHBvcnQge1NkR3JvdXBQaXBlIGFzIMm1YnF9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zZC1ncm91cC5waXBlJztcbmV4cG9ydCB7U2RTZWxlY3Rpb25BY3Rpb25GaWx0ZXJQaXBlIGFzIMm1Ymh9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zZWxlY3Rpb24tYWN0aW9uLWZpbHRlci5waXBlJztcbmV4cG9ydCB7U2RTZWxlY3Rpb25EaXNhYmxlUGlwZSBhcyDJtWJqfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvc2VsZWN0aW9uLWRpc2FibGUucGlwZSc7XG5leHBvcnQge1NkU2VsZWN0aW9uVmlzaWJsZVNlbGVjdEFsbFBpcGUgYXMgybVia30gZnJvbSAnLi9zcmMvbGliL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLXNlbGVjdC1hbGwucGlwZSc7XG5leHBvcnQge1NkU2VsZWN0aW9uVmlzaWJsZVBpcGUgYXMgybViaX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLnBpcGUnO1xuZXhwb3J0IHtTZFN0eWxlUm93Q3NzIGFzIMm1Ym99IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zdHlsZS1yb3ctY3NzLnBpcGUnO1xuZXhwb3J0IHtTZEdlbmVyYXRlZENvbHVtblNlcnZpY2UgYXMgybV0fSBmcm9tICcuL3NyYy9saWIvc2VydmljZXMvZ2VuZXJhdGVkLWNvbHVtbi9nZW5lcmF0ZWQtY29sdW1uLnNlcnZpY2UnO1xuZXhwb3J0IHtTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSBhcyDJtWh9IGZyb20gJy4vc3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1NkR3JpZEZpbHRlclNlcnZpY2UgYXMgybVkfSBmcm9tICcuL3NyYy9saWIvc2VydmljZXMvZ3JpZC1maWx0ZXIuc2VydmljZSc7Il19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWdyaWQtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzZC1hbmd1bGFyLWNvcmUtZ3JpZC1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUNwSCxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7QUFDckksT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RyxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDbkksT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDaEksT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFvQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hILE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDM0YsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFDLCtCQUErQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDL0YsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtTZENvbHVtbklubGluZUZpbHRlciBhcyDJtXJ9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi1pbmxpbmUtZmlsdGVyL2NvbHVtbi1pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NkRGVza3RvcENlbGxDaGlsZHJlblZpZXcgYXMgybVwfSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtTZERlc2t0b3BDZWxsRWRpdG9yIGFzIMm1bX0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLWVkaXRvci9kZXNrdG9wLWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge1NkRGVza3RvcENlbGxWaWV3IGFzIMm1b30gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wQ2VsbCBhcyDJtWx9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC9kZXNrdG9wLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wQ29tbWFuZCBhcyDJtXF9IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtY29tbWFuZC9kZXNrdG9wLWNvbW1hbmQuY29tcG9uZW50JztcbmV4cG9ydCB7U2REZXNrdG9wRWRpdG9yVmFsaWRhdGlvbiBhcyDJtW59IGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AtZWRpdG9yLXZhbGlkYXRpb24vZGVza3RvcC1lZGl0b3ItdmFsaWRhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTZER5bmFtaWNDb2x1bW4gYXMgybV0fSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNvbHVtbi9keW5hbWljLWNvbHVtbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTZEdyaWRGaWx0ZXIgYXMgybVifSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwRXhwb3J0IGFzIMm1ZX0gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAtZXhwb3J0L3BvcHVwLWV4cG9ydC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwRmlsdGVyIGFzIMm1Y30gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcG9wdXAtZmlsdGVyL3BvcHVwLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTZFBvcHVwR3JpZENvbmZpZ3VyYXRpb24gYXMgybVzfSBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cy9wb3B1cC1ncmlkLWNvbmZpZ3VyYXRpb24vcG9wdXAtZ3JpZC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1NkR3JpZFF1aWNrQWN0aW9uIGFzIMm1a30gZnJvbSAnLi9zcmMvbGliL2NvbXBvbmVudHMvcXVpY2stYWN0aW9uL3F1aWNrLWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXRQYWdpbmF0b3JJbnRsQ3JvIGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2dyaWQtbWF0ZXJpYWwubW9kdWxlJztcbmV4cG9ydCB7R1JJRF9NQVRFUklBTF9DT05GSUcgYXMgybVnLElTZEdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb24gYXMgybVmfSBmcm9tICcuL3NyYy9saWIvbW9kZWxzL2dyaWQtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5leHBvcnQge1NkQ2VsbFZpZXdQaXBlIGFzIMm1YnB9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jZWxsLXZpZXcucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uQmFkZ2VQaXBlIGFzIMm1YmZ9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jb2x1bW4tYmFkZ2UucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uQ2hpbGRyZW5GaWx0ZXJQaXBlIGFzIMm1d30gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi1jaGlsZHJlbi1maWx0ZXIucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uSHRtbFRlbXBsYXRlUGlwZSBhcyDJtWJjfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLWh0bWwtdGVtcGxhdGUucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uVGl0bGVQaXBlIGFzIMm1eH0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi10aXRsZS5waXBlJztcbmV4cG9ydCB7U2RDb2x1bW5Ub29sdGlwUGlwZSBhcyDJtWJlfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XG5leHBvcnQge1NkQ29sdW1uVHJhbnNmb3JtUGlwZSBhcyDJtWJkfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvY29sdW1uLXRyYW5zZm9ybS5waXBlJztcbmV4cG9ydCB7U2RDb2x1bW5WYWx1ZXNQaXBlIGFzIMm1aX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbHVtbi12YWx1ZXMucGlwZSc7XG5leHBvcnQge1NkQ29tbWFuZERpc2FibGVQaXBlIGFzIMm1en0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbW1hbmQtZGlzYWJsZS5waXBlJztcbmV4cG9ydCB7U2RDb21tYW5kRmlsdGVyUGlwZSBhcyDJtXl9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jb21tYW5kLWZpbHRlci5waXBlJztcbmV4cG9ydCB7U2RDb21tYW5kSWNvblBpcGUgYXMgybViYX0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2NvbW1hbmQtaWNvbi5waXBlJztcbmV4cG9ydCB7U2RDb21tYW5kVGl0bGVQaXBlIGFzIMm1YmJ9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9jb21tYW5kLXRpdGxlLnBpcGUnO1xuZXhwb3J0IHtTZEVkaXRvckhhbmRsZXJDb2x1bW5QaXBlIGFzIMm1an0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2VkaXRvci1oYW5kbGVyLWNvbHVtbi5waXBlJztcbmV4cG9ydCB7U2RFZGl0b3JIYW5kbGVyUm93UGlwZSBhcyDJtWJtfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvZWRpdG9yLWhhbmRsZXItcm93LnBpcGUnO1xuZXhwb3J0IHtTZEVkaXRvclZhbGlkYXRlUGlwZSBhcyDJtWJufSBmcm9tICcuL3NyYy9saWIvcGlwZXMvZWRpdG9yLXZhbGlkYXRlLnBpcGUnO1xuZXhwb3J0IHtTZEZpbHRlckNvbHVtblBpcGUgYXMgybViZ30gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2ZpbHRlci1jb2x1bW4ucGlwZSc7XG5leHBvcnQge1NkRmlsdGVyRXh0ZXJuYWxQaXBlIGFzIMm1Ymh9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9maWx0ZXItZXh0ZXJuYWwucGlwZSc7XG5leHBvcnQge1NkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlIGFzIMm1dn0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL2dyaWQtY29uZmlndXJhdGlvbi1yZXN1bHQucGlwZSc7XG5leHBvcnQge1NkR3JvdXBQaXBlIGFzIMm1YnF9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zZC1ncm91cC5waXBlJztcbmV4cG9ydCB7U2RTZWxlY3Rpb25BY3Rpb25GaWx0ZXJQaXBlIGFzIMm1Yml9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zZWxlY3Rpb24tYWN0aW9uLWZpbHRlci5waXBlJztcbmV4cG9ydCB7U2RTZWxlY3Rpb25EaXNhYmxlUGlwZSBhcyDJtWJrfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvc2VsZWN0aW9uLWRpc2FibGUucGlwZSc7XG5leHBvcnQge1NkU2VsZWN0aW9uVmlzaWJsZVNlbGVjdEFsbFBpcGUgYXMgybVibH0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLXNlbGVjdC1hbGwucGlwZSc7XG5leHBvcnQge1NkU2VsZWN0aW9uVmlzaWJsZVBpcGUgYXMgybVian0gZnJvbSAnLi9zcmMvbGliL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLnBpcGUnO1xuZXhwb3J0IHtTZFN0eWxlUm93Q3NzIGFzIMm1Ym99IGZyb20gJy4vc3JjL2xpYi9waXBlcy9zdHlsZS1yb3ctY3NzLnBpcGUnO1xuZXhwb3J0IHtTZEdlbmVyYXRlZENvbHVtblNlcnZpY2UgYXMgybV1fSBmcm9tICcuL3NyYy9saWIvc2VydmljZXMvZ2VuZXJhdGVkLWNvbHVtbi9nZW5lcmF0ZWQtY29sdW1uLnNlcnZpY2UnO1xuZXhwb3J0IHtTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSBhcyDJtWh9IGZyb20gJy4vc3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQge1NkR3JpZEZpbHRlclNlcnZpY2UgYXMgybVkfSBmcm9tICcuL3NyYy9saWIvc2VydmljZXMvZ3JpZC1maWx0ZXIuc2VydmljZSc7Il19
@@ -7,7 +7,7 @@ export class SdDesktopCell {
7
7
  SdDesktopCell.decorators = [
8
8
  { type: Component, args: [{
9
9
  selector: 'sd-desktop-cell',
10
- template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:column:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn && item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx, isEdited: true }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-editor *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-editor>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #useView>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-view *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [key]=\"key\" [column]=\"column\" [gridOption]=\"gridOption\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
10
+ template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn && item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx, isEdited: true }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-editor *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-editor>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #useView>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-view *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [key]=\"key\" [column]=\"column\" [gridOption]=\"gridOption\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
11
11
  changeDetection: ChangeDetectionStrategy.OnPush
12
12
  },] }
13
13
  ];
@@ -22,4 +22,4 @@ SdDesktopCell.propDecorators = {
22
22
  cellDef: [{ type: Input }],
23
23
  idx: [{ type: Input }]
24
24
  };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVza3RvcC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wLWNlbGwvZGVza3RvcC1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQVVyRixNQUFNLE9BQU8sYUFBYTtJQVd4QjtRQUpTLFlBQU8sR0FFWixFQUFFLENBQUM7SUFHSCxDQUFDOzs7WUFqQk4sU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLG01Q0FBNEM7Z0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7O21CQUVFLEtBQUs7b0JBQ0wsS0FBSztrQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUNMLEtBQUs7a0JBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1kZXNrdG9wLWNlbGwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXNrdG9wLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZERlc2t0b3BDZWxsIHtcclxuICBASW5wdXQoKSBzZElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uO1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICBASW5wdXQoKSBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbjtcclxuICBASW5wdXQoKSBjZWxsRGVmOiB7XHJcbiAgICBbY29sdW1uOiBzdHJpbmddOiBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZVxyXG4gIH0gPSB7fTtcclxuICBASW5wdXQoKSBpZHg6IG51bWJlcjtcclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG59XHJcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVza3RvcC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wLWNlbGwvZGVza3RvcC1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQVVyRixNQUFNLE9BQU8sYUFBYTtJQVd4QjtRQUpTLFlBQU8sR0FFWixFQUFFLENBQUM7SUFHSCxDQUFDOzs7WUFqQk4sU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDQ0Q0FBNEM7Z0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7O21CQUVFLEtBQUs7b0JBQ0wsS0FBSztrQkFDTCxLQUFLO3FCQUNMLEtBQUs7bUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUNMLEtBQUs7a0JBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1kZXNrdG9wLWNlbGwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXNrdG9wLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZERlc2t0b3BDZWxsIHtcclxuICBASW5wdXQoKSBzZElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uO1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICBASW5wdXQoKSBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbjtcclxuICBASW5wdXQoKSBjZWxsRGVmOiB7XHJcbiAgICBbY29sdW1uOiBzdHJpbmddOiBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZVxyXG4gIH0gPSB7fTtcclxuICBASW5wdXQoKSBpZHg6IG51bWJlcjtcclxuICBjb25zdHJ1Y3RvcihcclxuICApIHsgfVxyXG59XHJcbiJdfQ==