@handsontable/angular-wrapper 0.0.0-next-0621805-20260123 → 0.0.0-next-ded650a-20260126

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 (30) hide show
  1. package/README.md +0 -1
  2. package/esm2022/lib/editor/custom-editor-placeholder.component.mjs +5 -8
  3. package/esm2022/lib/editor/hot-cell-editor.component.mjs +1 -2
  4. package/esm2022/lib/hot-table.component.mjs +8 -8
  5. package/esm2022/lib/hot-table.module.mjs +2 -2
  6. package/esm2022/lib/models/column-settings.mjs +1 -1
  7. package/esm2022/lib/renderer/hot-dynamic-renderer-component.service.mjs +10 -62
  8. package/esm2022/lib/services/hot-global-config.service.mjs +1 -2
  9. package/esm2022/lib/services/hot-settings-resolver.service.mjs +17 -54
  10. package/esm2022/public-api.mjs +1 -4
  11. package/fesm2022/handsontable-angular-wrapper.mjs +130 -498
  12. package/fesm2022/handsontable-angular-wrapper.mjs.map +1 -1
  13. package/lib/editor/custom-editor-placeholder.component.d.ts +2 -4
  14. package/lib/editor/hot-cell-editor.component.d.ts +0 -1
  15. package/lib/hot-table.component.d.ts +2 -3
  16. package/lib/models/column-settings.d.ts +2 -4
  17. package/lib/renderer/hot-dynamic-renderer-component.service.d.ts +0 -19
  18. package/lib/services/hot-settings-resolver.service.d.ts +0 -3
  19. package/package.json +1 -1
  20. package/public-api.d.ts +0 -3
  21. package/esm2022/lib/editor/editor-factory-adapter.mjs +0 -140
  22. package/esm2022/lib/editor/hot-cell-editor-advanced.component.mjs +0 -92
  23. package/esm2022/lib/editor/models/factory-editor-properties.mjs +0 -2
  24. package/esm2022/lib/editor/models/keyboard-shortcut-config.mjs +0 -2
  25. package/esm2022/lib/renderer/hot-cell-renderer-advanced.component.mjs +0 -55
  26. package/lib/editor/editor-factory-adapter.d.ts +0 -13
  27. package/lib/editor/hot-cell-editor-advanced.component.d.ts +0 -74
  28. package/lib/editor/models/factory-editor-properties.d.ts +0 -24
  29. package/lib/editor/models/keyboard-shortcut-config.d.ts +0 -13
  30. package/lib/renderer/hot-cell-renderer-advanced.component.d.ts +0 -33
package/README.md CHANGED
@@ -78,7 +78,6 @@ Import Handsontable's CSS into your application's `styles.scss`:
78
78
 
79
79
  ```scss
80
80
  @import "handsontable/styles/handsontable.min.css";
81
- @import "handsontable/styles/ht-theme-main.min.css";
82
81
  ```
83
82
 
84
83
  ### Register Handsontable's modules
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Component representing a placeholder for a custom editor in Handsontable.
@@ -16,7 +16,6 @@ export class CustomEditorPlaceholderComponent {
16
16
  set isVisible(value) {
17
17
  this._isVisible = value;
18
18
  }
19
- placeholderCustomClass = 'handsontableInputHolder ht_clone_master';
20
19
  /** The reference to the component instance of the editor. */
21
20
  set componentRef(hotEditorComponentRef) {
22
21
  if (hotEditorComponentRef) {
@@ -37,8 +36,8 @@ export class CustomEditorPlaceholderComponent {
37
36
  this.container.detach();
38
37
  }
39
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditorPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomEditorPlaceholderComponent, selector: "ng-component", inputs: { top: "top", left: "left", height: "height", width: "width", isVisible: "isVisible", placeholderCustomClass: "placeholderCustomClass", componentRef: "componentRef" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["inputPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div
41
- [class]="placeholderCustomClass"
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomEditorPlaceholderComponent, selector: "ng-component", inputs: { top: "top", left: "left", height: "height", width: "width", isVisible: "isVisible", componentRef: "componentRef" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["inputPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div
40
+ class="handsontableInputHolder ht_clone_master"
42
41
  [style.display]="display"
43
42
  [style.width.px]="width"
44
43
  [style.height.px]="height"
@@ -54,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
53
  type: Component,
55
54
  args: [{
56
55
  template: ` <div
57
- [class]="placeholderCustomClass"
56
+ class="handsontableInputHolder ht_clone_master"
58
57
  [style.display]="display"
59
58
  [style.width.px]="width"
60
59
  [style.height.px]="height"
@@ -78,12 +77,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
77
  type: Input
79
78
  }], isVisible: [{
80
79
  type: Input
81
- }], placeholderCustomClass: [{
82
- type: Input
83
80
  }], componentRef: [{
84
81
  type: Input
85
82
  }], container: [{
86
83
  type: ViewChild,
87
84
  args: ['inputPlaceholder', { read: ViewContainerRef, static: true }]
88
85
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJckg7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0Msc0NBQXNDO0lBQzdCLEdBQUcsQ0FBUztJQUVyQix1Q0FBdUM7SUFDOUIsSUFBSSxDQUFTO0lBRXRCLGdDQUFnQztJQUN2QixNQUFNLENBQVM7SUFFeEIsK0JBQStCO0lBQ3RCLEtBQUssQ0FBUztJQUV2QixJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFUSxzQkFBc0IsR0FBRyx5Q0FBeUMsQ0FBQztJQUU1RSw2REFBNkQ7SUFDN0QsSUFBYSxZQUFZLENBQ3ZCLHFCQUNpRDtRQUNqRCxJQUFJLHFCQUFxQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUNpQixTQUFTLENBQW1CO0lBRXJHLHVDQUF1QztJQUN2QyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFTyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTNCOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0E1Q1UsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0MsOFRBOEJKLGdCQUFnQiwyQ0E3QzdDOzs7Ozs7Ozs7OztTQVdIOzs0RkFJSSxnQ0FBZ0M7a0JBaEI1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7U0FXSDtvQkFDUCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzhCQUdVLEdBQUc7c0JBQVgsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7Z0JBS0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU21FLFNBQVM7c0JBQWpGLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQgfSBmcm9tICcuL2hvdC1jZWxsLWVkaXRvci1hZHZhbmNlZC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYSBwbGFjZWhvbGRlciBmb3IgYSBjdXN0b20gZWRpdG9yIGluIEhhbmRzb250YWJsZS5cbiAqIEl0IGlzIHVzZWQgb25seSB3aXRoaW4gdGhlIHdyYXBwZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCA8ZGl2XG4gICAgW2NsYXNzXT1cInBsYWNlaG9sZGVyQ3VzdG9tQ2xhc3NcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cImRpc3BsYXlcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICAgIFtzdHlsZS5tYXhXaWR0aC5weF09XCJ3aWR0aFwiXG4gICAgW3N0eWxlLm1heEhlaWdodC5weF09XCJoZWlnaHRcIlxuICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICBbc3R5bGUubGVmdC5weF09XCJsZWZ0XCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRQbGFjZWhvbGRlcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IHtcbiAgLyoqIFRoZSB0b3AgcG9zaXRpb24gb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgdG9wOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBsZWZ0IHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIGxlZnQ6IG51bWJlcjtcblxuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgc2V0IGlzVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzVmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXJDdXN0b21DbGFzcyA9ICdoYW5kc29udGFibGVJbnB1dEhvbGRlciBodF9jbG9uZV9tYXN0ZXInO1xuXG4gIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgc2V0IGNvbXBvbmVudFJlZihcbiAgICBob3RFZGl0b3JDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+IHxcbiAgICBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50PGFueT4+KSB7XG4gICAgaWYgKGhvdEVkaXRvckNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb250YWluZXIuaW5zZXJ0KGhvdEVkaXRvckNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSBjb250YWluZXIgZm9yIHRoZSBlZGl0b3IncyBpbnB1dCBwbGFjZWhvbGRlci4gKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXRQbGFjZWhvbGRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKiogVGhlIGRpc3BsYXkgc3R5bGUgb2YgdGhlIGVkaXRvci4gKi9cbiAgZ2V0IGRpc3BsYXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlID8gJ2Jsb2NrJyA6ICdub25lJztcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmlzaWJsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRhY2hlcyB0aGUgY29udGFpbmVyIGZyb20gdGhlIEhhbmRzb250YWJsZS5cbiAgICovXG4gIGRldGFjaEVkaXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lci5kZXRhY2goKTtcbiAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7O0FBR3ZCOzs7R0FHRztBQWlCSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLHNDQUFzQztJQUM3QixHQUFHLENBQVM7SUFFckIsdUNBQXVDO0lBQzlCLElBQUksQ0FBUztJQUV0QixnQ0FBZ0M7SUFDdkIsTUFBTSxDQUFTO0lBRXhCLCtCQUErQjtJQUN0QixLQUFLLENBQVM7SUFFdkIsSUFDSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQWEsWUFBWSxDQUN2QixxQkFBZ0U7UUFFaEUsSUFBSSxxQkFBcUIsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDaUIsU0FBUyxDQUFtQjtJQUVyRyx1Q0FBdUM7SUFDdkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRU8sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUUzQjs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBMUNVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLDRRQTRCSixnQkFBZ0IsMkNBM0M3Qzs7Ozs7Ozs7Ozs7U0FXSDs7NEZBSUksZ0NBQWdDO2tCQWhCNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O1NBV0g7b0JBQ1AsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs4QkFHVSxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO2dCQU1PLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU21FLFNBQVM7c0JBQWpGLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgcGxhY2Vob2xkZXIgZm9yIGEgY3VzdG9tIGVkaXRvciBpbiBIYW5kc29udGFibGUuXG4gKiBJdCBpcyB1c2VkIG9ubHkgd2l0aGluIHRoZSB3cmFwcGVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGAgPGRpdlxuICAgIGNsYXNzPVwiaGFuZHNvbnRhYmxlSW5wdXRIb2xkZXIgaHRfY2xvbmVfbWFzdGVyXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4V2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInRvcFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2lucHV0UGxhY2Vob2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21FZGl0b3JQbGFjZWhvbGRlckNvbXBvbmVudCB7XG4gIC8qKiBUaGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIHRvcDogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbGVmdCBwb3NpdGlvbiBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSBsZWZ0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpc1Zpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc1Zpc2libGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgc2V0IGNvbXBvbmVudFJlZihcbiAgICBob3RFZGl0b3JDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+XG4gICkge1xuICAgIGlmIChob3RFZGl0b3JDb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmluc2VydChob3RFZGl0b3JDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY29udGFpbmVyIGZvciB0aGUgZWRpdG9yJ3MgaW5wdXQgcGxhY2Vob2xkZXIuICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqIFRoZSBkaXNwbGF5IHN0eWxlIG9mIHRoZSBlZGl0b3IuICovXG4gIGdldCBkaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSc7XG4gIH1cblxuICBwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0YWNoZXMgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBIYW5kc29udGFibGUuXG4gICAqL1xuICBkZXRhY2hFZGl0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXIuZGV0YWNoKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,6 @@ import * as i0 from "@angular/core";
4
4
  * Abstract class representing a Handsontable editor in angular.
5
5
  */
6
6
  export class HotCellEditorComponent {
7
- static EDITOR_MARKER = Symbol('HotCellEditorComponent');
8
7
  /** The tabindex attribute for the editor. */
9
8
  tabindex = -1;
10
9
  /** The data-hot-input attribute for the editor. */
@@ -92,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
91
  }], cancelEdit: [{
93
92
  type: Output
94
93
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLE1BQU0sQ0FBVSxhQUFhLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFakUsNkNBQTZDO0lBQ0wsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXRELG1EQUFtRDtJQUNMLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFaEUsa0RBQWtEO0lBQ0Esc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0lBRWhGLHdFQUF3RTtJQUMvQix3QkFBd0IsR0FBRyxHQUFHLENBQUM7SUFFeEUsdUVBQXVFO0lBQy9CLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztJQUV0RSw4Q0FBOEM7SUFDckMsR0FBRyxDQUFTO0lBRXJCLGlEQUFpRDtJQUN4QyxNQUFNLENBQVM7SUFFeEIsa0RBQWtEO0lBQ3pDLElBQUksQ0FBa0I7SUFFL0IsbURBQW1EO0lBQzFDLGFBQWEsQ0FBSTtJQUUxQixvREFBb0Q7SUFDM0MsY0FBYyxDQUFpQjtJQUV4Qzs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhEOztPQUVHO0lBQ08sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEQsdUNBQXVDO0lBQy9CLE1BQU0sQ0FBSTtJQUVsQjs7OERBRTBEO0lBQzFELE9BQU8sS0FBVSxDQUFDO0lBRWxCOzs4REFFMEQ7SUFDMUQsTUFBTSxDQUFDLEtBQWEsSUFBUyxDQUFDO0lBb0I5Qjs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7d0dBeEZtQixzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEM0MsU0FBUzs4QkFLZ0MsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxlQUFlO2dCQUdrQixZQUFZO3NCQUF6RCxXQUFXO3VCQUFDLHFCQUFxQjtnQkFHZ0Isc0JBQXNCO3NCQUF2RSxXQUFXO3VCQUFDLHlCQUF5QjtnQkFHRyx3QkFBd0I7c0JBQWhFLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUdXLHVCQUF1QjtzQkFBOUQsV0FBVzt1QkFBQyxlQUFlO2dCQUduQixHQUFHO3NCQUFYLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZWxsUHJvcGVydGllcyB9IGZyb20gJ2hhbmRzb250YWJsZS9zZXR0aW5ncyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIGEgSGFuZHNvbnRhYmxlIGVkaXRvciBpbiBhbmd1bGFyLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIb3RDZWxsRWRpdG9yQ29tcG9uZW50PFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB7XG4gIHN0YXRpYyByZWFkb25seSBFRElUT1JfTUFSS0VSID0gU3ltYm9sKCdIb3RDZWxsRWRpdG9yQ29tcG9uZW50Jyk7XG5cbiAgLyoqIFRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgZm9yIHRoZSBlZGl0b3IuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHByb3RlY3RlZCB0YWJpbmRleCA9IC0xO1xuXG4gIC8qKiBUaGUgZGF0YS1ob3QtaW5wdXQgYXR0cmlidXRlIGZvciB0aGUgZWRpdG9yLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ob3QtaW5wdXQnKSBwcm90ZWN0ZWQgZGF0YUhvdElucHV0ID0gJyc7XG5cbiAgLyoqIFRoZSBoYW5kc29udGFibGVJbnB1dCBjbGFzcyBmb3IgdGhlIGVkaXRvci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYW5kc29udGFibGVJbnB1dCcpIHByb3RlY3RlZCBoYW5kc29udGFibGVJbnB1dENsYXNzID0gdHJ1ZTtcblxuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgZWRpdG9yIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQuJScpIHByb3RlY3RlZCBoZWlnaHRGaXRQYXJlbnRDb250YWluZXIgPSAxMDA7XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgZWRpdG9yIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC4lJykgcHJvdGVjdGVkIHdpZHRoRml0UGFyZW50Q29udGFpbmVyID0gMTAwO1xuXG4gIC8qKiBUaGUgcm93IGluZGV4IG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgcm93OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBjb2x1bW4gaW5kZXggb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBjb2x1bW46IG51bWJlcjtcblxuICAvKiogVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBwcm9wOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIFRoZSBvcmlnaW5hbCB2YWx1ZSBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIG9yaWdpbmFsVmFsdWU6IFQ7XG5cbiAgLyoqIFRoZSBjZWxsIHByb3BlcnRpZXMgb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBjZWxsUHJvcGVydGllczogQ2VsbFByb3BlcnRpZXM7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBpcyBmaW5pc2hlZC5cbiAgICogVGhlIGRhdGEgd2lsbCBiZSBzYXZlZCB0byB0aGUgbW9kZWwuXG4gICAqL1xuICBAT3V0cHV0KCkgZmluaXNoRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlZGl0IGlzIGNhbmNlbGVkLlxuICAgKiBUaGUgZW50ZXJlZCBkYXRhIHdpbGwgYmUgcmV2ZXJ0ZWQgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICAgKi9cbiAgQE91dHB1dCgpIGNhbmNlbEVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuICovXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgYnkgSGFuZHNvbnRhYmxlIG9uIGNsb3NpbmcgdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgY2FuIGRlZmluZSB0aGVpciBvd24gYWN0aW9ucyBmb3JcbiAgICogdGhlIGN1c3RvbSBlZGl0b3IgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBiYXNlIGxvZ2ljLiAqL1xuICBvbkNsb3NlKCk6IHZvaWQge31cblxuICAvKiogRXZlbnQgdHJpZ2dlcmVkIGJ5IEhhbmRzb250YWJsZSBvbiBvcGVuIHRoZSBlZGl0b3IuXG4gICAqIFRoZSB1c2VyIGNhbiBkZWZpbmUgdGhlaXIgb3duIGFjdGlvbnMgZm9yXG4gICAqIHRoZSBjdXN0b20gZWRpdG9yIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYmFzZSBsb2dpYy4gKi9cbiAgb25PcGVuKGV2ZW50PzogRXZlbnQpOiB2b2lkIHt9XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gZm9jdXMgdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgaGF2ZSB0byBkZWZpbmUgZm9jdXMgbG9naWMuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29tcG9uZW50KHtcbiAgICogIHRlbXBsYXRlOiBgPGlucHV0ICNpbnB1dEVsZW1lbnQ+YFxuICAgKiB9KVxuICAgKiBjbGFzcyBDdXN0b21FZGl0b3IgZXh0ZW5kcyBIb3RFZGl0b3I8c3RyaW5nPiB7XG4gICAqICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgICpcbiAgICogICBvbkZvY3VzKCk6IHZvaWQge1xuICAgKiAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IG9uRm9jdXMoKTogdm9pZDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKi9cbiAgZ2V0VmFsdWUoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVkaXRvci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLDZDQUE2QztJQUNMLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV0RCxtREFBbUQ7SUFDTCxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRWhFLGtEQUFrRDtJQUNBLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUVoRix3RUFBd0U7SUFDL0Isd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0lBRXhFLHVFQUF1RTtJQUMvQix1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFFdEUsOENBQThDO0lBQ3JDLEdBQUcsQ0FBUztJQUVyQixpREFBaUQ7SUFDeEMsTUFBTSxDQUFTO0lBRXhCLGtEQUFrRDtJQUN6QyxJQUFJLENBQWtCO0lBRS9CLG1EQUFtRDtJQUMxQyxhQUFhLENBQUk7SUFFMUIsb0RBQW9EO0lBQzNDLGNBQWMsQ0FBaUI7SUFFeEM7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoRDs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhELHVDQUF1QztJQUMvQixNQUFNLENBQUk7SUFFbEI7OzhEQUUwRDtJQUMxRCxPQUFPLEtBQVUsQ0FBQztJQUVsQjs7OERBRTBEO0lBQzFELE1BQU0sQ0FBQyxLQUFhLElBQVMsQ0FBQztJQW9COUI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQVE7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO3dHQXRGbUIsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBR2dDLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZUFBZTtnQkFHa0IsWUFBWTtzQkFBekQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBR2dCLHNCQUFzQjtzQkFBdkUsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBR0csd0JBQXdCO3NCQUFoRSxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHVyx1QkFBdUI7c0JBQTlELFdBQVc7dUJBQUMsZUFBZTtnQkFHbkIsR0FBRztzQkFBWCxLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtJLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbFByb3BlcnRpZXMgfSBmcm9tICdoYW5kc29udGFibGUvc2V0dGluZ3MnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhIEhhbmRzb250YWJsZSBlZGl0b3IgaW4gYW5ndWxhci5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSG90Q2VsbEVkaXRvckNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4ge1xuICAvKiogVGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBmb3IgdGhlIGVkaXRvci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgcHJvdGVjdGVkIHRhYmluZGV4ID0gLTE7XG5cbiAgLyoqIFRoZSBkYXRhLWhvdC1pbnB1dCBhdHRyaWJ1dGUgZm9yIHRoZSBlZGl0b3IuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhvdC1pbnB1dCcpIHByb3RlY3RlZCBkYXRhSG90SW5wdXQgPSAnJztcblxuICAvKiogVGhlIGhhbmRzb250YWJsZUlucHV0IGNsYXNzIGZvciB0aGUgZWRpdG9yLiAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhbmRzb250YWJsZUlucHV0JykgcHJvdGVjdGVkIGhhbmRzb250YWJsZUlucHV0Q2xhc3MgPSB0cnVlO1xuXG4gIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC4lJykgcHJvdGVjdGVkIGhlaWdodEZpdFBhcmVudENvbnRhaW5lciA9IDEwMDtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLiUnKSBwcm90ZWN0ZWQgd2lkdGhGaXRQYXJlbnRDb250YWluZXIgPSAxMDA7XG5cbiAgLyoqIFRoZSByb3cgaW5kZXggb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSByb3c6IG51bWJlcjtcblxuICAvKiogVGhlIGNvbHVtbiBpbmRleCBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNvbHVtbjogbnVtYmVyO1xuXG4gIC8qKiBUaGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIHByb3A6IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogVGhlIG9yaWdpbmFsIHZhbHVlIG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgb3JpZ2luYWxWYWx1ZTogVDtcblxuICAvKiogVGhlIGNlbGwgcHJvcGVydGllcyBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNlbGxQcm9wZXJ0aWVzOiBDZWxsUHJvcGVydGllcztcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlZGl0IGlzIGZpbmlzaGVkLlxuICAgKiBUaGUgZGF0YSB3aWxsIGJlIHNhdmVkIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoKSBmaW5pc2hFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVkaXQgaXMgY2FuY2VsZWQuXG4gICAqIFRoZSBlbnRlcmVkIGRhdGEgd2lsbCBiZSByZXZlcnRlZCB0byB0aGUgb3JpZ2luYWwgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KCkgY2FuY2VsRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVkaXRvci4gKi9cbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gY2xvc2luZyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBjYW4gZGVmaW5lIHRoZWlyIG93biBhY3Rpb25zIGZvclxuICAgKiB0aGUgY3VzdG9tIGVkaXRvciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGJhc2UgbG9naWMuICovXG4gIG9uQ2xvc2UoKTogdm9pZCB7fVxuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgYnkgSGFuZHNvbnRhYmxlIG9uIG9wZW4gdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgY2FuIGRlZmluZSB0aGVpciBvd24gYWN0aW9ucyBmb3JcbiAgICogdGhlIGN1c3RvbSBlZGl0b3IgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBiYXNlIGxvZ2ljLiAqL1xuICBvbk9wZW4oZXZlbnQ/OiBFdmVudCk6IHZvaWQge31cblxuICAvKiogRXZlbnQgdHJpZ2dlcmVkIGJ5IEhhbmRzb250YWJsZSBvbiBmb2N1cyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBoYXZlIHRvIGRlZmluZSBmb2N1cyBsb2dpYy5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb21wb25lbnQoe1xuICAgKiAgdGVtcGxhdGU6IGA8aW5wdXQgI2lucHV0RWxlbWVudD5gXG4gICAqIH0pXG4gICAqIGNsYXNzIEN1c3RvbUVkaXRvciBleHRlbmRzIEhvdEVkaXRvcjxzdHJpbmc+IHtcbiAgICogICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICAgKlxuICAgKiAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAqICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3Qgb25Gb2N1cygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuIl19
@@ -9,7 +9,6 @@ export class HotTableComponent {
9
9
  _hotSettingsResolver;
10
10
  _hotConfig;
11
11
  ngZone;
12
- environmentInjector;
13
12
  // component inputs
14
13
  /** The data for the Handsontable instance. */
15
14
  data = null;
@@ -20,11 +19,10 @@ export class HotTableComponent {
20
19
  /** The Handsontable instance. */
21
20
  __hotInstance = null;
22
21
  configSubscription;
23
- constructor(_hotSettingsResolver, _hotConfig, ngZone, environmentInjector) {
22
+ constructor(_hotSettingsResolver, _hotConfig, ngZone) {
24
23
  this._hotSettingsResolver = _hotSettingsResolver;
25
24
  this._hotConfig = _hotConfig;
26
25
  this.ngZone = ngZone;
27
- this.environmentInjector = environmentInjector;
28
26
  }
29
27
  /**
30
28
  * Gets the Handsontable instance.
@@ -57,7 +55,6 @@ export class HotTableComponent {
57
55
  options = { ...options, ...negotiatedSettings, data: this.data };
58
56
  this.ngZone.runOutsideAngular(() => {
59
57
  this.hotInstance = new Handsontable.Core(this.container.nativeElement, options);
60
- this.hotInstance._angularEnvironmentInjector = this.environmentInjector;
61
58
  this.hotInstance.init();
62
59
  });
63
60
  this.configSubscription = this._hotConfig.config$.subscribe((config) => {
@@ -125,21 +122,24 @@ export class HotTableComponent {
125
122
  const hotConfig = this._hotConfig.getConfig();
126
123
  const negotiatedSettings = {};
127
124
  negotiatedSettings.licenseKey = settings.licenseKey ?? hotConfig.license;
128
- negotiatedSettings.themeName = settings.themeName ?? hotConfig.themeName;
129
125
  negotiatedSettings.language = settings.language ?? hotConfig.language;
126
+ const themeName = settings.themeName ?? hotConfig.themeName;
127
+ if (themeName) {
128
+ negotiatedSettings.themeName = themeName;
129
+ }
130
130
  // settings that can be set only before the Handsontable instance is initialized
131
131
  if (!this.__hotInstance) {
132
132
  negotiatedSettings.layoutDirection = settings.layoutDirection ?? hotConfig.layoutDirection;
133
133
  }
134
134
  return negotiatedSettings;
135
135
  }
136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotSettingsResolver }, { token: i2.HotGlobalConfigService }, { token: i0.NgZone }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, deps: [{ token: i1.HotSettingsResolver }, { token: i2.HotGlobalConfigService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
137
137
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HotTableComponent, selector: "hot-table", inputs: { data: "data", settings: "settings" }, providers: [HotSettingsResolver], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, styles: [":host{display:block}\n"], encapsulation: i0.ViewEncapsulation.None });
138
138
  }
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotTableComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'hot-table', template: '<div #container></div>', encapsulation: ViewEncapsulation.None, providers: [HotSettingsResolver], styles: [":host{display:block}\n"] }]
142
- }], ctorParameters: function () { return [{ type: i1.HotSettingsResolver }, { type: i2.HotGlobalConfigService }, { type: i0.NgZone }, { type: i0.EnvironmentInjector }]; }, propDecorators: { data: [{
142
+ }], ctorParameters: function () { return [{ type: i1.HotSettingsResolver }, { type: i2.HotGlobalConfigService }, { type: i0.NgZone }]; }, propDecorators: { data: [{
143
143
  type: Input
144
144
  }], settings: [{
145
145
  type: Input
@@ -147,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
147
147
  type: ViewChild,
148
148
  args: ['container', { static: false }]
149
149
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUsvRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywrRUFBK0UsR0FBRyxpQkFBaUIsQ0FBQztBQWV6SSxNQUFNLE9BQU8saUJBQWlCO0lBZ0JsQjtJQUNBO0lBQ0Q7SUFDVTtJQWxCbkIsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUNyQyxJQUFJLEdBQTZDLElBQUksQ0FBQztJQUMvRCxrREFBa0Q7SUFDekMsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFckMsMkRBQTJEO0lBRXBELFNBQVMsQ0FBNkI7SUFFN0MsaUNBQWlDO0lBQ3pCLGFBQWEsR0FBd0IsSUFBSSxDQUFDO0lBQzFDLGtCQUFrQixDQUFlO0lBRXpDLFlBQ1Usb0JBQXlDLEVBQ3pDLFVBQWtDLEVBQ25DLE1BQWMsRUFDSixtQkFBd0M7UUFIakQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0osd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUN4RCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFD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O0lBQzVCLENBQUM7d0dBeEpVLGlCQUFpQjs0RkFBakIsaUJBQWlCLG9GQVRqQixDQUFDLG1CQUFtQixDQUFDLHVKQUZ0Qix3QkFBd0I7OzRGQVd2QixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYLHdCQUF3QixpQkFDbkIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDO3NNQVl2QixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcbmltcG9ydCB7IEhvdFNldHRpbmdzUmVzb2x2ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2hvdC1zZXR0aW5ncy1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2hvdC1nbG9iYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbHMvZ3JpZC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEhPVF9ERVNUUk9ZRURfV0FSTklORyA9ICdUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGJvdW5kIHRvIHRoaXMgY29tcG9uZW50IHdhcyBkZXN0cm95ZWQgYW5kIGNhbm5vdCBiZScgKyAnIHVzZWQgcHJvcGVybHkuJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaG90LXRhYmxlJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXI+PC9kaXY+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbSG90U2V0dGluZ3NSZXNvbHZlcl0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIGNvbXBvbmVudCBpbnB1dHNcbiAgLyoqIFRoZSBkYXRhIGZvciB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLiAqL1xuICBASW5wdXQoKSBkYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydkYXRhJ10gfCBudWxsID0gbnVsbDtcbiAgLyoqIFRoZSBzZXR0aW5ncyBmb3IgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgQElucHV0KCkgc2V0dGluZ3M6IEdyaWRTZXR0aW5ncyA9IHt9O1xuXG4gIC8qKiBUaGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuICovXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKiogVGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgcHJpdmF0ZSBfX2hvdEluc3RhbmNlOiBIYW5kc29udGFibGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb25maWdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3RTZXR0aW5nc1Jlc29sdmVyOiBIb3RTZXR0aW5nc1Jlc29sdmVyLFxuICAgIHByaXZhdGUgX2hvdENvbmZpZzogSG90R2xvYmFsQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yXG4gICkge31cblxuICAvKipcbiAgICogR2V0cyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyBUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIG9yIGBudWxsYCBpZiBpdCdzIG5vdCB5ZXQgYmVlbiBjcmVhdGVkIG9yIGhhcyBiZWVuIGRlc3Ryb3llZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaG90SW5zdGFuY2UoKTogSGFuZHNvbnRhYmxlIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9faG90SW5zdGFuY2UgfHwgKHRoaXMuX19ob3RJbnN0YW5jZSAmJiAhdGhpcy5fX2hvdEluc3RhbmNlLmlzRGVzdHJveWVkKSkge1xuICAgICAgLy8gV2lsbCByZXR1cm4gdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBvciBgbnVsbGAgaWYgaXQncyBub3QgeWV0IGJlZW4gY3JlYXRlZC5cbiAgICAgIHJldHVybiB0aGlzLl9faG90SW5zdGFuY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihIT1RfREVTVFJPWUVEX1dBUk5JTkcpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGhvdEluc3RhbmNlIFRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgdG8gc2V0LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgaG90SW5zdGFuY2UoaG90SW5zdGFuY2UpIHtcbiAgICB0aGlzLl9faG90SW5zdGFuY2UgPSBob3RJbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLlxuICAgKiBUaGUgaW5pdGlhbCBzZXR0aW5ncyBvZiB0aGUgdGFibGUgYXJlIGFsc28gcHJlcGFyZWQgaGVyZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0gdGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5hcHBseUN1c3RvbVNldHRpbmdzKHRoaXMuc2V0dGluZ3MsIHRoaXMubmdab25lKTtcblxuICAgIGNvbnN0IG5lZ290aWF0ZWRTZXR0aW5ncyA9IHRoaXMuZ2V0TmVnb3RpYXRlZFNldHRpbmdzKG9wdGlvbnMpO1xuICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIC4uLm5lZ290aWF0ZWRTZXR0aW5ncywgZGF0YTogdGhpcy5kYXRhIH07XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlID0gbmV3IEhhbmRzb250YWJsZS5Db3JlKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgICAodGhpcy5ob3RJbnN0YW5jZSBhcyBhbnkpLl9hbmd1bGFyRW52aXJvbm1lbnRJbmplY3RvciA9IHRoaXMuZW52aXJvbm1lbnRJbmplY3RvcjtcblxuICAgICAgdGhpcy5ob3RJbnN0YW5jZS5pbml0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbiA9IHRoaXMuX2hvdENvbmZpZy5jb25maWckLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICBpZiAodGhpcy5ob3RJbnN0YW5jZSkge1xuICAgICAgICBjb25zdCBuZWdvdGlhdGVkU2V0dGluZ3MgPSB0aGlzLmdldE5lZ290aWF0ZWRTZXR0aW5ncyh0aGlzLnNldHRpbmdzKTtcbiAgICAgICAgdGhpcy51cGRhdGVIb3RUYWJsZShuZWdvdGlhdGVkU2V0dGluZ3MpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhvdEluc3RhbmNlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuc2V0dGluZ3MgJiYgIWNoYW5nZXMuc2V0dGluZ3MuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbnM6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MgPSB0aGlzLl9ob3RTZXR0aW5nc1Jlc29sdmVyLmFwcGx5Q3VzdG9tU2V0dGluZ3MoXG4gICAgICAgIGNoYW5nZXMuc2V0dGluZ3MuY3VycmVudFZhbHVlLFxuICAgICAgICB0aGlzLm5nWm9uZVxuICAgICAgKTtcblxuICAgICAgdGhpcy51cGRhdGVIb3RUYWJsZShuZXdPcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmICFjaGFuZ2VzLmRhdGEuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2U/LnVwZGF0ZURhdGEoY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgYW5kIGNsZWFycyB0aGUgY29sdW1ucyBmcm9tIGN1c3RvbSBlZGl0b3JzLlxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmhvdEluc3RhbmNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuaG90SW5zdGFuY2UuZ2V0U2V0dGluZ3MoKS5jb2x1bW5zO1xuXG4gICAgICBpZiAoY29sdW1ucyAmJiBBcnJheS5pc0FycmF5KGNvbHVtbnMpKSB7XG4gICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgaWYgKGNvbHVtbi5fZWRpdG9yQ29tcG9uZW50UmVmZXJlbmNlKSB7XG4gICAgICAgICAgICBjb2x1bW4uX2VkaXRvckNvbXBvbmVudFJlZmVyZW5jZS5kZXN0cm95KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5ob3RJbnN0YW5jZS5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSB3aXRoIG5ldyBzZXR0aW5ncy5cbiAgICogQHBhcmFtIG5ld1NldHRpbmdzIFRoZSBuZXcgc2V0dGluZ3MgdG8gYXBwbHkgdG8gdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS5cbiAgICovXG4gIHByaXZhdGUgdXBkYXRlSG90VGFibGUobmV3U2V0dGluZ3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlPy51cGRhdGVTZXR0aW5ncyhuZXdTZXR0aW5ncywgZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlcyB0aGUgcHJvdmlkZWQgSGFuZHNvbnRhYmxlIGdyaWQgc2V0dGluZ3Mgd2l0aCB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgSG90R2xvYmFsQ29uZmlnU2VydmljZSBhbmQgbmVnb3RpYXRlcyB0aGUgZmluYWxcbiAgICogSGFuZHNvbnRhYmxlIHNldHRpbmdzIGJ5IGdpdmluZyBwcmVjZWRlbmNlIHRvIHRoZSBwcm92aWRlZCBzZXR0aW5ncy5cbiAgICogQWRkaXRpb25hbGx5LCB0aGUgYGxheW91dERpcmVjdGlvbmAgaXMgb25seSBtZXJnZWQgaWYgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLlxuICAgKlxuICAgKiBAcGFyYW0gc2V0dGluZ3MgLSBUaGUgZ3JpZCBzZXR0aW5ncyBwcm92aWRlZCBieSB0aGUgdXNlciBvciBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBmaW5hbCBuZWdvdGlhdGVkIGdyaWQgc2V0dGluZ3MgYWZ0ZXIgbWVyZ2luZyB3aXRoIGdsb2JhbCBkZWZhdWx0cy5cbiAgICovXG4gIHByaXZhdGUgZ2V0TmVnb3RpYXRlZFNldHRpbmdzKHNldHRpbmdzOiBHcmlkU2V0dGluZ3MpOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzIHtcbiAgICBjb25zdCBob3RDb25maWcgPSB0aGlzLl9ob3RDb25maWcuZ2V0Q29uZmlnKCk7XG4gICAgY29uc3QgbmVnb3RpYXRlZFNldHRpbmdzOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0ge307XG5cbiAgICBuZWdvdGlhdGVkU2V0dGluZ3MubGljZW5zZUtleSA9IHNldHRpbmdzLmxpY2Vuc2VLZXkgPz8gaG90Q29uZmlnLmxpY2Vuc2U7XG4gICAgbmVnb3RpYXRlZFNldHRpbmdzLnRoZW1lTmFtZSA9IHNldHRpbmdzLnRoZW1lTmFtZSA/PyBob3RDb25maWcudGhlbWVOYW1lO1xuICAgIG5lZ290aWF0ZWRTZXR0aW5ncy5sYW5ndWFnZSA9IHNldHRpbmdzLmxhbmd1YWdlID8/IGhvdENvbmZpZy5sYW5ndWFnZTtcblxuICAgIC8vIHNldHRpbmdzIHRoYXQgY2FuIGJlIHNldCBvbmx5IGJlZm9yZSB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGlzIGluaXRpYWxpemVkXG4gICAgaWYgKCF0aGlzLl9faG90SW5zdGFuY2UpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy5sYXlvdXREaXJlY3Rpb24gPSBzZXR0aW5ncy5sYXlvdXREaXJlY3Rpb24gPz8gaG90Q29uZmlnLmxheW91dERpcmVjdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmVnb3RpYXRlZFNldHRpbmdzO1xuICB9XG59XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBS0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUsvRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywrRUFBK0UsR0FBRyxpQkFBaUIsQ0FBQztBQWV6SSxNQUFNLE9BQU8saUJBQWlCO0lBZVI7SUFBbUQ7SUFBMkM7SUFkbEgsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUNyQyxJQUFJLEdBQTZDLElBQUksQ0FBQztJQUMvRCxrREFBa0Q7SUFDekMsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFFckMsMkRBQTJEO0lBRXBELFNBQVMsQ0FBNkI7SUFFN0MsaUNBQWlDO0lBQ3pCLGFBQWEsR0FBd0IsSUFBSSxDQUFDO0lBQzFDLGtCQUFrQixDQUFlO0lBRXpDLFlBQW9CLG9CQUF5QyxFQUFVLFVBQWtDLEVBQVMsTUFBYztRQUE1Ryx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUVwSTs7O09BR0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNsRixnRkFBZ0Y7WUFDaEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NB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QixDQUFDLHVKQUZ0Qix3QkFBd0I7OzRGQVd2QixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYLHdCQUF3QixpQkFDbkIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDO29LQVl2QixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcbmltcG9ydCB7IEhvdFNldHRpbmdzUmVzb2x2ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2hvdC1zZXR0aW5ncy1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2hvdC1nbG9iYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFNldHRpbmdzIH0gZnJvbSAnLi9tb2RlbHMvZ3JpZC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEhPVF9ERVNUUk9ZRURfV0FSTklORyA9ICdUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGJvdW5kIHRvIHRoaXMgY29tcG9uZW50IHdhcyBkZXN0cm95ZWQgYW5kIGNhbm5vdCBiZScgKyAnIHVzZWQgcHJvcGVybHkuJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaG90LXRhYmxlJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXI+PC9kaXY+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbSG90U2V0dGluZ3NSZXNvbHZlcl0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIGNvbXBvbmVudCBpbnB1dHNcbiAgLyoqIFRoZSBkYXRhIGZvciB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLiAqL1xuICBASW5wdXQoKSBkYXRhOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzWydkYXRhJ10gfCBudWxsID0gbnVsbDtcbiAgLyoqIFRoZSBzZXR0aW5ncyBmb3IgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgQElucHV0KCkgc2V0dGluZ3M6IEdyaWRTZXR0aW5ncyA9IHt9O1xuXG4gIC8qKiBUaGUgY29udGFpbmVyIGVsZW1lbnQgZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuICovXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKiogVGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS4gKi9cbiAgcHJpdmF0ZSBfX2hvdEluc3RhbmNlOiBIYW5kc29udGFibGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjb25maWdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3RTZXR0aW5nc1Jlc29sdmVyOiBIb3RTZXR0aW5nc1Jlc29sdmVyLCBwcml2YXRlIF9ob3RDb25maWc6IEhvdEdsb2JhbENvbmZpZ1NlcnZpY2UsIHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAvKipcbiAgICogR2V0cyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyBUaGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIG9yIGBudWxsYCBpZiBpdCdzIG5vdCB5ZXQgYmVlbiBjcmVhdGVkIG9yIGhhcyBiZWVuIGRlc3Ryb3llZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaG90SW5zdGFuY2UoKTogSGFuZHNvbnRhYmxlIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9faG90SW5zdGFuY2UgfHwgKHRoaXMuX19ob3RJbnN0YW5jZSAmJiAhdGhpcy5fX2hvdEluc3RhbmNlLmlzRGVzdHJveWVkKSkge1xuICAgICAgLy8gV2lsbCByZXR1cm4gdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBvciBgbnVsbGAgaWYgaXQncyBub3QgeWV0IGJlZW4gY3JlYXRlZC5cbiAgICAgIHJldHVybiB0aGlzLl9faG90SW5zdGFuY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihIT1RfREVTVFJPWUVEX1dBUk5JTkcpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGhvdEluc3RhbmNlIFRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgdG8gc2V0LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgaG90SW5zdGFuY2UoaG90SW5zdGFuY2UpIHtcbiAgICB0aGlzLl9faG90SW5zdGFuY2UgPSBob3RJbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLlxuICAgKiBUaGUgaW5pdGlhbCBzZXR0aW5ncyBvZiB0aGUgdGFibGUgYXJlIGFsc28gcHJlcGFyZWQgaGVyZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zOiBIYW5kc29udGFibGUuR3JpZFNldHRpbmdzID0gdGhpcy5faG90U2V0dGluZ3NSZXNvbHZlci5hcHBseUN1c3RvbVNldHRpbmdzKHRoaXMuc2V0dGluZ3MsIHRoaXMubmdab25lKTtcblxuICAgIGNvbnN0IG5lZ290aWF0ZWRTZXR0aW5ncyA9IHRoaXMuZ2V0TmVnb3RpYXRlZFNldHRpbmdzKG9wdGlvbnMpO1xuICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIC4uLm5lZ290aWF0ZWRTZXR0aW5ncywgZGF0YTogdGhpcy5kYXRhIH07XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlID0gbmV3IEhhbmRzb250YWJsZS5Db3JlKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuXG4gICAgICB0aGlzLmhvdEluc3RhbmNlLmluaXQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29uZmlnU3Vic2NyaXB0aW9uID0gdGhpcy5faG90Q29uZmlnLmNvbmZpZyQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcbiAgICAgIGlmICh0aGlzLmhvdEluc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IG5lZ290aWF0ZWRTZXR0aW5ncyA9IHRoaXMuZ2V0TmVnb3RpYXRlZFNldHRpbmdzKHRoaXMuc2V0dGluZ3MpO1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdFRhYmxlKG5lZ290aWF0ZWRTZXR0aW5ncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG90SW5zdGFuY2UgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5zZXR0aW5ncyAmJiAhY2hhbmdlcy5zZXR0aW5ncy5maXJzdENoYW5nZSkge1xuICAgICAgY29uc3QgbmV3T3B0aW9uczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyA9IHRoaXMuX2hvdFNldHRpbmdzUmVzb2x2ZXIuYXBwbHlDdXN0b21TZXR0aW5ncyhcbiAgICAgICAgY2hhbmdlcy5zZXR0aW5ncy5jdXJyZW50VmFsdWUsXG4gICAgICAgIHRoaXMubmdab25lXG4gICAgICApO1xuXG4gICAgICB0aGlzLnVwZGF0ZUhvdFRhYmxlKG5ld09wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmRhdGEgJiYgIWNoYW5nZXMuZGF0YS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5ob3RJbnN0YW5jZT8udXBkYXRlRGF0YShjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveXMgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZSBhbmQgY2xlYXJzIHRoZSBjb2x1bW5zIGZyb20gY3VzdG9tIGVkaXRvcnMuXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaG90SW5zdGFuY2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5ob3RJbnN0YW5jZS5nZXRTZXR0aW5ncygpLmNvbHVtbnM7XG5cbiAgICAgIGlmIChjb2x1bW5zICYmIEFycmF5LmlzQXJyYXkoY29sdW1ucykpIHtcbiAgICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICBpZiAoY29sdW1uLl9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbHVtbi5fZWRpdG9yQ29tcG9uZW50UmVmZXJlbmNlLmRlc3Ryb3koKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmhvdEluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29uZmlnU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIHdpdGggbmV3IHNldHRpbmdzLlxuICAgKiBAcGFyYW0gbmV3U2V0dGluZ3MgVGhlIG5ldyBzZXR0aW5ncyB0byBhcHBseSB0byB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVIb3RUYWJsZShuZXdTZXR0aW5nczogSGFuZHNvbnRhYmxlLkdyaWRTZXR0aW5ncyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ob3RJbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2U/LnVwZGF0ZVNldHRpbmdzKG5ld1NldHRpbmdzLCBmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2VzIHRoZSBwcm92aWRlZCBIYW5kc29udGFibGUgZ3JpZCBzZXR0aW5ncyB3aXRoIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcmV0cmlldmVzIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBIb3RHbG9iYWxDb25maWdTZXJ2aWNlIGFuZCBuZWdvdGlhdGVzIHRoZSBmaW5hbFxuICAgKiBIYW5kc29udGFibGUgc2V0dGluZ3MgYnkgZ2l2aW5nIHByZWNlZGVuY2UgdG8gdGhlIHByb3ZpZGVkIHNldHRpbmdzLlxuICAgKiBBZGRpdGlvbmFsbHksIHRoZSBgbGF5b3V0RGlyZWN0aW9uYCBpcyBvbmx5IG1lcmdlZCBpZiB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIGhhcyBub3QgeWV0IGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZXR0aW5ncyAtIFRoZSBncmlkIHNldHRpbmdzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIG9yIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIGZpbmFsIG5lZ290aWF0ZWQgZ3JpZCBzZXR0aW5ncyBhZnRlciBtZXJnaW5nIHdpdGggZ2xvYmFsIGRlZmF1bHRzLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXROZWdvdGlhdGVkU2V0dGluZ3Moc2V0dGluZ3M6IEdyaWRTZXR0aW5ncyk6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3Mge1xuICAgIGNvbnN0IGhvdENvbmZpZyA9IHRoaXMuX2hvdENvbmZpZy5nZXRDb25maWcoKTtcbiAgICBjb25zdCBuZWdvdGlhdGVkU2V0dGluZ3M6IEhhbmRzb250YWJsZS5HcmlkU2V0dGluZ3MgPSB7fTtcblxuICAgIG5lZ290aWF0ZWRTZXR0aW5ncy5saWNlbnNlS2V5ID0gc2V0dGluZ3MubGljZW5zZUtleSA/PyBob3RDb25maWcubGljZW5zZTtcbiAgICBuZWdvdGlhdGVkU2V0dGluZ3MubGFuZ3VhZ2UgPSBzZXR0aW5ncy5sYW5ndWFnZSA/PyBob3RDb25maWcubGFuZ3VhZ2U7XG5cbiAgICBjb25zdCB0aGVtZU5hbWUgPSBzZXR0aW5ncy50aGVtZU5hbWUgPz8gaG90Q29uZmlnLnRoZW1lTmFtZTtcblxuICAgIGlmICh0aGVtZU5hbWUpIHtcbiAgICAgIG5lZ290aWF0ZWRTZXR0aW5ncy50aGVtZU5hbWUgPSB0aGVtZU5hbWU7XG4gICAgfVxuXG4gICAgLy8gc2V0dGluZ3MgdGhhdCBjYW4gYmUgc2V0IG9ubHkgYmVmb3JlIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UgaXMgaW5pdGlhbGl6ZWRcbiAgICBpZiAoIXRoaXMuX19ob3RJbnN0YW5jZSkge1xuICAgICAgbmVnb3RpYXRlZFNldHRpbmdzLmxheW91dERpcmVjdGlvbiA9IHNldHRpbmdzLmxheW91dERpcmVjdGlvbiA/PyBob3RDb25maWcubGF5b3V0RGlyZWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBuZWdvdGlhdGVkU2V0dGluZ3M7XG4gIH1cbn1cbiJdfQ==
@@ -7,7 +7,7 @@ export class HotTableModule {
7
7
  * Placeholder for the library version.
8
8
  * Replaced automatically during the pre-build/post-build process.
9
9
  */
10
- static version = '0.0.0-next-0621805-20260123';
10
+ static version = '0.0.0-next-ded650a-20260126';
11
11
  constructor() { }
12
12
  static forRoot() {
13
13
  return {
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26
26
  exports: [HotTableComponent],
27
27
  }]
28
28
  }], ctorParameters: function () { return []; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBT2hHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUcsNkJBQTZCLENBQUM7SUFFL0MsZ0JBQWUsQ0FBQztJQUVULE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0FiVSxjQUFjO3lHQUFkLGNBQWMsaUJBSlYsaUJBQWlCLEVBQUUsZ0NBQWdDLGFBRXhELGlCQUFpQjt5R0FFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIb3RUYWJsZUNvbXBvbmVudCwgQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0hvdFRhYmxlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVNb2R1bGUge1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24uXG4gICAqIFJlcGxhY2VkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIHRoZSBwcmUtYnVpbGQvcG9zdC1idWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgc3RhdGljIHZlcnNpb24gPSAnMC4wLjAtbmV4dC0wNjIxODA1LTIwMjYwMTIzJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SG90VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEhvdFRhYmxlTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2hvdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBT2hHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLEdBQUcsNkJBQTZCLENBQUM7SUFFL0MsZ0JBQWUsQ0FBQztJQUVULE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0FiVSxjQUFjO3lHQUFkLGNBQWMsaUJBSlYsaUJBQWlCLEVBQUUsZ0NBQWdDLGFBRXhELGlCQUFpQjt5R0FFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbUVkaXRvclBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIb3RUYWJsZUNvbXBvbmVudCwgQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0hvdFRhYmxlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSG90VGFibGVNb2R1bGUge1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24uXG4gICAqIFJlcGxhY2VkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIHRoZSBwcmUtYnVpbGQvcG9zdC1idWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgc3RhdGljIHZlcnNpb24gPSAnMC4wLjAtbmV4dC1kZWQ2NTBhLTIwMjYwMTI2JztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SG90VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEhvdFRhYmxlTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvbW9kZWxzL2NvbHVtbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9ob3QtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVuZGVyZXIvaG90LWNlbGwtcmVuZGVyZXItYWR2YW5jZWQuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxFZGl0b3JBZHZhbmNlZENvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9ob3QtY2VsbC1lZGl0b3ItYWR2YW5jZWQuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVmFsaWRhdG9yRm48VD4gPSAodmFsdWU6IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIENvbHVtblNldHRpbmdzID1cbiAgfCBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NcbiAgfCB7XG4gICAgICBlZGl0b3I/OiBUeXBlPEhvdENlbGxFZGl0b3JDb21wb25lbnQ8YW55Pj4gfFxuICAgICAgICBUeXBlPEhvdENlbGxFZGl0b3JBZHZhbmNlZENvbXBvbmVudDxhbnk+PiB8XG4gICAgICAgIEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5nc1snZWRpdG9yJ107XG4gICAgICByZW5kZXJlcj86IFR5cGU8SG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PGFueSwgYW55Pj4gfFxuICAgICAgICBUeXBlPEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50PGFueSwgYW55Pj4gfFxuICAgICAgICBUZW1wbGF0ZVJlZjxhbnk+IHxcbiAgICAgICAgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWydyZW5kZXJlciddO1xuICAgICAgdmFsaWRhdG9yPzogQ3VzdG9tVmFsaWRhdG9yRm48YW55PiB8IEhhbmRzb250YWJsZS5Db2x1bW5TZXR0aW5nc1sndmFsaWRhdG9yJ107XG4gICAgICByZW5kZXJlclByb3BzPzogYW55O1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yUmVmZXJlbmNlSW50ZXJuYWwge1xuICBfZWRpdG9yQ29tcG9uZW50UmVmZXJlbmNlPzogQ29tcG9uZW50UmVmPEhvdENlbGxFZGl0b3JDb21wb25lbnQ8YW55Pj47XG4gIF9lbnZpcm9ubWVudEluamVjdG9yPzogRW52aXJvbm1lbnRJbmplY3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5TZXR0aW5nc0ludGVybmFsIGV4dGVuZHMgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzLCBFZGl0b3JSZWZlcmVuY2VJbnRlcm5hbCB7fVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvbW9kZWxzL2NvbHVtbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBUeXBlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEhhbmRzb250YWJsZSBmcm9tICdoYW5kc29udGFibGUvYmFzZSc7XG5pbXBvcnQgeyBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZW5kZXJlci9ob3QtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVmFsaWRhdG9yRm48VD4gPSAodmFsdWU6IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIENvbHVtblNldHRpbmdzID1cbiAgfCBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NcbiAgfCB7XG4gICAgICBlZGl0b3I/OiBUeXBlPEhvdENlbGxFZGl0b3JDb21wb25lbnQ8YW55Pj4gfCAgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWydlZGl0b3InXTtcbiAgICAgIHJlbmRlcmVyPzogVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ8YW55LCBhbnk+PiB8IFRlbXBsYXRlUmVmPGFueT4gfCBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3NbJ3JlbmRlcmVyJ107XG4gICAgICB2YWxpZGF0b3I/OiBDdXN0b21WYWxpZGF0b3JGbjxhbnk+IHwgSGFuZHNvbnRhYmxlLkNvbHVtblNldHRpbmdzWyd2YWxpZGF0b3InXTtcbiAgICAgIHJlbmRlcmVyUHJvcHM/OiBhbnk7XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JSZWZlcmVuY2VJbnRlcm5hbCB7XG4gIF9lZGl0b3JDb21wb25lbnRSZWZlcmVuY2U/OiBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckNvbXBvbmVudDxhbnk+PjtcbiAgX2Vudmlyb25tZW50SW5qZWN0b3I/OiBFbnZpcm9ubWVudEluamVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNldHRpbmdzSW50ZXJuYWwgZXh0ZW5kcyBIYW5kc29udGFibGUuQ29sdW1uU2V0dGluZ3MsIEVkaXRvclJlZmVyZW5jZUludGVybmFsIHt9XG4iXX0=
@@ -1,15 +1,11 @@
1
1
  import { createComponent, Injectable } from '@angular/core';
2
- import { baseRenderer, registerRenderer, rendererFactory } from 'handsontable/renderers';
2
+ import { baseRenderer } from 'handsontable/renderers';
3
3
  import Handsontable from 'handsontable/base';
4
4
  import { HotCellRendererComponent } from './hot-cell-renderer.component';
5
- import { HotCellRendererAdvancedComponent } from './hot-cell-renderer-advanced.component';
6
5
  import * as i0 from "@angular/core";
7
6
  export const INVALID_RENDERER_WARNING = 'The provided renderer component was not recognized as a valid custom renderer. ' +
8
7
  'It must either extend HotCellRendererComponent or be a valid TemplateRef. ' +
9
8
  'Please ensure that your custom renderer is implemented correctly and imported from the proper source.';
10
- export const INVALID_ADVANCED_RENDERER_WARNING = 'The provided renderer component was not recognized as a valid custom renderer. ' +
11
- 'It must either extend HotCellRendererAdvancedComponent. ' +
12
- 'Please ensure that your custom renderer is implemented correctly and imported from the proper source.';
13
9
  /**
14
10
  * Type guard that checks if the given object is a TemplateRef.
15
11
  *
@@ -28,15 +24,6 @@ export function isTemplateRef(obj) {
28
24
  export function isHotCellRendererComponent(obj) {
29
25
  return obj?.RENDERER_MARKER === HotCellRendererComponent.RENDERER_MARKER;
30
26
  }
31
- /**
32
- * Type guard to check if an object is an instance of HotCellRendererAdvancedComponent.
33
- *
34
- * @param obj - The object to check.
35
- * @returns True if the object is a HotCellRendererAdvancedComponent, false otherwise.
36
- */
37
- export function isAdvancedHotCellRendererComponent(obj) {
38
- return obj?.RENDERER_MARKER === HotCellRendererAdvancedComponent.RENDERER_MARKER;
39
- }
40
27
  /**
41
28
  * Service for dynamically creating Angular components or templates as custom renderers for Handsontable.
42
29
  *
@@ -66,18 +53,14 @@ export class DynamicComponentService {
66
53
  createRendererFromComponent(component, componentProps = {}, register = false) {
67
54
  return (instance, td, row, col, prop, value, cellProperties) => {
68
55
  const properties = {
69
- value,
70
- instance,
71
- td,
72
- row,
73
- col,
74
- prop,
75
- cellProperties,
56
+ value, instance, td, row, col, prop, cellProperties
76
57
  };
77
58
  if (componentProps) {
78
59
  Object.assign(cellProperties, { rendererProps: componentProps });
79
60
  }
80
- const rendererParameters = [instance, td, row, col, prop, value, cellProperties];
61
+ const rendererParameters = [
62
+ instance, td, row, col, prop, value, cellProperties
63
+ ];
81
64
  baseRenderer.apply(this, rendererParameters);
82
65
  td.innerHTML = '';
83
66
  if (isTemplateRef(component)) {
@@ -96,42 +79,6 @@ export class DynamicComponentService {
96
79
  return td;
97
80
  };
98
81
  }
99
- /**
100
- * Creates a custom renderer function using rendererFactory from Handsontable.
101
- * This is an alternative implementation that uses the factory pattern.
102
- *
103
- * @param component - The Angular component type to use as renderer.
104
- * @param componentProps - An object containing additional properties to use by the renderer.
105
- * @param register - If true, registers the renderer with Handsontable using the component's name.
106
- * @returns A renderer function that can be used in Handsontable's configuration.
107
- */
108
- createRendererWithFactory(component, componentProps = {}, register = false) {
109
- return rendererFactory(({ instance, td, row, column, prop, value, cellProperties }) => {
110
- const properties = {
111
- value,
112
- instance,
113
- td,
114
- row,
115
- col: column,
116
- prop,
117
- cellProperties,
118
- };
119
- if (componentProps) {
120
- Object.assign(cellProperties, { rendererProps: componentProps });
121
- }
122
- td.innerHTML = '';
123
- if (isAdvancedHotCellRendererComponent(component)) {
124
- const componentRef = this.createComponent(component, properties);
125
- this.attachComponentToElement(componentRef, td);
126
- }
127
- else {
128
- console.warn(INVALID_ADVANCED_RENDERER_WARNING);
129
- }
130
- if (register && isAdvancedHotCellRendererComponent(component)) {
131
- registerRenderer(component.constructor.name, component);
132
- }
133
- });
134
- }
135
82
  /**
136
83
  * Attaches an embedded view created from a TemplateRef to a given DOM element.
137
84
  *
@@ -158,9 +105,9 @@ export class DynamicComponentService {
158
105
  */
159
106
  createComponent(component, rendererParameters) {
160
107
  const componentRef = createComponent(component, {
161
- environmentInjector: this.environmentInjector,
108
+ environmentInjector: this.environmentInjector
162
109
  });
163
- Object.keys(rendererParameters).forEach((key) => {
110
+ Object.keys(rendererParameters).forEach(key => {
164
111
  if (rendererParameters.hasOwnProperty(key)) {
165
112
  componentRef.setInput(key, rendererParameters[key]);
166
113
  }
@@ -179,7 +126,8 @@ export class DynamicComponentService {
179
126
  * @param container - The target DOM element to which the component's root node will be appended.
180
127
  */
181
128
  attachComponentToElement(componentRef, container) {
182
- const domElem = componentRef.hostView.rootNodes[0];
129
+ const domElem = componentRef.hostView
130
+ .rootNodes[0];
183
131
  container.appendChild(domElem);
184
132
  }
185
133
  /**
@@ -200,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
200
148
  providedIn: 'root',
201
149
  }]
202
150
  }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }]; } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWR5bmFtaWMtcmVuZGVyZXItY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9yZW5kZXJlci9ob3QtZHluYW1pYy1yZW5kZXJlci1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUdmLFVBQVUsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFnQixnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFJMUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQ25DLGlGQUFpRjtJQUNqRiw0RUFBNEU7SUFDNUUsdUdBQXVHLENBQUM7QUFFMUcsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLGlGQUFpRjtJQUNqRiwwREFBMEQ7SUFDMUQsdUdBQXVHLENBQUM7QUFlMUc7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLEdBQVE7SUFDdkMsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBQzdELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxHQUFRO0lBQ2pELE9BQU8sR0FBRyxFQUFFLGVBQWUsS0FBSyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLEdBQVE7SUFDekQsT0FBTyxHQUFHLEVBQUUsZUFBZSxLQUFLLGdDQUFn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QUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRywyQ0FBMkMsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7YUFDbkc7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssd0JBQXdCLENBQUksWUFBNkIsRUFBRSxTQUFzQjtRQUN2RixNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQzFGLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBSSxZQUE2QjtRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBdExVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBjcmVhdGVDb21wb25lbnQsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSW5qZWN0YWJsZSxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBiYXNlUmVuZGVyZXIsIEJhc2VSZW5kZXJlciwgcmVnaXN0ZXJSZW5kZXJlciwgcmVuZGVyZXJGYWN0b3J5IH0gZnJvbSAnaGFuZHNvbnRhYmxlL3JlbmRlcmVycyc7XG5pbXBvcnQgSGFuZHNvbnRhYmxlIGZyb20gJ2hhbmRzb250YWJsZS9iYXNlJztcbmltcG9ydCB7IEhvdENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY2VsbC1yZW5kZXJlci1hZHZhbmNlZC5jb21wb25lbnQnO1xuXG50eXBlIEJhc2VSZW5kZXJlclBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzPEJhc2VSZW5kZXJlcj47XG5cbmV4cG9ydCBjb25zdCBJTlZBTElEX1JFTkRFUkVSX1dBUk5JTkcgPVxuICAnVGhlIHByb3ZpZGVkIHJlbmRlcmVyIGNvbXBvbmVudCB3YXMgbm90IHJlY29nbml6ZWQgYXMgYSB2YWxpZCBjdXN0b20gcmVuZGVyZXIuICcgK1xuICAnSXQgbXVzdCBlaXRoZXIgZXh0ZW5kIEhvdENlbGxSZW5kZXJlckNvbXBvbmVudCBvciBiZSBhIHZhbGlkIFRlbXBsYXRlUmVmLiAnICtcbiAgJ1BsZWFzZSBlbnN1cmUgdGhhdCB5b3VyIGN1c3RvbSByZW5kZXJlciBpcyBpbXBsZW1lbnRlZCBjb3JyZWN0bHkgYW5kIGltcG9ydGVkIGZyb20gdGhlIHByb3BlciBzb3VyY2UuJztcblxuZXhwb3J0IGNvbnN0IElOVkFMSURfQURWQU5DRURfUkVOREVSRVJfV0FSTklORyA9XG4gICdUaGUgcHJvdmlkZWQgcmVuZGVyZXIgY29tcG9uZW50IHdhcyBub3QgcmVjb2duaXplZCBhcyBhIHZhbGlkIGN1c3RvbSByZW5kZXJlci4gJyArXG4gICdJdCBtdXN0IGVpdGhlciBleHRlbmQgSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuICcgK1xuICAnUGxlYXNlIGVuc3VyZSB0aGF0IHlvdXIgY3VzdG9tIHJlbmRlcmVyIGlzIGltcGxlbWVudGVkIGNvcnJlY3RseSBhbmQgaW1wb3J0ZWQgZnJvbSB0aGUgcHJvcGVyIHNvdXJjZS4nO1xuXG4vKipcbiAqIEFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHBhcmFtZXRlcnMgcGFzc2VkIHRvIGEgSGFuZHNvbnRhYmxlIHJlbmRlcmVyLlxuICovXG5pbnRlcmZhY2UgQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCB7XG4gIGluc3RhbmNlOiBIYW5kc29udGFibGUuQ29yZTtcbiAgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG4gIHByb3A6IHN0cmluZyB8IG51bWJlcjtcbiAgdmFsdWU6IGFueTtcbiAgY2VsbFByb3BlcnRpZXM6IEhhbmRzb250YWJsZS5DZWxsUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRoYXQgY2hlY2tzIGlmIHRoZSBnaXZlbiBvYmplY3QgaXMgYSBUZW1wbGF0ZVJlZi5cbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFRlbXBsYXRlUmVmOyBvdGhlcndpc2UsIGZhbHNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNUZW1wbGF0ZVJlZjxUPihvYmo6IGFueSk6IG9iaiBpcyBUZW1wbGF0ZVJlZjxUPiB7XG4gIHJldHVybiBvYmogJiYgdHlwZW9mIG9iai5jcmVhdGVFbWJlZGRlZFZpZXcgPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChvYmo6IGFueSk6IG9iaiBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4ge1xuICByZXR1cm4gb2JqPy5SRU5ERVJFUl9NQVJLRVIgPT09IEhvdENlbGxSZW5kZXJlckNvbXBvbmVudC5SRU5ERVJFUl9NQVJLRVI7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3QgaXMgYSBIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBZHZhbmNlZEhvdENlbGxSZW5kZXJlckNvbXBvbmVudChvYmo6IGFueSk6IG9iaiBpcyBUeXBlPEhvdENlbGxSZW5kZXJlckFkdmFuY2VkQ29tcG9uZW50PiB7XG4gIHJldHVybiBvYmo/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQuUkVOREVSRVJfTUFSS0VSO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGR5bmFtaWNhbGx5IGNyZWF0aW5nIEFuZ3VsYXIgY29tcG9uZW50cyBvciB0ZW1wbGF0ZXMgYXMgY3VzdG9tIHJlbmRlcmVycyBmb3IgSGFuZHNvbnRhYmxlLlxuICpcbiAqIFRoaXMgc2VydmljZSBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhIHJlbmRlcmVyIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYSBnaXZlbiBBbmd1bGFyIGNvbXBvbmVudCBvciBUZW1wbGF0ZVJlZlxuICogc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIEhhbmRzb250YWJsZSByZW5kZXJlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgY3VzdG9tUmVuZGVyZXIgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVSZW5kZXJlckZyb21Db21wb25lbnQoTXlSZW5kZXJlckNvbXBvbmVudCwgeyBzb21lUHJvcDogdmFsdWUgfSk7XG4gKiAvLyBVc2UgY3VzdG9tUmVuZGVyZXIgaW4geW91ciBIYW5kc29udGFibGUgY29uZmlndXJhdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGN1c3RvbSByZW5kZXJlciBmdW5jdGlvbiBmb3IgSGFuZHNvbnRhYmxlIGZyb20gYW4gQW5ndWxhciBjb21wb25lbnQgb3IgVGVtcGxhdGVSZWYuXG4gICAqIFRoZSBnZW5lcmF0ZWQgcmVuZGVyZXIgZnVuY3Rpb24gd2lsbCBiZSB1c2VkIGJ5IEhhbmRzb250YWJsZSB0byByZW5kZXIgY2VsbCBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIEFuZ3VsYXIgY29tcG9uZW50IHR5cGUgb3IgVGVtcGxhdGVSZWYgdG8gdXNlIGFzIHJlbmRlcmVyLlxuICAgKiBAcGFyYW0gY29tcG9uZW50UHJvcHMgLSBBbiBvYmplY3QgY29udGFpbmluZyBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gdXNlIGJ5IHRoZSByZW5kZXJlci5cbiAgICogQHBhcmFtIHJlZ2lzdGVyIC0gSWYgdHJ1ZSwgcmVnaXN0ZXJzIHRoZSByZW5kZXJlciB3aXRoIEhhbmRzb250YWJsZSB1c2luZyB0aGUgY29tcG9uZW50J3MgbmFtZS5cbiAgICogQHJldHVybnMgQSByZW5kZXJlciBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGluIEhhbmRzb250YWJsZSdzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBjcmVhdGVSZW5kZXJlckZyb21Db21wb25lbnQoXG4gICAgY29tcG9uZW50OiBUeXBlPEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4gfCBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIGNvbXBvbmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICAgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZVxuICApIHtcbiAgICByZXR1cm4gKFxuICAgICAgaW5zdGFuY2U6IEhhbmRzb250YWJsZS5Db3JlLFxuICAgICAgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50LFxuICAgICAgcm93OiBudW1iZXIsXG4gICAgICBjb2w6IG51bWJlcixcbiAgICAgIHByb3A6IHN0cmluZyB8IG51bWJlcixcbiAgICAgIHZhbHVlOiBhbnksXG4gICAgICBjZWxsUHJvcGVydGllczogSGFuZHNvbnRhYmxlLkNlbGxQcm9wZXJ0aWVzXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0ID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgaW5zdGFuY2UsXG4gICAgICAgIHRkLFxuICAgICAgICByb3csXG4gICAgICAgIGNvbCxcbiAgICAgICAgcHJvcCxcbiAgICAgICAgY2VsbFByb3BlcnRpZXMsXG4gICAgICB9O1xuXG4gICAgICBpZiAoY29tcG9uZW50UHJvcHMpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjZWxsUHJvcGVydGllcywgeyByZW5kZXJlclByb3BzOiBjb21wb25lbnRQcm9wcyB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVuZGVyZXJQYXJhbWV0ZXJzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzID0gW2luc3RhbmNlLCB0ZCwgcm93LCBjb2wsIHByb3AsIHZhbHVlLCBjZWxsUHJvcGVydGllc107XG5cbiAgICAgIGJhc2VSZW5kZXJlci5hcHBseSh0aGlzLCByZW5kZXJlclBhcmFtZXRlcnMpO1xuXG4gICAgICB0ZC5pbm5lckhUTUwgPSAnJztcblxuICAgICAgaWYgKGlzVGVtcGxhdGVSZWYoY29tcG9uZW50KSkge1xuICAgICAgICB0aGlzLmF0dGFjaFRlbXBsYXRlVG9FbGVtZW50KGNvbXBvbmVudCwgdGQsIHByb3BlcnRpZXMpO1xuICAgICAgfSBlbHNlIGlmIChpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgcHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50KGNvbXBvbmVudFJlZiwgdGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKElOVkFMSURfUkVOREVSRVJfV0FSTklORyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWdpc3RlciAmJiBpc0hvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIEhhbmRzb250YWJsZS5yZW5kZXJlcnMucmVnaXN0ZXJSZW5kZXJlcihjb21wb25lbnQuY29uc3RydWN0b3IubmFtZSwgY29tcG9uZW50IGFzIGFueSBhcyBCYXNlUmVuZGVyZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGQ7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY3VzdG9tIHJlbmRlcmVyIGZ1bmN0aW9uIHVzaW5nIHJlbmRlcmVyRmFjdG9yeSBmcm9tIEhhbmRzb250YWJsZS5cbiAgICogVGhpcyBpcyBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBBbmd1bGFyIGNvbXBvbmVudCB0eXBlIHRvIHVzZSBhcyByZW5kZXJlci5cbiAgICogQHBhcmFtIGNvbXBvbmVudFByb3BzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHVzZSBieSB0aGUgcmVuZGVyZXIuXG4gICAqIEBwYXJhbSByZWdpc3RlciAtIElmIHRydWUsIHJlZ2lzdGVycyB0aGUgcmVuZGVyZXIgd2l0aCBIYW5kc29udGFibGUgdXNpbmcgdGhlIGNvbXBvbmVudCdzIG5hbWUuXG4gICAqIEByZXR1cm5zIEEgcmVuZGVyZXIgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBIYW5kc29udGFibGUncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY3JlYXRlUmVuZGVyZXJXaXRoRmFjdG9yeShcbiAgICBjb21wb25lbnQ6IFR5cGU8SG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQ+LFxuICAgIGNvbXBvbmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICAgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZVxuICApIHtcbiAgICByZXR1cm4gcmVuZGVyZXJGYWN0b3J5KCh7XG4gICAgICBpbnN0YW5jZSxcbiAgICAgIHRkLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uLFxuICAgICAgcHJvcCxcbiAgICAgIHZhbHVlLFxuICAgICAgY2VsbFByb3BlcnRpZXNcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0ID0ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgaW5zdGFuY2UsXG4gICAgICAgIHRkLFxuICAgICAgICByb3csXG4gICAgICAgIGNvbDogY29sdW1uLFxuICAgICAgICBwcm9wLFxuICAgICAgICBjZWxsUHJvcGVydGllcyxcbiAgICAgIH07XG5cbiAgICAgIGlmIChjb21wb25lbnRQcm9wcykge1xuICAgICAgICBPYmplY3QuYXNzaWduKGNlbGxQcm9wZXJ0aWVzLCB7IHJlbmRlcmVyUHJvcHM6IGNvbXBvbmVudFByb3BzIH0pO1xuICAgICAgfVxuXG4gICAgICB0ZC5pbm5lckhUTUwgPSAnJztcblxuICAgICAgaWYgKGlzQWR2YW5jZWRIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQoY29tcG9uZW50KSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHByb3BlcnRpZXMpO1xuICAgICAgICB0aGlzLmF0dGFjaENvbXBvbmVudFRvRWxlbWVudChjb21wb25lbnRSZWYsIHRkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihJTlZBTElEX0FEVkFOQ0VEX1JFTkRFUkVSX1dBUk5JTkcpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVnaXN0ZXIgJiYgaXNBZHZhbmNlZEhvdENlbGxSZW5kZXJlckNvbXBvbmVudChjb21wb25lbnQpKSB7XG4gICAgICAgIHJlZ2lzdGVyUmVuZGVyZXIoY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWUsIGNvbXBvbmVudCBhcyBhbnkgYXMgQmFzZVJlbmRlcmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhbiBlbWJlZGRlZCB2aWV3IGNyZWF0ZWQgZnJvbSBhIFRlbXBsYXRlUmVmIHRvIGEgZ2l2ZW4gRE9NIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZSAtIFRoZSBUZW1wbGF0ZVJlZiB0byBjcmVhdGUgYW4gZW1iZWRkZWQgdmlldyBmcm9tLlxuICAgKiBAcGFyYW0gdGRFbCAtIFRoZSB0YXJnZXQgRE9NIGVsZW1lbnQgKGEgdGFibGUgY2VsbCkgdG8gd2hpY2ggdGhlIHZpZXcgd2lsbCBiZSBhcHBlbmRlZC5cbiAgICogQHBhcmFtIHByb3BlcnRpZXMgLSBDb250ZXh0IG9iamVjdCBwcm92aWRpbmcgcHJvcGVydGllcyB0byBiZSB1c2VkIHdpdGhpbiB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBwcml2YXRlIGF0dGFjaFRlbXBsYXRlVG9FbGVtZW50KHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCB0ZEVsOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCkge1xuICAgIGNvbnN0IGVtYmVkZGVkVmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT4gPSB0ZW1wbGF0ZS5jcmVhdGVFbWJlZGRlZFZpZXcoe1xuICAgICAgJGltcGxpY2l0OiBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgLi4ucHJvcGVydGllcyxcbiAgICB9KTtcbiAgICBlbWJlZGRlZFZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgZW1iZWRkZWRWaWV3LnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICB0ZEVsLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIER5bmFtaWNhbGx5IGNyZWF0ZXMgYW4gQW5ndWxhciBjb21wb25lbnQgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgQW5ndWxhciBjb21wb25lbnQgdHlwZSB0byBiZSBjcmVhdGVkLlxuICAgKiBAcGFyYW0gcmVuZGVyZXJQYXJhbWV0ZXJzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgaW5wdXQgcHJvcGVydGllcyB0byBhc3NpZ24gdG8gdGhlIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICogQHJldHVybnMgVGhlIENvbXBvbmVudFJlZiBvZiB0aGUgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUNvbXBvbmVudDxUIGV4dGVuZHMgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgcmVuZGVyZXJQYXJhbWV0ZXJzOiBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0XG4gICk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMocmVuZGVyZXJQYXJhbWV0ZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChyZW5kZXJlclBhcmFtZXRlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoa2V5LCByZW5kZXJlclBhcmFtZXRlcnNba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYElucHV0IHByb3BlcnR5IFwiJHtrZXl9XCIgZG9lcyBub3QgZXhpc3Qgb24gY29tcG9uZW50IGluc3RhbmNlOiAke2NvbXBvbmVudD8ubmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudCdzIHZpZXcgdG8gYSBzcGVjaWZpZWQgRE9NIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb250YWluZXIgLSBUaGUgdGFyZ2V0IERPTSBlbGVtZW50IHRvIHdoaWNoIHRoZSBjb21wb25lbnQncyByb290IG5vZGUgd2lsbCBiZSBhcHBlbmRlZC5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50PFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+LCBjb250YWluZXI6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPFQ+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGEgZHluYW1pY2FsbHkgY3JlYXRlZCBjb21wb25lbnQgYW5kIGRldGFjaGVzIGl0cyB2aWV3IGZyb20gdGhlIEFuZ3VsYXIgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgdG8gYmUgZGVzdHJveWVkLlxuICAgKi9cbiAgZGVzdHJveUNvbXBvbmVudDxUPihjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPik6IHZvaWQge1xuICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWR5bmFtaWMtcmVuZGVyZXItY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9yZW5kZXJlci9ob3QtZHluYW1pYy1yZW5kZXJlci1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ3lCLGVBQWUsRUFDUCxVQUFVLEVBRWpELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQWUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJdkUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQ25DLGlGQUFpRjtJQUNqRiw0RUFBNEU7SUFDNUUsdUdBQXVHLENBQUM7QUFlMUc7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLEdBQVE7SUFDdkMsT0FBTyxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBQzdELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxHQUFRO0lBQ2pELE9BQU8sR0FBRyxFQUFFLGVBQWUsS0FBSyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFFeEI7SUFDQTtJQUZWLFlBQ1UsTUFBc0IsRUFDdEIsbUJBQXdDO1FBRHhDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDL0MsQ0FBQztJQUVKOzs7Ozs7OztPQVFHO0lBQ0gsMkJBQTJCLENBQ3pCLFNBQTRELEVBQzVELGlCQUFzQyxFQUFFLEVBQ3hDLFdBQW9C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Q0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssd0JBQXdCLENBQzlCLFlBQTZCLEVBQzdCLFNBQXNCO1FBRXRCLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUErQjthQUMxRCxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQy9CLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBSSxZQUE2QjtRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBNUlVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsXG4gIEVtYmVkZGVkVmlld1JlZiwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0YWJsZSxcbiAgVGVtcGxhdGVSZWYsIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Jhc2VSZW5kZXJlciwgQmFzZVJlbmRlcmVyfSBmcm9tICdoYW5kc29udGFibGUvcmVuZGVyZXJzJztcbmltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHtIb3RDZWxsUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxudHlwZSBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzID0gUGFyYW1ldGVyczxCYXNlUmVuZGVyZXI+O1xuXG5leHBvcnQgY29uc3QgSU5WQUxJRF9SRU5ERVJFUl9XQVJOSU5HID1cbiAgJ1RoZSBwcm92aWRlZCByZW5kZXJlciBjb21wb25lbnQgd2FzIG5vdCByZWNvZ25pemVkIGFzIGEgdmFsaWQgY3VzdG9tIHJlbmRlcmVyLiAnICtcbiAgJ0l0IG11c3QgZWl0aGVyIGV4dGVuZCBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQgb3IgYmUgYSB2YWxpZCBUZW1wbGF0ZVJlZi4gJyArXG4gICdQbGVhc2UgZW5zdXJlIHRoYXQgeW91ciBjdXN0b20gcmVuZGVyZXIgaXMgaW1wbGVtZW50ZWQgY29ycmVjdGx5IGFuZCBpbXBvcnRlZCBmcm9tIHRoZSBwcm9wZXIgc291cmNlLic7XG5cbi8qKlxuICogQW4gb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcGFyYW1ldGVycyBwYXNzZWQgdG8gYSBIYW5kc29udGFibGUgcmVuZGVyZXIuXG4gKi9cbmludGVyZmFjZSBCYXNlUmVuZGVyZXJQYXJhbWV0ZXJzT2JqZWN0IHtcbiAgaW5zdGFuY2U6IEhhbmRzb250YWJsZS5Db3JlO1xuICB0ZDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG4gIHJvdzogbnVtYmVyO1xuICBjb2w6IG51bWJlcjtcbiAgcHJvcDogc3RyaW5nIHwgbnVtYmVyO1xuICB2YWx1ZTogYW55O1xuICBjZWxsUHJvcGVydGllczogSGFuZHNvbnRhYmxlLkNlbGxQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdGhhdCBjaGVja3MgaWYgdGhlIGdpdmVuIG9iamVjdCBpcyBhIFRlbXBsYXRlUmVmLlxuICpcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgVGVtcGxhdGVSZWY7IG90aGVyd2lzZSwgZmFsc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1RlbXBsYXRlUmVmPFQ+KG9iajogYW55KTogb2JqIGlzIFRlbXBsYXRlUmVmPFQ+IHtcbiAgcmV0dXJuIG9iaiAmJiB0eXBlb2Ygb2JqLmNyZWF0ZUVtYmVkZGVkVmlldyA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQuXG4gKlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3QgaXMgYSBIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50KG9iajogYW55KTogb2JqIGlzIFR5cGU8SG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PiB7XG4gIHJldHVybiBvYmo/LlJFTkRFUkVSX01BUktFUiA9PT0gSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50LlJFTkRFUkVSX01BUktFUjtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBkeW5hbWljYWxseSBjcmVhdGluZyBBbmd1bGFyIGNvbXBvbmVudHMgb3IgdGVtcGxhdGVzIGFzIGN1c3RvbSByZW5kZXJlcnMgZm9yIEhhbmRzb250YWJsZS5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSByZW5kZXJlciBmdW5jdGlvbiB0aGF0IHdyYXBzIGEgZ2l2ZW4gQW5ndWxhciBjb21wb25lbnQgb3IgVGVtcGxhdGVSZWZcbiAqIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBIYW5kc29udGFibGUgcmVuZGVyZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGN1c3RvbVJlbmRlcmVyID0gZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlUmVuZGVyZXJGcm9tQ29tcG9uZW50KE15UmVuZGVyZXJDb21wb25lbnQsIHsgc29tZVByb3A6IHZhbHVlIH0pO1xuICogLy8gVXNlIGN1c3RvbVJlbmRlcmVyIGluIHlvdXIgSGFuZHNvbnRhYmxlIGNvbmZpZ3VyYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvclxuICApIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjdXN0b20gcmVuZGVyZXIgZnVuY3Rpb24gZm9yIEhhbmRzb250YWJsZSBmcm9tIGFuIEFuZ3VsYXIgY29tcG9uZW50IG9yIFRlbXBsYXRlUmVmLlxuICAgKiBUaGUgZ2VuZXJhdGVkIHJlbmRlcmVyIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBieSBIYW5kc29udGFibGUgdG8gcmVuZGVyIGNlbGwgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBBbmd1bGFyIGNvbXBvbmVudCB0eXBlIG9yIFRlbXBsYXRlUmVmIHRvIHVzZSBhcyByZW5kZXJlci5cbiAgICogQHBhcmFtIGNvbXBvbmVudFByb3BzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHVzZSBieSB0aGUgcmVuZGVyZXIuXG4gICAqIEBwYXJhbSByZWdpc3RlciAtIElmIHRydWUsIHJlZ2lzdGVycyB0aGUgcmVuZGVyZXIgd2l0aCBIYW5kc29udGFibGUgdXNpbmcgdGhlIGNvbXBvbmVudCdzIG5hbWUuXG4gICAqIEByZXR1cm5zIEEgcmVuZGVyZXIgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBpbiBIYW5kc29udGFibGUncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY3JlYXRlUmVuZGVyZXJGcm9tQ29tcG9uZW50KFxuICAgIGNvbXBvbmVudDogVHlwZTxIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQ+IHwgVGVtcGxhdGVSZWY8YW55PixcbiAgICBjb21wb25lbnRQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICAgIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2VcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGluc3RhbmNlOiBIYW5kc29udGFibGUuQ29yZSxcbiAgICAgIHRkOiBIVE1MVGFibGVDZWxsRWxlbWVudCxcbiAgICAgIHJvdzogbnVtYmVyLFxuICAgICAgY29sOiBudW1iZXIsXG4gICAgICBwcm9wOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgICB2YWx1ZTogYW55LFxuICAgICAgY2VsbFByb3BlcnRpZXM6IEhhbmRzb250YWJsZS5DZWxsUHJvcGVydGllc1xuICAgICkgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdCA9IHtcbiAgICAgICAgdmFsdWUsIGluc3RhbmNlLCB0ZCwgcm93LCBjb2wsIHByb3AsIGNlbGxQcm9wZXJ0aWVzXG4gICAgICB9O1xuXG4gICAgICBpZiAoY29tcG9uZW50UHJvcHMpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjZWxsUHJvcGVydGllcywge3JlbmRlcmVyUHJvcHM6IGNvbXBvbmVudFByb3BzfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbmRlcmVyUGFyYW1ldGVyczogQmFzZVJlbmRlcmVyUGFyYW1ldGVycyA9IFtcbiAgICAgICAgaW5zdGFuY2UsIHRkLCByb3csIGNvbCwgcHJvcCwgdmFsdWUsIGNlbGxQcm9wZXJ0aWVzXG4gICAgICBdO1xuXG4gICAgICBiYXNlUmVuZGVyZXIuYXBwbHkodGhpcywgcmVuZGVyZXJQYXJhbWV0ZXJzKTtcblxuICAgICAgdGQuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgIGlmIChpc1RlbXBsYXRlUmVmKGNvbXBvbmVudCkpIHtcbiAgICAgICAgdGhpcy5hdHRhY2hUZW1wbGF0ZVRvRWxlbWVudChjb21wb25lbnQsIHRkLCBwcm9wZXJ0aWVzKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNIb3RDZWxsUmVuZGVyZXJDb21wb25lbnQoY29tcG9uZW50KSl7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgcHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuYXR0YWNoQ29tcG9uZW50VG9FbGVtZW50KGNvbXBvbmVudFJlZiwgdGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKElOVkFMSURfUkVOREVSRVJfV0FSTklORylcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZ2lzdGVyICYmIGlzSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50KGNvbXBvbmVudCkpIHtcbiAgICAgICAgSGFuZHNvbnRhYmxlLnJlbmRlcmVycy5yZWdpc3RlclJlbmRlcmVyKFxuICAgICAgICAgIGNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgICAgIGNvbXBvbmVudCBhcyBhbnkgYXMgQmFzZVJlbmRlcmVyXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0ZDtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGFuIGVtYmVkZGVkIHZpZXcgY3JlYXRlZCBmcm9tIGEgVGVtcGxhdGVSZWYgdG8gYSBnaXZlbiBET00gZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIHRlbXBsYXRlIC0gVGhlIFRlbXBsYXRlUmVmIHRvIGNyZWF0ZSBhbiBlbWJlZGRlZCB2aWV3IGZyb20uXG4gICAqIEBwYXJhbSB0ZEVsIC0gVGhlIHRhcmdldCBET00gZWxlbWVudCAoYSB0YWJsZSBjZWxsKSB0byB3aGljaCB0aGUgdmlldyB3aWxsIGJlIGFwcGVuZGVkLlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyAtIENvbnRleHQgb2JqZWN0IHByb3ZpZGluZyBwcm9wZXJ0aWVzIHRvIGJlIHVzZWQgd2l0aGluIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoVGVtcGxhdGVUb0VsZW1lbnQoXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgdGRFbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQsXG4gICAgcHJvcGVydGllczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdFxuICApIHtcbiAgICBjb25zdCBlbWJlZGRlZFZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+ID0gdGVtcGxhdGUuY3JlYXRlRW1iZWRkZWRWaWV3KHtcbiAgICAgICRpbXBsaWNpdDogcHJvcGVydGllcy52YWx1ZSxcbiAgICAgIC4uLnByb3BlcnRpZXMsXG4gICAgfSk7XG4gICAgZW1iZWRkZWRWaWV3LmRldGVjdENoYW5nZXMoKTtcblxuICAgIGVtYmVkZGVkVmlldy5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgdGRFbC5hcHBlbmRDaGlsZChub2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGFuIEFuZ3VsYXIgY29tcG9uZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIEFuZ3VsYXIgY29tcG9uZW50IHR5cGUgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIHJlbmRlcmVyUGFyYW1ldGVycyAtIEFuIG9iamVjdCBjb250YWluaW5nIGlucHV0IHByb3BlcnRpZXMgdG8gYXNzaWduIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIFRoZSBDb21wb25lbnRSZWYgb2YgdGhlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQ8VCBleHRlbmRzIEhvdENlbGxSZW5kZXJlckNvbXBvbmVudD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIHJlbmRlcmVyUGFyYW1ldGVyczogQmFzZVJlbmRlcmVyUGFyYW1ldGVyc09iamVjdFxuICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHtcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuZW52aXJvbm1lbnRJbmplY3RvclxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmtleXMocmVuZGVyZXJQYXJhbWV0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAocmVuZGVyZXJQYXJhbWV0ZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgcmVuZGVyZXJQYXJhbWV0ZXJzW2tleV0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYElucHV0IHByb3BlcnR5IFwiJHtrZXl9XCIgZG9lcyBub3QgZXhpc3Qgb24gY29tcG9uZW50IGluc3RhbmNlOiAke2NvbXBvbmVudD8ubmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSlcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50J3MgdmlldyB0byBhIHNwZWNpZmllZCBET00gY29udGFpbmVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgLSBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbnRhaW5lciAtIFRoZSB0YXJnZXQgRE9NIGVsZW1lbnQgdG8gd2hpY2ggdGhlIGNvbXBvbmVudCdzIHJvb3Qgbm9kZSB3aWxsIGJlIGFwcGVuZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhdHRhY2hDb21wb25lbnRUb0VsZW1lbnQ8VD4oXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4sXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8VD4pXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyBhIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50IGFuZCBkZXRhY2hlcyBpdHMgdmlldyBmcm9tIHRoZSBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmIC0gVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IHRvIGJlIGRlc3Ryb3llZC5cbiAgICovXG4gIGRlc3Ryb3lDb21wb25lbnQ8VD4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
@@ -42,7 +42,6 @@ export class HotGlobalConfigService {
42
42
  */
43
43
  defaultConfig = {
44
44
  license: undefined,
45
- themeName: ''
46
45
  };
47
46
  /**
48
47
  * A BehaviorSubject that holds the current Handsontable configuration.
@@ -105,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
105
104
  type: Inject,
106
105
  args: [HOT_GLOBAL_CONFIG]
107
106
  }] }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWdsb2JhbC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL3NlcnZpY2VzL2hvdC1nbG9iYWwtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7O0FBRWpEOztLQUVLO0FBQ0wsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsK0JBQStCLENBQUM7QUFFdEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksZUFPWDtBQVBELFdBQVksZUFBZTtJQUN6Qix5Q0FBc0IsQ0FBQTtJQUN0QixrREFBK0IsQ0FBQTtJQUMvQiwyREFBd0MsQ0FBQTtJQUN4QywrQ0FBNEIsQ0FBQTtJQUM1Qix3REFBcUMsQ0FBQTtJQUNyQyxpRUFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBUFcsZUFBZSxLQUFmLGVBQWUsUUFPMUI7QUFpQ0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLEVBQUU7SUFDeEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ3BCLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFFakM7Ozs7Ozs7OztPQVNHO0lBQ0ssYUFBYSxHQUFvQjtRQUN2QyxPQUFPLEVBQUUsU0FBUztRQUNsQixTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7SUFFRjs7Ozs7Ozs7T0FRRztJQUNLLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRWpGOzs7Ozs7T0FNRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsWUFDNkIsWUFBNkI7UUFFeEQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLE1BQXVCO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBeEVVLHNCQUFzQixrQkF3Q3ZCLGlCQUFpQjs0R0F4Q2hCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5Q0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIHRoZSBub24tY29tbWVyY2lhbCBhbmQgZXZhbHVhdGlvbiBsaWNlbnNlLlxuICogKi9cbmV4cG9ydCBjb25zdCBOT05fQ09NTUVSQ0lBTF9MSUNFTlNFID0gJ25vbi1jb21tZXJjaWFsLWFuZC1ldmFsdWF0aW9uJztcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyBhIHRoZW1lIG5hbWUuXG4gKiBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZSBwcmVkZWZpbmVkIHRoZW1lcyBhbmQgYW55IGN1c3RvbSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBlbnVtIFByZWRlZmluZWRUaGVtZSB7XG4gIE1haW4gPSAnaHQtdGhlbWUtbWFpbicsXG4gIE1haW5EYXJrID0gJ2h0LXRoZW1lLW1haW4tZGFyaycsXG4gIE1haW5EYXJrQXV0byA9ICdodC10aGVtZS1tYWluLWRhcmstYXV0bycsXG4gIEhvcml6b24gPSAnaHQtdGhlbWUtaG9yaXpvbicsXG4gIEhvcml6b25EYXJrID0gJ2h0LXRoZW1lLWhvcml6b24tZGFyaycsXG4gIEhvcml6b25EYXJrQXV0byA9ICdodC10aGVtZS1ob3Jpem9uLWRhcmstYXV0bydcbn1cblxuZXhwb3J0IHR5cGUgVGhlbWVOYW1lID0gUHJlZGVmaW5lZFRoZW1lIHwgc3RyaW5nO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgdGhlIEhhbmRzb250YWJsZSBnbG9iYWwgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIb3RHbG9iYWxDb25maWcge1xuICAvKipcbiAgICogVGhlIGxpY2Vuc2Uga2V5IGZvciBIYW5kc29udGFibGUuXG4gICAqL1xuICBsaWNlbnNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdGhlbWUgdG8gYmUgdXNlZC5cbiAgICovXG4gIHRoZW1lTmFtZT86IFRoZW1lTmFtZTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIGNvZGUgdG8gYmUgdXNlZCBmb3IgbG9jYWxpemF0aW9uLlxuICAgKiBGb3IgZXhhbXBsZSwgJ2VuLVVTJywgJ3BsLVBMJywgZXRjLlxuICAgKiAqKk5vdGU6KiogVGhlIGxhbmd1YWdlIG11c3QgYmUgY2hvc2VuIGZyb20gdGhlIGxhbmd1YWdlcyBzdXBwb3J0ZWQgYnkgSGFuZHNvbnRhYmxlIGFuZCByZWdpc3RlcmVkIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIEhhbmRzb250YWJsZSBpbnN0YW5jZS5cbiAgICogVGhpcyBwcm9wZXJ0eSBkZWZpbmVzIHdoZXRoZXIgdGhlIGxheW91dCBzaG91bGQgYmUgbGVmdC10by1yaWdodCAoJ2x0cicpLCByaWdodC10by1sZWZ0ICgncnRsJyksXG4gICAqIG9yIGluaGVyaXQgdGhlIGRpcmVjdGlvbiBmcm9tIHRoZSBwYXJlbnQgZWxlbWVudCAoJ2luaGVyaXQnKS5cbiAgICovXG4gIGxheW91dERpcmVjdGlvbj86ICdsdHInIHwgJ3J0bCcgfCAnaW5oZXJpdCc7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBwcm92aWRpbmcgYSBnbG9iYWwgZGVmYXVsdCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgSE9UX0dMT0JBTF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48SG90R2xvYmFsQ29uZmlnPignSE9UX0dMT0JBTF9DT05GSUcnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gKHt9KVxufSk7XG5cbi8qKlxuICogU2VydmljZSBmb3IgY29uZmlndXJpbmcgSGFuZHNvbnRhYmxlIHNldHRpbmdzLlxuICogVGhpcyBzZXJ2aWNlIGFsbG93cyBzZXR0aW5nIGFuZCByZXRyaWV2aW5nIGdsb2JhbCBjb25maWd1cmF0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSG90R2xvYmFsQ29uZmlnU2VydmljZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBIYW5kc29udGFibGUuXG4gICAqXG4gICAqIFRoaXMgb2JqZWN0IGlzIHVzZWQgYXMgdGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBjb25maWd1cmF0aW9uIEJlaGF2aW9yU3ViamVjdC5cbiAgICogSXQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgYSBnbG9iYWwgY29uZmlndXJhdGlvbiBwcm92aWRlZCB0aHJvdWdoIHRoZVxuICAgKiB7QGxpbmsgSE9UX0dMT0JBTF9DT05GSUd9IGluamVjdGlvbiB0b2tlbi5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge0hvdEdsb2JhbENvbmZpZ31cbiAgICovXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogSG90R2xvYmFsQ29uZmlnID0ge1xuICAgIGxpY2Vuc2U6IHVuZGVmaW5lZCxcbiAgICB0aGVtZU5hbWU6ICcnXG4gIH07XG5cbiAgLyoqXG4gICAqIEEgQmVoYXZpb3JTdWJqZWN0IHRoYXQgaG9sZHMgdGhlIGN1cnJlbnQgSGFuZHNvbnRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIE5ldyBjb25maWd1cmF0aW9uIHZhbHVlcyBjYW4gYmUgZW1pdHRlZCBieSBjYWxsaW5nIG5leHQoKSBvbiB0aGlzIHN1YmplY3QuXG4gICAqIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIHJlYWN0IHRvIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBkeW5hbWljYWxseS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge0JlaGF2aW9yU3ViamVjdDxIb3RHbG9iYWxDb25maWc+fVxuICAgKi9cbiAgcHJpdmF0ZSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIb3RHbG9iYWxDb25maWc+KHRoaXMuZGVmYXVsdENvbmZpZyk7XG5cbiAgLyoqXG4gICAqIEFuIE9ic2VydmFibGUgc3RyZWFtIG9mIHRoZSBjdXJyZW50IEhhbmRzb250YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBDb21wb25lbnRzIGNhbiBzdWJzY3JpYmUgdG8gdGhpcyBvYnNlcnZhYmxlIHRvIHJlY2VpdmUgdXBkYXRlcyB3aGVuZXZlciB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiBhcyBhbiBvYnNlcnZhYmxlIHN0cmVhbS5cbiAgICovXG4gIGdldCBjb25maWckKCk6IE9ic2VydmFibGU8SG90R2xvYmFsQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSE9UX0dMT0JBTF9DT05GSUcpIGdsb2JhbENvbmZpZzogSG90R2xvYmFsQ29uZmlnXG4gICkge1xuICAgIC8vIE1lcmdlIGdsb2JhbCBjb25maWd1cmF0aW9uIChpZiBwcm92aWRlZCkgaW50byBkZWZhdWx0Q29uZmlnIGltbXV0YWJseS5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uZ2xvYmFsQ29uZmlnIH07XG4gICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5kZWZhdWx0Q29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBmb3IgSGFuZHNvbnRhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiAgICAgICAgICAgICAgICAgRWFjaCBIYW5kc29udGFibGUgaW5zdGFuY2UgY2FuIG92ZXJyaWRlIHRoaXMgY29uZmlndXJhdGlvbiBieSBwcm92aWRpbmcgaXRzIG93biBzZXR0aW5ncy5cbiAgICovXG4gIHNldENvbmZpZyhjb25maWc6IEhvdEdsb2JhbENvbmZpZykge1xuICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IEhhbmRzb250YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCB0aGUgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIGdldENvbmZpZygpOiBIb3RHbG9iYWxDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjb25maWd1cmF0aW9uIHRvIHRoZSBkZWZhdWx0IHNldHRpbmdzLlxuICAgKiBUaGlzIG1ldGhvZCB1cGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIEJlaGF2aW9yU3ViamVjdCB3aXRoIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZXNldENvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh7IC4uLnRoaXMuZGVmYXVsdENvbmZpZyB9KTtcbiAgfVxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWdsb2JhbC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL3NlcnZpY2VzL2hvdC1nbG9iYWwtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7O0FBRWpEOztLQUVLO0FBQ0wsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsK0JBQStCLENBQUM7QUFFdEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksZUFPWDtBQVBELFdBQVksZUFBZTtJQUN6Qix5Q0FBc0IsQ0FBQTtJQUN0QixrREFBK0IsQ0FBQTtJQUMvQiwyREFBd0MsQ0FBQTtJQUN4QywrQ0FBNEIsQ0FBQTtJQUM1Qix3REFBcUMsQ0FBQTtJQUNyQyxpRUFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBUFcsZUFBZSxLQUFmLGVBQWUsUUFPMUI7QUFpQ0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLEVBQUU7SUFDeEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ3BCLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUFFakM7Ozs7Ozs7OztPQVNHO0lBQ0ssYUFBYSxHQUFvQjtRQUN2QyxPQUFPLEVBQUUsU0FBUztLQUNuQixDQUFDO0lBRUY7Ozs7Ozs7O09BUUc7SUFDSyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQWtCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVqRjs7Ozs7O09BTUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQzZCLFlBQTZCO1FBRXhELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxNQUF1QjtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQXZFVSxzQkFBc0Isa0JBdUN2QixpQkFBaUI7NEdBdkNoQixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBd0NJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBBIGNvbnN0YW50IHJlcHJlc2VudGluZyB0aGUgbm9uLWNvbW1lcmNpYWwgYW5kIGV2YWx1YXRpb24gbGljZW5zZS5cbiAqICovXG5leHBvcnQgY29uc3QgTk9OX0NPTU1FUkNJQUxfTElDRU5TRSA9ICdub24tY29tbWVyY2lhbC1hbmQtZXZhbHVhdGlvbic7XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgYSB0aGVtZSBuYW1lLlxuICogUG9zc2libGUgdmFsdWVzIGluY2x1ZGUgcHJlZGVmaW5lZCB0aGVtZXMgYW5kIGFueSBjdXN0b20gc3RyaW5nLlxuICovXG5leHBvcnQgZW51bSBQcmVkZWZpbmVkVGhlbWUge1xuICBNYWluID0gJ2h0LXRoZW1lLW1haW4nLFxuICBNYWluRGFyayA9ICdodC10aGVtZS1tYWluLWRhcmsnLFxuICBNYWluRGFya0F1dG8gPSAnaHQtdGhlbWUtbWFpbi1kYXJrLWF1dG8nLFxuICBIb3Jpem9uID0gJ2h0LXRoZW1lLWhvcml6b24nLFxuICBIb3Jpem9uRGFyayA9ICdodC10aGVtZS1ob3Jpem9uLWRhcmsnLFxuICBIb3Jpem9uRGFya0F1dG8gPSAnaHQtdGhlbWUtaG9yaXpvbi1kYXJrLWF1dG8nXG59XG5cbmV4cG9ydCB0eXBlIFRoZW1lTmFtZSA9IFByZWRlZmluZWRUaGVtZSB8IHN0cmluZztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHRoZSBIYW5kc29udGFibGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG90R2xvYmFsQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBsaWNlbnNlIGtleSBmb3IgSGFuZHNvbnRhYmxlLlxuICAgKi9cbiAgbGljZW5zZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRoZW1lIHRvIGJlIHVzZWQuXG4gICAqL1xuICB0aGVtZU5hbWU/OiBUaGVtZU5hbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSBjb2RlIHRvIGJlIHVzZWQgZm9yIGxvY2FsaXphdGlvbi5cbiAgICogRm9yIGV4YW1wbGUsICdlbi1VUycsICdwbC1QTCcsIGV0Yy5cbiAgICogKipOb3RlOioqIFRoZSBsYW5ndWFnZSBtdXN0IGJlIGNob3NlbiBmcm9tIHRoZSBsYW5ndWFnZXMgc3VwcG9ydGVkIGJ5IEhhbmRzb250YWJsZSBhbmQgcmVnaXN0ZXJlZCBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxheW91dCBkaXJlY3Rpb24gZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXG4gICAqIFRoaXMgcHJvcGVydHkgZGVmaW5lcyB3aGV0aGVyIHRoZSBsYXlvdXQgc2hvdWxkIGJlIGxlZnQtdG8tcmlnaHQgKCdsdHInKSwgcmlnaHQtdG8tbGVmdCAoJ3J0bCcpLFxuICAgKiBvciBpbmhlcml0IHRoZSBkaXJlY3Rpb24gZnJvbSB0aGUgcGFyZW50IGVsZW1lbnQgKCdpbmhlcml0JykuXG4gICAqL1xuICBsYXlvdXREaXJlY3Rpb24/OiAnbHRyJyB8ICdydGwnIHwgJ2luaGVyaXQnO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgcHJvdmlkaW5nIGEgZ2xvYmFsIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IEhPVF9HTE9CQUxfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEhvdEdsb2JhbENvbmZpZz4oJ0hPVF9HTE9CQUxfQ09ORklHJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+ICh7fSlcbn0pO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGNvbmZpZ3VyaW5nIEhhbmRzb250YWJsZSBzZXR0aW5ncy5cbiAqIFRoaXMgc2VydmljZSBhbGxvd3Mgc2V0dGluZyBhbmQgcmV0cmlldmluZyBnbG9iYWwgY29uZmlndXJhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEhvdEdsb2JhbENvbmZpZ1NlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgSGFuZHNvbnRhYmxlLlxuICAgKlxuICAgKiBUaGlzIG9iamVjdCBpcyB1c2VkIGFzIHRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgY29uZmlndXJhdGlvbiBCZWhhdmlvclN1YmplY3QuXG4gICAqIEl0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IGEgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQgdGhyb3VnaCB0aGVcbiAgICoge0BsaW5rIEhPVF9HTE9CQUxfQ09ORklHfSBpbmplY3Rpb24gdG9rZW4uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0eXBlIHtIb3RHbG9iYWxDb25maWd9XG4gICAqL1xuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IEhvdEdsb2JhbENvbmZpZyA9IHtcbiAgICBsaWNlbnNlOiB1bmRlZmluZWQsXG4gIH07XG5cbiAgLyoqXG4gICAqIEEgQmVoYXZpb3JTdWJqZWN0IHRoYXQgaG9sZHMgdGhlIGN1cnJlbnQgSGFuZHNvbnRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIE5ldyBjb25maWd1cmF0aW9uIHZhbHVlcyBjYW4gYmUgZW1pdHRlZCBieSBjYWxsaW5nIG5leHQoKSBvbiB0aGlzIHN1YmplY3QuXG4gICAqIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIHJlYWN0IHRvIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBkeW5hbWljYWxseS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge0JlaGF2aW9yU3ViamVjdDxIb3RHbG9iYWxDb25maWc+fVxuICAgKi9cbiAgcHJpdmF0ZSBjb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIb3RHbG9iYWxDb25maWc+KHRoaXMuZGVmYXVsdENvbmZpZyk7XG5cbiAgLyoqXG4gICAqIEFuIE9ic2VydmFibGUgc3RyZWFtIG9mIHRoZSBjdXJyZW50IEhhbmRzb250YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBDb21wb25lbnRzIGNhbiBzdWJzY3JpYmUgdG8gdGhpcyBvYnNlcnZhYmxlIHRvIHJlY2VpdmUgdXBkYXRlcyB3aGVuZXZlciB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiBhcyBhbiBvYnNlcnZhYmxlIHN0cmVhbS5cbiAgICovXG4gIGdldCBjb25maWckKCk6IE9ic2VydmFibGU8SG90R2xvYmFsQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSE9UX0dMT0JBTF9DT05GSUcpIGdsb2JhbENvbmZpZzogSG90R2xvYmFsQ29uZmlnXG4gICkge1xuICAgIC8vIE1lcmdlIGdsb2JhbCBjb25maWd1cmF0aW9uIChpZiBwcm92aWRlZCkgaW50byBkZWZhdWx0Q29uZmlnIGltbXV0YWJseS5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uZ2xvYmFsQ29uZmlnIH07XG4gICAgdGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5kZWZhdWx0Q29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBmb3IgSGFuZHNvbnRhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiAgICAgICAgICAgICAgICAgRWFjaCBIYW5kc29udGFibGUgaW5zdGFuY2UgY2FuIG92ZXJyaWRlIHRoaXMgY29uZmlndXJhdGlvbiBieSBwcm92aWRpbmcgaXRzIG93biBzZXR0aW5ncy5cbiAgICovXG4gIHNldENvbmZpZyhjb25maWc6IEhvdEdsb2JhbENvbmZpZykge1xuICAgIHRoaXMuY29uZmlnU3ViamVjdC5uZXh0KHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IEhhbmRzb250YWJsZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCB0aGUgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIGdldENvbmZpZygpOiBIb3RHbG9iYWxDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjb25maWd1cmF0aW9uIHRvIHRoZSBkZWZhdWx0IHNldHRpbmdzLlxuICAgKiBUaGlzIG1ldGhvZCB1cGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIEJlaGF2aW9yU3ViamVjdCB3aXRoIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZXNldENvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh7IC4uLnRoaXMuZGVmYXVsdENvbmZpZyB9KTtcbiAgfVxufVxuIl19