@koobiq/components 18.29.0 → 18.31.0

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 (137) hide show
  1. package/code-block/_code-block-theme.scss +4 -12
  2. package/code-block/code-block-tokens.scss +3 -2
  3. package/code-block/code-block.scss +41 -10
  4. package/core/common-behaviors/error-state.d.ts +18 -0
  5. package/core/common-behaviors/index.d.ts +1 -1
  6. package/core/formatters/filesize/size.d.ts +19 -3
  7. package/core/forms/validators.d.ts +13 -0
  8. package/core/option/_option-theme.scss +24 -2
  9. package/core/pop-up/pop-up-trigger.d.ts +3 -4
  10. package/core/pop-up/pop-up.d.ts +2 -1
  11. package/core/select/common.d.ts +3 -3
  12. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  13. package/datepicker/datepicker-input.directive.d.ts +14 -5
  14. package/datepicker/datepicker-module.d.ts +1 -1
  15. package/datepicker/datepicker-toggle.component.d.ts +22 -0
  16. package/datepicker/datepicker-toggle.scss +6 -0
  17. package/ellipsis-center/ellipsis-center.directive.d.ts +8 -2
  18. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  19. package/esm2022/code-block/code-block.mjs +6 -3
  20. package/esm2022/core/common-behaviors/error-state.mjs +28 -1
  21. package/esm2022/core/common-behaviors/index.mjs +2 -2
  22. package/esm2022/core/formatters/filesize/formatter.mjs +6 -9
  23. package/esm2022/core/formatters/filesize/size.mjs +15 -17
  24. package/esm2022/core/forms/validators.mjs +22 -1
  25. package/esm2022/core/option/option.mjs +2 -2
  26. package/esm2022/core/pop-up/pop-up-trigger.mjs +19 -10
  27. package/esm2022/core/pop-up/pop-up.mjs +6 -2
  28. package/esm2022/core/select/common.mjs +6 -4
  29. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  30. package/esm2022/core/version.mjs +2 -2
  31. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  32. package/esm2022/datepicker/datepicker-input.directive.mjs +66 -6
  33. package/esm2022/datepicker/datepicker-module.mjs +8 -3
  34. package/esm2022/datepicker/datepicker-toggle.component.mjs +94 -10
  35. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  36. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +14 -4
  37. package/esm2022/file-upload/file-upload.mjs +2 -1
  38. package/esm2022/file-upload/multiple-file-upload.component.mjs +21 -7
  39. package/esm2022/file-upload/single-file-upload.component.mjs +16 -7
  40. package/esm2022/filter-bar/filter-bar.mjs +11 -3
  41. package/esm2022/filter-bar/filter-bar.types.mjs +1 -1
  42. package/esm2022/filter-bar/filter-search.mjs +2 -2
  43. package/esm2022/filter-bar/filters.mjs +2 -2
  44. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  45. package/esm2022/filter-bar/pipes/pipe-button.mjs +1 -1
  46. package/esm2022/filter-bar/pipes/pipe-date.mjs +2 -2
  47. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +2 -2
  48. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +29 -9
  49. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +30 -10
  50. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  51. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  52. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  53. package/esm2022/form-field/form-field.mjs +8 -8
  54. package/esm2022/form-field/stepper.mjs +20 -4
  55. package/esm2022/icon/icon-button.component.mjs +2 -2
  56. package/esm2022/list/list-selection.component.mjs +5 -4
  57. package/esm2022/list/list.component.mjs +2 -2
  58. package/esm2022/overflow-items/overflow-items.mjs +43 -70
  59. package/esm2022/popover/popover.component.mjs +10 -4
  60. package/esm2022/select/select.component.mjs +34 -17
  61. package/esm2022/tabs/tab-group.component.mjs +1 -1
  62. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  63. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  64. package/esm2022/tooltip/tooltip.component.mjs +12 -3
  65. package/esm2022/top-bar/top-bar.mjs +2 -2
  66. package/esm2022/tree/toggle.mjs +2 -2
  67. package/esm2022/tree/tree-option.component.mjs +5 -4
  68. package/esm2022/tree/tree-selection.component.mjs +2 -2
  69. package/esm2022/tree/tree.mjs +2 -2
  70. package/esm2022/tree-select/tree-select.component.mjs +32 -13
  71. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  72. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-code-block.mjs +5 -2
  74. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-core.mjs +99 -41
  76. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-datepicker.mjs +159 -11
  78. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  80. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-ellipsis-center.mjs +13 -3
  82. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-file-upload.mjs +32 -10
  84. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-filter-bar.mjs +75 -27
  86. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-form-field.mjs +25 -10
  88. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-icon.mjs +2 -2
  90. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-list.mjs +6 -5
  92. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-overflow-items.mjs +42 -69
  94. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-popover.mjs +9 -3
  96. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-select.mjs +33 -16
  98. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-tabs.mjs +1 -1
  100. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  102. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-tooltip.mjs +11 -2
  104. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  106. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-tree-select.mjs +31 -12
  108. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-tree.mjs +10 -9
  110. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  111. package/file-upload/_file-upload-theme.scss +38 -22
  112. package/file-upload/file-upload-tokens.scss +37 -14
  113. package/file-upload/file-upload.d.ts +1 -0
  114. package/file-upload/multiple-file-upload.component.d.ts +12 -5
  115. package/file-upload/multiple-file-upload.component.scss +66 -69
  116. package/file-upload/single-file-upload.component.d.ts +7 -1
  117. package/file-upload/single-file-upload.component.scss +8 -0
  118. package/filter-bar/filter-bar.d.ts +7 -1
  119. package/filter-bar/filter-bar.types.d.ts +5 -0
  120. package/filter-bar/pipes/pipe-multi-select.d.ts +5 -1
  121. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -1
  122. package/form-field/form-field.d.ts +3 -1
  123. package/form-field/stepper.d.ts +15 -1
  124. package/icon/_icon-button-theme.scss +67 -85
  125. package/list/_list-theme.scss +24 -2
  126. package/list/list-tokens.scss +5 -0
  127. package/overflow-items/overflow-items.d.ts +16 -25
  128. package/package.json +6 -6
  129. package/popover/popover.component.d.ts +4 -2
  130. package/schematics/ng-add/index.js +5 -5
  131. package/select/select.component.d.ts +8 -1
  132. package/tooltip/tooltip.component.d.ts +8 -1
  133. package/top-bar/top-bar.scss +1 -0
  134. package/tree/_tree-theme.scss +30 -7
  135. package/tree/tree-option.scss +5 -2
  136. package/tree/tree-tokens.scss +5 -0
  137. package/tree-select/tree-select.component.d.ts +8 -1
@@ -1,4 +1,4 @@
1
- import { Directive, inject, Input, NgModule, Renderer2 } from '@angular/core';
1
+ import { ChangeDetectorRef, Directive, inject, Input, NgModule, numberAttribute, Renderer2 } from '@angular/core';
2
2
  import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
3
3
  import { Subject, Subscription } from 'rxjs';
4
4
  import { debounceTime } from 'rxjs/operators';
@@ -8,15 +8,22 @@ export class KbqEllipsisCenterDirective extends KbqTooltipTrigger {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.renderer = inject(Renderer2);
11
+ this.cdr = inject(ChangeDetectorRef);
11
12
  this.minVisibleLength = MIN_VISIBLE_LENGTH;
12
13
  this.charWidth = 7;
14
+ /**
15
+ * Debounce time (ms) for resize events before recalculating ellipsis position.
16
+ * @default 50
17
+ */
18
+ this.debounceInterval = 50;
13
19
  this.resizeStream = new Subject();
14
20
  this.resizeSubscription = Subscription.EMPTY;
15
- this.debounceInterval = 50;
16
21
  }
17
22
  set kbqEllipsisCenter(value) {
18
23
  this._kbqEllipsisCenter = value;
19
24
  this.refresh();
25
+ // check the view to properly calculate text-start and text-end on text initialized
26
+ this.cdr.detectChanges();
20
27
  }
21
28
  ngOnInit() {
22
29
  super.ngOnInit();
@@ -67,7 +74,7 @@ export class KbqEllipsisCenterDirective extends KbqTooltipTrigger {
67
74
  this.renderer.appendChild(this.elementRef.nativeElement, dataTextEnd);
68
75
  }
69
76
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqEllipsisCenterDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
70
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: { kbqEllipsisCenter: "kbqEllipsisCenter", minVisibleLength: "minVisibleLength", charWidth: "charWidth" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, classAttribute: "kbq-ellipsis-center" }, usesInheritance: true, ngImport: i0 }); }
77
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: { kbqEllipsisCenter: "kbqEllipsisCenter", minVisibleLength: "minVisibleLength", charWidth: "charWidth", debounceInterval: ["debounceInterval", "debounceInterval", numberAttribute] }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, classAttribute: "kbq-ellipsis-center" }, usesInheritance: true, ngImport: i0 }); }
71
78
  }
72
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqEllipsisCenterDirective, decorators: [{
73
80
  type: Directive,
@@ -84,6 +91,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
91
  type: Input
85
92
  }], charWidth: [{
86
93
  type: Input
94
+ }], debounceInterval: [{
95
+ type: Input,
96
+ args: [{ transform: numberAttribute }]
87
97
  }] } });
88
98
  export class KbqEllipsisCenterModule {
89
99
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqEllipsisCenterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -97,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
97
107
  declarations: [KbqEllipsisCenterDirective]
98
108
  }]
99
109
  }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMtY2VudGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZWxsaXBzaXMtY2VudGVyL2VsbGlwc2lzLWNlbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTlDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBUzlCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBaUI7SUFQakU7O1FBUVksYUFBUSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQU92QyxxQkFBZ0IsR0FBVyxrQkFBa0IsQ0FBQztRQUU5QyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBSXJDLHVCQUFrQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFFL0IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0tBK0RsRDtJQTlFRyxJQUFhLGlCQUFpQixDQUFDLEtBQWE7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQWNRLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8s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QUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDO2tJQWhGUSwwQkFBMEI7c0hBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFQdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIsaUJBQWlCLEVBQUUsMkJBQTJCO3FCQUNqRDtpQkFDSjs4QkFJZ0IsaUJBQWlCO3NCQUE3QixLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLOztBQTZFVixNQUFNLE9BQU8sdUJBQXVCO2tJQUF2Qix1QkFBdUI7bUlBQXZCLHVCQUF1QixpQkF2RnZCLDBCQUEwQixhQUExQiwwQkFBMEI7bUlBdUYxQix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9WSVNJQkxFX0xFTkdUSCA9IDUwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnFFbGxpcHNpc0NlbnRlcl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZWxsaXBzaXMtY2VudGVyJyxcbiAgICAgICAgJyh3aW5kb3c6cmVzaXplKSc6ICdyZXNpemVTdHJlYW0ubmV4dCgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRWxsaXBzaXNDZW50ZXJEaXJlY3RpdmUgZXh0ZW5kcyBLYnFUb29sdGlwVHJpZ2dlciBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIEBJbnB1dCgpIHNldCBrYnFFbGxpcHNpc0NlbnRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyID0gdmFsdWU7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIG1pblZpc2libGVMZW5ndGg6IG51bWJlciA9IE1JTl9WSVNJQkxFX0xFTkdUSDtcblxuICAgIEBJbnB1dCgpIGNoYXJXaWR0aCA9IDc7XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgX2ticUVsbGlwc2lzQ2VudGVyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gNTA7XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXI7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVN0cmVhbVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VJbnRlcnZhbCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2goKSB7XG4gICAgICAgIGxldCBzdGFydCA9ICcnO1xuICAgICAgICBsZXQgZW5kID0gJyc7XG5cbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXI7XG5cbiAgICAgICAgY29uc3QgW2RhdGFUZXh0U3RhcnQsIGRhdGFUZXh0RW5kXSA9IFsnZGF0YS10ZXh0LXN0YXJ0JywgJ2RhdGEtdGV4dC1lbmQnXS5tYXAoKHF1ZXJ5U2VsZWN0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuJHtxdWVyeVNlbGVjdG9yfWApO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBuZXdFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobmV3RWxlbWVudCwgcXVlcnlTZWxlY3Rvcik7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdFbGVtZW50O1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRhdGFUZXh0U3RhcnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dCh0aGlzLl9rYnFFbGxpcHNpc0NlbnRlcikpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRhdGFUZXh0RW5kLCB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoZW5kKSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoID4gZGF0YVRleHRTdGFydC5zY3JvbGxXaWR0aDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBzdGFydCA9ICcnO1xuICAgICAgICAgICAgICAgIGVuZCA9IHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdmVyYWdlQ2hhcldpZHRoID0gdGhpcy5jaGFyV2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdENoYXJzTGVuZ3RoID0gTWF0aC5yb3VuZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLyBhdmVyYWdlQ2hhcldpZHRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzbGljZUluZGV4OiBudW1iZXIgPSBNYXRoLnJvdW5kKHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyLmxlbmd0aCAtIGxhc3RDaGFyc0xlbmd0aCk7XG5cbiAgICAgICAgICAgICAgICBzdGFydCA9IHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyLnNsaWNlKDAsIHNsaWNlSW5kZXgpO1xuICAgICAgICAgICAgICAgIGVuZCA9IHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyLnNsaWNlKHNsaWNlSW5kZXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkYXRhVGV4dFN0YXJ0LmlubmVyVGV4dCA9IHN0YXJ0O1xuICAgICAgICAgICAgZGF0YVRleHRFbmQuaW5uZXJUZXh0ID0gZW5kO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBkYXRhVGV4dFN0YXJ0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZGF0YVRleHRFbmQpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbS2JxRWxsaXBzaXNDZW50ZXJEaXJlY3RpdmVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ticUVsbGlwc2lzQ2VudGVyRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFFbGxpcHNpc0NlbnRlck1vZHVsZSB7fVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMtY2VudGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZWxsaXBzaXMtY2VudGVyL2VsbGlwc2lzLWNlbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsZUFBZSxFQUdmLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTlDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBUzlCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBaUI7SUFQakU7O1FBUVksYUFBUSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxRQUFHLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBU2xELHFCQUFnQixHQUFXLGtCQUFrQixDQUFDO1FBRTlDLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFFdkI7OztXQUdHO1FBQ29DLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUU1RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFJckMsdUJBQWtCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQStEbkQ7SUFwRkcsSUFBYSxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMsYUFB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a0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUVELGFBQWEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUUsQ0FBQztrSUF2RlEsMEJBQTBCO3NIQUExQiwwQkFBMEIsOE1BbUJmLGVBQWU7OzRGQW5CMUIsMEJBQTBCO2tCQVB0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixpQkFBaUIsRUFBRSwyQkFBMkI7cUJBQ2pEO2lCQUNKOzhCQUtnQixpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBT0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTWlDLGdCQUFnQjtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7O0FBMkV6QyxNQUFNLE9BQU8sdUJBQXVCO2tJQUF2Qix1QkFBdUI7bUlBQXZCLHVCQUF1QixpQkE5RnZCLDBCQUEwQixhQUExQiwwQkFBMEI7bUlBOEYxQix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9WSVNJQkxFX0xFTkdUSCA9IDUwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnFFbGxpcHNpc0NlbnRlcl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtZWxsaXBzaXMtY2VudGVyJyxcbiAgICAgICAgJyh3aW5kb3c6cmVzaXplKSc6ICdyZXNpemVTdHJlYW0ubmV4dCgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRWxsaXBzaXNDZW50ZXJEaXJlY3RpdmUgZXh0ZW5kcyBLYnFUb29sdGlwVHJpZ2dlciBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgQElucHV0KCkgc2V0IGticUVsbGlwc2lzQ2VudGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXIgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgIC8vIGNoZWNrIHRoZSB2aWV3IHRvIHByb3Blcmx5IGNhbGN1bGF0ZSB0ZXh0LXN0YXJ0IGFuZCB0ZXh0LWVuZCBvbiB0ZXh0IGluaXRpYWxpemVkXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBtaW5WaXNpYmxlTGVuZ3RoOiBudW1iZXIgPSBNSU5fVklTSUJMRV9MRU5HVEg7XG5cbiAgICBASW5wdXQoKSBjaGFyV2lkdGggPSA3O1xuXG4gICAgLyoqXG4gICAgICogRGVib3VuY2UgdGltZSAobXMpIGZvciByZXNpemUgZXZlbnRzIGJlZm9yZSByZWNhbGN1bGF0aW5nIGVsbGlwc2lzIHBvc2l0aW9uLlxuICAgICAqIEBkZWZhdWx0IDUwXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgZGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gNTA7XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgX2ticUVsbGlwc2lzQ2VudGVyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLl9rYnFFbGxpcHNpc0NlbnRlcjtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaCgpIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gJyc7XG4gICAgICAgIGxldCBlbmQgPSAnJztcblxuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLl9rYnFFbGxpcHNpc0NlbnRlcjtcblxuICAgICAgICBjb25zdCBbZGF0YVRleHRTdGFydCwgZGF0YVRleHRFbmRdID0gWydkYXRhLXRleHQtc3RhcnQnLCAnZGF0YS10ZXh0LWVuZCddLm1hcCgocXVlcnlTZWxlY3RvcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3F1ZXJ5U2VsZWN0b3J9YCk7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuZXdFbGVtZW50LCBxdWVyeVNlbGVjdG9yKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ld0VsZW1lbnQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZGF0YVRleHRTdGFydCwgdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KHRoaXMuX2ticUVsbGlwc2lzQ2VudGVyKSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZGF0YVRleHRFbmQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChlbmQpKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggPiBkYXRhVGV4dFN0YXJ0LnNjcm9sbFdpZHRoO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHN0YXJ0ID0gJyc7XG4gICAgICAgICAgICAgICAgZW5kID0gdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF2ZXJhZ2VDaGFyV2lkdGggPSB0aGlzLmNoYXJXaWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0Q2hhcnNMZW5ndGggPSBNYXRoLnJvdW5kKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAvIGF2ZXJhZ2VDaGFyV2lkdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNsaWNlSW5kZXg6IG51bWJlciA9IE1hdGgucm91bmQodGhpcy5fa2JxRWxsaXBzaXNDZW50ZXIubGVuZ3RoIC0gbGFzdENoYXJzTGVuZ3RoKTtcblxuICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXIuc2xpY2UoMCwgc2xpY2VJbmRleCk7XG4gICAgICAgICAgICAgICAgZW5kID0gdGhpcy5fa2JxRWxsaXBzaXNDZW50ZXIuc2xpY2Uoc2xpY2VJbmRleCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRhdGFUZXh0U3RhcnQuaW5uZXJUZXh0ID0gc3RhcnQ7XG4gICAgICAgICAgICBkYXRhVGV4dEVuZC5pbm5lclRleHQgPSBlbmQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGRhdGFUZXh0U3RhcnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBkYXRhVGV4dEVuZCk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtLYnFFbGxpcHNpc0NlbnRlckRpcmVjdGl2ZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbS2JxRWxsaXBzaXNDZW50ZXJEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEticUVsbGlwc2lzQ2VudGVyTW9kdWxlIHt9XG4iXX0=
@@ -4,6 +4,7 @@ import { ErrorStateMatcher, KBQ_LOCALE_SERVICE } from '@koobiq/components/core';
4
4
  import { Subject } from 'rxjs';
5
5
  /* Object for labels customization inside file upload component */
6
6
  export const KBQ_FILE_UPLOAD_CONFIGURATION = new InjectionToken('KbqFileUploadConfiguration');
7
+ /** @deprecated use `FileValidators.isCorrectExtension` instead. Will be removed in next major release. */
7
8
  export const isCorrectExtension = (file, accept) => {
8
9
  if (!accept?.length)
9
10
  return true;
@@ -62,4 +63,4 @@ export class KbqFileUploadBase {
62
63
  }
63
64
  }
64
65
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQW1DaEQsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFvQiw0QkFBNEIsQ0FBQyxDQUFDO0FBRWpILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBVSxFQUFFLE1BQWlCLEVBQVcsRUFBRTtJQUN6RSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQztJQUVqQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztJQUM1QixNQUFNLE9BQU8sR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUVwRCxLQUFLLE1BQU0sMkJBQTJCLElBQUksTUFBTSxFQUFFLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUU3RCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsb0JBQW9CO0FBQ3BCLE1BQU0sT0FBZ0IsaUJBQWlCO0lBQXZDO1FBQ0k7NkZBQ3FGO1FBQ3JGLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFLNUI7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1QyxvQkFBb0I7UUFDRCxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkQsb0JBQW9CO1FBQ0QsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxvQkFBb0I7UUFDRCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELG9CQUFvQjtRQUNELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEYsb0JBQW9CO1FBQ0QsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLG9CQUFvQjtRQUNELGVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkUsb0JBQW9CO1FBQ0Qsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRixvQkFBb0I7UUFDRCw2QkFBd0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSxvQkFBb0I7UUFDRCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBZ0J2RCxDQUFDO0lBZEc7dUJBQ21CO0lBQ25CLGdCQUFnQjtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdkQsSUFBSSxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0NvbnRyb2wsIE5nRm9ybSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FuVXBkYXRlRXJyb3JTdGF0ZSwgRXJyb3JTdGF0ZU1hdGNoZXIsIEtCUV9MT0NBTEVfU0VSVklDRSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEticUZpbGUgZXh0ZW5kcyBGaWxlIHtcbiAgICAvKiB1c2VkIHdoZW4gZGlyZWN0b3J5IGRyb3BwZWQgKi9cbiAgICBmdWxsUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEticUZpbGVJdGVtIHtcbiAgICBmaWxlOiBGaWxlO1xuICAgIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgICBsb2FkaW5nPzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAgIHByb2dyZXNzPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2JxSW5wdXRGaWxlIHtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBhY2NlcHQ/OiBzdHJpbmdbXTtcbiAgICBvbkZpbGVTZWxlY3RlZFZpYUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQ7XG4gICAgb25GaWxlRHJvcHBlZChmaWxlczogRmlsZUxpc3QgfCBLYnFGaWxlW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEticUlucHV0RmlsZUxhYmVsIHtcbiAgICAvKiBUZXh0IGZvciBkZXNjcmlwdGlvbiwgdXNlZCB3aXRoIGBicm93c2VMaW5rYCAqL1xuICAgIGNhcHRpb25UZXh0OiBzdHJpbmc7XG4gICAgLyogVGV4dCBmb3IgbGluayB3aXRoIHdoaWNoIHRoZSBmaWxlKHMpIGNhbiBiZSBzZWxlY3RlZCB0byBkb3dubG9hZCAqL1xuICAgIGJyb3dzZUxpbms6IHN0cmluZztcbiAgICAvKiBIZWFkZXIgZm9yIG11bHRpcGxlIGZpbGUtdXBsb2FkIGluIGRlZmF1bHQgc2l6ZSAqL1xuICAgIHRpdGxlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBGb3JtQ29udHJvbCBmb3IgdmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBLYnFGaWxlVmFsaWRhdG9yRm4gPSAoZmlsZTogRmlsZSkgPT4gc3RyaW5nIHwgbnVsbDtcblxuLyogT2JqZWN0IGZvciBsYWJlbHMgY3VzdG9taXphdGlvbiBpbnNpZGUgZmlsZSB1cGxvYWQgY29tcG9uZW50ICovXG5leHBvcnQgY29uc3QgS0JRX0ZJTEVfVVBMT0FEX0NPTkZJR1VSQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxSW5wdXRGaWxlTGFiZWw+KCdLYnFGaWxlVXBsb2FkQ29uZmlndXJhdGlvbicpO1xuXG5leHBvcnQgY29uc3QgaXNDb3JyZWN0RXh0ZW5zaW9uID0gKGZpbGU6IEZpbGUsIGFjY2VwdD86IHN0cmluZ1tdKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKCFhY2NlcHQ/Lmxlbmd0aCkgcmV0dXJuIHRydWU7XG5cbiAgICBjb25zdCB7IG5hbWUsIHR5cGUgfSA9IGZpbGU7XG4gICAgY29uc3QgZmlsZUV4dDogc3RyaW5nID0gbmFtZS5zcGxpdCgnLicpLnBvcCgpIHx8ICcnO1xuXG4gICAgZm9yIChjb25zdCBhY2NlcHRlZEV4dGVuc2lvbk9yTWltZVR5cGUgb2YgYWNjZXB0KSB7XG4gICAgICAgIGNvbnN0IHR5cGVBc1JlZ0V4cCA9IG5ldyBSZWdFeHAoYWNjZXB0ZWRFeHRlbnNpb25Pck1pbWVUeXBlKTtcblxuICAgICAgICBpZiAodHlwZUFzUmVnRXhwLnRlc3QoZmlsZUV4dCkgfHwgdHlwZUFzUmVnRXhwLnRlc3QodHlwZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLYnFGaWxlVXBsb2FkQmFzZSBpbXBsZW1lbnRzIENhblVwZGF0ZUVycm9yU3RhdGUge1xuICAgIC8qKiBUcmFja3Mgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGluIGFuIGVycm9yIHN0YXRlIGJhc2VkIG9uIHRoZSBjb250cm9sLCBwYXJlbnQgZm9ybSxcbiAgICAgKiBhbmQgYGVycm9yU3RhdGVNYXRjaGVyYCwgdHJpZ2dlcmluZyB2aXN1YWwgdXBkYXRlcyBhbmQgc3RhdGUgY2hhbmdlcyBpZiBuZWVkZWQuICovXG4gICAgZXJyb3JTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIEFuIG9iamVjdCB1c2VkIHRvIGNvbnRyb2wgdGhlIGVycm9yIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gICAgYWJzdHJhY3QgZXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBzdGF0ZSBjaGFuZ2VzIGFuZCBzaG91bGQgY2F1c2UgdGhlIHBhcmVudFxuICAgICAqIGZvcm0tZmllbGQgdG8gdXBkYXRlLiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIGBLYnFGb3JtRmllbGRDb250cm9sYC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFyZW50Rm9ybSA9IGluamVjdChOZ0Zvcm0sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFyZW50Rm9ybUdyb3VwID0gaW5qZWN0KEZvcm1Hcm91cERpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoRXJyb3JTdGF0ZU1hdGNoZXIpO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogaW1wbGVtZW50ZWQgYXMgcGFydCBvZiBiYXNlIGNsYXNzLiBEZWNpZGVkIG5vdCB1c2UgbWl4aW5FcnJvclN0YXRlLCBub3QgdG8gb3ZlcmNvbXBsaWNhdGVcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgdXBkYXRlRXJyb3JTdGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgb2xkU3RhdGUgPSB0aGlzLmVycm9yU3RhdGU7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucGFyZW50Rm9ybUdyb3VwIHx8IHRoaXMucGFyZW50Rm9ybTtcbiAgICAgICAgY29uc3QgbWF0Y2hlciA9IHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXIgfHwgdGhpcy5kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbCA/ICh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCkgOiBudWxsO1xuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IG1hdGNoZXIuaXNFcnJvclN0YXRlKGNvbnRyb2wsIHBhcmVudCk7XG5cbiAgICAgICAgaWYgKG5ld1N0YXRlICE9PSBvbGRTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5lcnJvclN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQW1DaEQsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFvQiw0QkFBNEIsQ0FBQyxDQUFDO0FBRWpILDBHQUEwRztBQUMxRyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVUsRUFBRSxNQUFpQixFQUFXLEVBQUU7SUFDekUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFakMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDNUIsTUFBTSxPQUFPLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFFcEQsS0FBSyxNQUFNLDJCQUEyQixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQy9DLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFN0QsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLE9BQWdCLGlCQUFpQjtJQUF2QztRQUNJOzZGQUNxRjtRQUNyRixlQUFVLEdBQVksS0FBSyxDQUFDO1FBSzVCOzs7O1dBSUc7UUFDTSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFNUMsb0JBQW9CO1FBQ0QsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25ELG9CQUFvQjtRQUNELGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsb0JBQW9CO1FBQ0QsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxvQkFBb0I7UUFDRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLG9CQUFvQjtRQUNELGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRixvQkFBb0I7UUFDRCxlQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLG9CQUFvQjtRQUNELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEYsb0JBQW9CO1FBQ0QsNkJBQXdCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEUsb0JBQW9CO1FBQ0QsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQWdCdkQsQ0FBQztJQWRHO3VCQUNtQjtJQUNuQixnQkFBZ0I7UUFDWixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBOEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3ZGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXZELElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdDb250cm9sLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhblVwZGF0ZUVycm9yU3RhdGUsIEVycm9yU3RhdGVNYXRjaGVyLCBLQlFfTE9DQUxFX1NFUlZJQ0UgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFGaWxlIGV4dGVuZHMgRmlsZSB7XG4gICAgLyogdXNlZCB3aGVuIGRpcmVjdG9yeSBkcm9wcGVkICovXG4gICAgZnVsbFBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFGaWxlSXRlbSB7XG4gICAgZmlsZTogRmlsZTtcbiAgICBoYXNFcnJvcj86IGJvb2xlYW47XG4gICAgbG9hZGluZz86IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgICBwcm9ncmVzcz86IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEticUlucHV0RmlsZSB7XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgYWNjZXB0Pzogc3RyaW5nW107XG4gICAgb25GaWxlU2VsZWN0ZWRWaWFDbGljayhldmVudDogRXZlbnQpOiB2b2lkO1xuICAgIG9uRmlsZURyb3BwZWQoZmlsZXM6IEZpbGVMaXN0IHwgS2JxRmlsZVtdKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLYnFJbnB1dEZpbGVMYWJlbCB7XG4gICAgLyogVGV4dCBmb3IgZGVzY3JpcHRpb24sIHVzZWQgd2l0aCBgYnJvd3NlTGlua2AgKi9cbiAgICBjYXB0aW9uVGV4dDogc3RyaW5nO1xuICAgIC8qIFRleHQgZm9yIGxpbmsgd2l0aCB3aGljaCB0aGUgZmlsZShzKSBjYW4gYmUgc2VsZWN0ZWQgdG8gZG93bmxvYWQgKi9cbiAgICBicm93c2VMaW5rOiBzdHJpbmc7XG4gICAgLyogSGVhZGVyIGZvciBtdWx0aXBsZSBmaWxlLXVwbG9hZCBpbiBkZWZhdWx0IHNpemUgKi9cbiAgICB0aXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgRm9ybUNvbnRyb2wgZm9yIHZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgS2JxRmlsZVZhbGlkYXRvckZuID0gKGZpbGU6IEZpbGUpID0+IHN0cmluZyB8IG51bGw7XG5cbi8qIE9iamVjdCBmb3IgbGFiZWxzIGN1c3RvbWl6YXRpb24gaW5zaWRlIGZpbGUgdXBsb2FkIGNvbXBvbmVudCAqL1xuZXhwb3J0IGNvbnN0IEtCUV9GSUxFX1VQTE9BRF9DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPEticUlucHV0RmlsZUxhYmVsPignS2JxRmlsZVVwbG9hZENvbmZpZ3VyYXRpb24nKTtcblxuLyoqIEBkZXByZWNhdGVkIHVzZSBgRmlsZVZhbGlkYXRvcnMuaXNDb3JyZWN0RXh0ZW5zaW9uYCBpbnN0ZWFkLiBXaWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciByZWxlYXNlLiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29ycmVjdEV4dGVuc2lvbiA9IChmaWxlOiBGaWxlLCBhY2NlcHQ/OiBzdHJpbmdbXSk6IGJvb2xlYW4gPT4ge1xuICAgIGlmICghYWNjZXB0Py5sZW5ndGgpIHJldHVybiB0cnVlO1xuXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlIH0gPSBmaWxlO1xuICAgIGNvbnN0IGZpbGVFeHQ6IHN0cmluZyA9IG5hbWUuc3BsaXQoJy4nKS5wb3AoKSB8fCAnJztcblxuICAgIGZvciAoY29uc3QgYWNjZXB0ZWRFeHRlbnNpb25Pck1pbWVUeXBlIG9mIGFjY2VwdCkge1xuICAgICAgICBjb25zdCB0eXBlQXNSZWdFeHAgPSBuZXcgUmVnRXhwKGFjY2VwdGVkRXh0ZW5zaW9uT3JNaW1lVHlwZSk7XG5cbiAgICAgICAgaWYgKHR5cGVBc1JlZ0V4cC50ZXN0KGZpbGVFeHQpIHx8IHR5cGVBc1JlZ0V4cC50ZXN0KHR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2JxRmlsZVVwbG9hZEJhc2UgaW1wbGVtZW50cyBDYW5VcGRhdGVFcnJvclN0YXRlIHtcbiAgICAvKiogVHJhY2tzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBpbiBhbiBlcnJvciBzdGF0ZSBiYXNlZCBvbiB0aGUgY29udHJvbCwgcGFyZW50IGZvcm0sXG4gICAgICogYW5kIGBlcnJvclN0YXRlTWF0Y2hlcmAsIHRyaWdnZXJpbmcgdmlzdWFsIHVwZGF0ZXMgYW5kIHN0YXRlIGNoYW5nZXMgaWYgbmVlZGVkLiAqL1xuICAgIGVycm9yU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBBbiBvYmplY3QgdXNlZCB0byBjb250cm9sIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICAgIGFic3RyYWN0IGVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcjtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgc3RhdGUgY2hhbmdlcyBhbmQgc2hvdWxkIGNhdXNlIHRoZSBwYXJlbnRcbiAgICAgKiBmb3JtLWZpZWxkIHRvIHVwZGF0ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBgS2JxRm9ybUZpZWxkQ29udHJvbGAuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KEtCUV9MT0NBTEVfU0VSVklDRSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmVudEZvcm0gPSBpbmplY3QoTmdGb3JtLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmVudEZvcm1Hcm91cCA9IGluamVjdChGb3JtR3JvdXBEaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyID0gaW5qZWN0KEVycm9yU3RhdGVNYXRjaGVyKTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIGltcGxlbWVudGVkIGFzIHBhcnQgb2YgYmFzZSBjbGFzcy4gRGVjaWRlZCBub3QgdXNlIG1peGluRXJyb3JTdGF0ZSwgbm90IHRvIG92ZXJjb21wbGljYXRlXG4gICAgICogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHVwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5lcnJvclN0YXRlO1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnBhcmVudEZvcm1Hcm91cCB8fCB0aGlzLnBhcmVudEZvcm07XG4gICAgICAgIGNvbnN0IG1hdGNoZXIgPSB0aGlzLmVycm9yU3RhdGVNYXRjaGVyIHx8IHRoaXMuZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2wgPyAodGhpcy5uZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2wpIDogbnVsbDtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBtYXRjaGVyLmlzRXJyb3JTdGF0ZShjb250cm9sLCBwYXJlbnQpO1xuXG4gICAgICAgIGlmIChuZXdTdGF0ZSAhPT0gb2xkU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19