@mozaic-ds/angular 0.26.1 → 0.27.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 (102) hide show
  1. package/adeo/components/dropdown/dropdown.component.d.ts +4 -1
  2. package/adeo/components/icon/icon.component.d.ts +3 -1
  3. package/adeo/components/taglist/components/taglist-layer-content/taglist-layer-content.component.d.ts +4 -1
  4. package/adeo/components/taglist/services/taglist.service.d.ts +11 -0
  5. package/adeo/components/taglist/taglist.component.d.ts +11 -6
  6. package/adeo/esm2020/components/action-bar/action-bar.component.mjs +1 -1
  7. package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +2 -3
  8. package/adeo/esm2020/components/built-it-menu/built-it-menu.component.mjs +1 -1
  9. package/adeo/esm2020/components/datatable/moz-datatable.component.mjs +1 -1
  10. package/adeo/esm2020/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.mjs +1 -1
  11. package/adeo/esm2020/components/datatable-management/moz-datatable-management.component.mjs +1 -1
  12. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +10 -4
  13. package/adeo/esm2020/components/field/field.component.mjs +3 -3
  14. package/adeo/esm2020/components/header/header.component.mjs +1 -1
  15. package/adeo/esm2020/components/icon/icon.component.mjs +7 -2
  16. package/adeo/esm2020/components/kpi/kpi.component.mjs +1 -1
  17. package/adeo/esm2020/components/layer/layer.component.mjs +2 -2
  18. package/adeo/esm2020/components/link/link.component.mjs +1 -1
  19. package/adeo/esm2020/components/listbox/listbox.component.mjs +3 -3
  20. package/adeo/esm2020/components/modal/modal.component.mjs +2 -2
  21. package/adeo/esm2020/components/pagination/pagination.component.mjs +1 -1
  22. package/adeo/esm2020/components/quantity-selector/quantity-selector.component.mjs +1 -1
  23. package/adeo/esm2020/components/sidebar/moz-sidebar.component.mjs +1 -1
  24. package/adeo/esm2020/components/stepper/step.component.mjs +1 -1
  25. package/adeo/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +12 -7
  26. package/adeo/esm2020/components/taglist/services/taglist.service.mjs +21 -0
  27. package/adeo/esm2020/components/taglist/taglist.component.mjs +33 -21
  28. package/adeo/esm2020/components/taglist/taglist.module.mjs +4 -2
  29. package/adeo/esm2020/components/tooltip/directive/tooltip.directive.mjs +5 -3
  30. package/adeo/fesm2015/mozaic-ds-angular.mjs +98 -51
  31. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  32. package/adeo/fesm2020/mozaic-ds-angular.mjs +96 -51
  33. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  34. package/adeo/package.json +1 -1
  35. package/bricoman/components/dropdown/dropdown.component.d.ts +4 -1
  36. package/bricoman/components/icon/icon.component.d.ts +3 -1
  37. package/bricoman/components/taglist/components/taglist-layer-content/taglist-layer-content.component.d.ts +4 -1
  38. package/bricoman/components/taglist/services/taglist.service.d.ts +11 -0
  39. package/bricoman/components/taglist/taglist.component.d.ts +11 -6
  40. package/bricoman/esm2020/components/action-bar/action-bar.component.mjs +1 -1
  41. package/bricoman/esm2020/components/autocomplete/autocomplete.component.mjs +2 -3
  42. package/bricoman/esm2020/components/built-it-menu/built-it-menu.component.mjs +1 -1
  43. package/bricoman/esm2020/components/datatable/moz-datatable.component.mjs +1 -1
  44. package/bricoman/esm2020/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.mjs +1 -1
  45. package/bricoman/esm2020/components/datatable-management/moz-datatable-management.component.mjs +1 -1
  46. package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +10 -4
  47. package/bricoman/esm2020/components/field/field.component.mjs +3 -3
  48. package/bricoman/esm2020/components/header/header.component.mjs +1 -1
  49. package/bricoman/esm2020/components/icon/icon.component.mjs +7 -2
  50. package/bricoman/esm2020/components/kpi/kpi.component.mjs +1 -1
  51. package/bricoman/esm2020/components/layer/layer.component.mjs +2 -2
  52. package/bricoman/esm2020/components/link/link.component.mjs +1 -1
  53. package/bricoman/esm2020/components/listbox/listbox.component.mjs +3 -3
  54. package/bricoman/esm2020/components/modal/modal.component.mjs +2 -2
  55. package/bricoman/esm2020/components/pagination/pagination.component.mjs +1 -1
  56. package/bricoman/esm2020/components/quantity-selector/quantity-selector.component.mjs +1 -1
  57. package/bricoman/esm2020/components/sidebar/moz-sidebar.component.mjs +1 -1
  58. package/bricoman/esm2020/components/stepper/step.component.mjs +1 -1
  59. package/bricoman/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +12 -7
  60. package/bricoman/esm2020/components/taglist/services/taglist.service.mjs +21 -0
  61. package/bricoman/esm2020/components/taglist/taglist.component.mjs +33 -21
  62. package/bricoman/esm2020/components/taglist/taglist.module.mjs +4 -2
  63. package/bricoman/esm2020/components/tooltip/directive/tooltip.directive.mjs +5 -3
  64. package/bricoman/fesm2015/mozaic-ds-angular.mjs +98 -51
  65. package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  66. package/bricoman/fesm2020/mozaic-ds-angular.mjs +96 -51
  67. package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  68. package/bricoman/package.json +1 -1
  69. package/components/dropdown/dropdown.component.d.ts +4 -1
  70. package/components/icon/icon.component.d.ts +3 -1
  71. package/components/taglist/components/taglist-layer-content/taglist-layer-content.component.d.ts +4 -1
  72. package/components/taglist/services/taglist.service.d.ts +11 -0
  73. package/components/taglist/taglist.component.d.ts +11 -6
  74. package/esm2020/components/action-bar/action-bar.component.mjs +1 -1
  75. package/esm2020/components/autocomplete/autocomplete.component.mjs +2 -3
  76. package/esm2020/components/built-it-menu/built-it-menu.component.mjs +1 -1
  77. package/esm2020/components/datatable/moz-datatable.component.mjs +1 -1
  78. package/esm2020/components/datatable-management/components/moz-datatable-management-content/moz-datatable-management-content.component.mjs +1 -1
  79. package/esm2020/components/datatable-management/moz-datatable-management.component.mjs +1 -1
  80. package/esm2020/components/dropdown/dropdown.component.mjs +10 -4
  81. package/esm2020/components/field/field.component.mjs +3 -3
  82. package/esm2020/components/header/header.component.mjs +1 -1
  83. package/esm2020/components/icon/icon.component.mjs +7 -2
  84. package/esm2020/components/kpi/kpi.component.mjs +1 -1
  85. package/esm2020/components/layer/layer.component.mjs +2 -2
  86. package/esm2020/components/link/link.component.mjs +1 -1
  87. package/esm2020/components/listbox/listbox.component.mjs +3 -3
  88. package/esm2020/components/modal/modal.component.mjs +2 -2
  89. package/esm2020/components/pagination/pagination.component.mjs +1 -1
  90. package/esm2020/components/quantity-selector/quantity-selector.component.mjs +1 -1
  91. package/esm2020/components/sidebar/moz-sidebar.component.mjs +1 -1
  92. package/esm2020/components/stepper/step.component.mjs +1 -1
  93. package/esm2020/components/taglist/components/taglist-layer-content/taglist-layer-content.component.mjs +12 -7
  94. package/esm2020/components/taglist/services/taglist.service.mjs +21 -0
  95. package/esm2020/components/taglist/taglist.component.mjs +33 -21
  96. package/esm2020/components/taglist/taglist.module.mjs +4 -2
  97. package/esm2020/components/tooltip/directive/tooltip.directive.mjs +5 -3
  98. package/fesm2015/mozaic-ds-angular.mjs +98 -51
  99. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  100. package/fesm2020/mozaic-ds-angular.mjs +96 -51
  101. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  102. package/package.json +1 -1
@@ -2,12 +2,15 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEn
2
2
  import { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';
3
3
  import { Subject, takeUntil } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../layer/layer.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../tag/tag.component";
5
+ import * as i1 from "./services/taglist.service";
6
+ import * as i2 from "../layer/layer.service";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "../tag/tag.component";
8
9
  export class TaglistComponent {
9
- constructor(layerService) {
10
+ constructor(taglistService, layerService, cdRef) {
11
+ this.taglistService = taglistService;
10
12
  this.layerService = layerService;
13
+ this.cdRef = cdRef;
11
14
  this.tagItems = [];
12
15
  this.tagSize = 's';
13
16
  this.showAllTitle = 'Show all';
@@ -15,18 +18,33 @@ export class TaglistComponent {
15
18
  this.layerTagsTitle = 'Tags';
16
19
  this.layerTagsIcon = 'Navigation_Display_Setting_24px';
17
20
  this.max = 5;
21
+ this.tagType = 'removable';
18
22
  this.removeTag = new EventEmitter();
19
23
  this._removedTagFromLayer$ = new Subject();
20
24
  this.destroyed = new Subject();
21
25
  }
26
+ ngOnChanges(changes) {
27
+ if (changes['tagItems'] && changes['tagItems'].currentValue) {
28
+ this.taglistService.setTagItems(this.tagItems);
29
+ }
30
+ }
31
+ ngOnInit() {
32
+ this.taglistService.setTagItems(this.tagItems);
33
+ this.taglistService.tagItems$.pipe(takeUntil(this.destroyed)).subscribe((tagItems) => {
34
+ this.tagItems = tagItems;
35
+ this.cdRef.markForCheck();
36
+ });
37
+ }
22
38
  showAllEvent() {
23
39
  this.taglistLayerRef = this.layerService.open(TaglistLayerContentComponent, {
24
- title: this.layerTagsTitle || 'Settings',
25
- icon: this.layerTagsIcon || 'Navigation_Display_Setting_24px',
40
+ title: this.layerTagsTitle ?? 'Settings',
41
+ icon: this.layerTagsIcon ?? 'Navigation_Display_Setting_24px',
26
42
  data: {
27
43
  tags: this.tagItems,
44
+ type: this.tagType,
28
45
  size: this.tagSize,
29
- subject: this._removedTagFromLayer$,
46
+ _removedTagFromLayer$: this._removedTagFromLayer$,
47
+ taglistService: this.taglistService,
30
48
  },
31
49
  });
32
50
  this._removedTagFromLayer$
@@ -35,15 +53,7 @@ export class TaglistComponent {
35
53
  }
36
54
  removeTagEvent(tagItem) {
37
55
  this.removeTag.emit(tagItem);
38
- }
39
- updateTaglistLayerConfig(tagItems) {
40
- if (this.taglistLayerRef) {
41
- this.taglistLayerRef.updateConfig({
42
- data: {
43
- tags: tagItems,
44
- },
45
- });
46
- }
56
+ this.taglistService.setTagItems(this.tagItems.filter((tag) => tag.id !== tagItem.id));
47
57
  }
48
58
  closeTaglistLayer() {
49
59
  if (this.taglistLayerRef) {
@@ -55,12 +65,12 @@ export class TaglistComponent {
55
65
  this.destroyed.complete();
56
66
  }
57
67
  }
58
- TaglistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
59
- TaglistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TaglistComponent, selector: "moz-taglist", inputs: { tagItems: "tagItems", tagSize: "tagSize", showAllTitle: "showAllTitle", showAll: "showAll", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", max: "max" }, outputs: { removeTag: "removeTag" }, ngImport: i0, template: "<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of tagItems; let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n", styles: [".mc-taglist{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mc-taglist__showhide{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
68
+ TaglistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistComponent, deps: [{ token: i1.TaglistService }, { token: i2.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
+ TaglistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TaglistComponent, selector: "moz-taglist", inputs: { tagItems: "tagItems", tagSize: "tagSize", showAllTitle: "showAllTitle", showAll: "showAll", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", max: "max", tagType: "tagType" }, outputs: { removeTag: "removeTag" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of taglistService.getTagItems(); let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n [type]=\"tagType\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n", styles: [".mc-taglist{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mc-taglist__showhide{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistComponent, decorators: [{
61
71
  type: Component,
62
- args: [{ selector: 'moz-taglist', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of tagItems; let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n", styles: [".mc-taglist{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mc-taglist__showhide{cursor:pointer}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i1.LayerService }]; }, propDecorators: { tagItems: [{
72
+ args: [{ selector: 'moz-taglist', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-taglist\">\n <ng-container *ngFor=\"let tagItem of taglistService.getTagItems(); let i = index\">\n <moz-tag\n class=\"tag-selected\"\n *ngIf=\"i < max || showAll\"\n type=\"removable\"\n [size]=\"tagSize\"\n [type]=\"tagType\"\n (clickOnRemove)=\"removeTagEvent(tagItem)\"\n >\n {{ tagItem.label }}\n </moz-tag>\n </ng-container>\n <ng-container *ngIf=\"!showAll && tagItems.length > max\">\n <a\n moz-tag\n [size]=\"tagSize\"\n class=\"tag-selected mc-taglist__showhide\"\n (click)=\"showAllEvent()\"\n >{{ showAllTitle }}</a\n >\n </ng-container>\n</div>\n", styles: [".mc-taglist{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mc-taglist__showhide{cursor:pointer}\n"] }]
73
+ }], ctorParameters: function () { return [{ type: i1.TaglistService }, { type: i2.LayerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tagItems: [{
64
74
  type: Input
65
75
  }], tagSize: [{
66
76
  type: Input
@@ -74,7 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
74
84
  type: Input
75
85
  }], max: [{
76
86
  type: Input
87
+ }], tagType: [{
88
+ type: Input
77
89
  }], removeTag: [{
78
90
  type: Output
79
91
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWdsaXN0L3RhZ2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFnbGlzdC90YWdsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFVMUMsTUFBTSxPQUFPLGdCQUFnQjtJQWMzQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWJyQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBYyxHQUFHLENBQUM7UUFDekIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFDbEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixtQkFBYyxHQUFZLE1BQU0sQ0FBQztRQUNqQyxrQkFBYSxHQUFZLGlDQUFpQyxDQUFDO1FBQzNELFFBQUcsR0FBVyxDQUFDLENBQUM7UUFDZixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUxQywwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQy9DLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBR2UsQ0FBQztJQUUzQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDMUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksVUFBVTtZQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxpQ0FBaUM7WUFDN0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjthQUNwQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUI7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFnQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sd0JBQXdCLENBQUMsUUFBbUI7UUFDakQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OEdBdkRVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDhRQ3RCN0Isa21CQXNCQTs0RkRBYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO21HQUc1QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFnSXRlbSB9IGZyb20gJy4uL3RhZy90YWctdHlwZSc7XG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi9sYXllci9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ2xpc3RMYXllckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFnbGlzdC1sYXllci1jb250ZW50L3RhZ2xpc3QtbGF5ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYXllclJlZiB9IGZyb20gJy4uL2xheWVyL2ludGVyZmFjZXMvbGF5ZXItcmVmJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LXRhZ2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhZ2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhZ2xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0YWdJdGVtczogVGFnSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIHRhZ1NpemU6ICdzJyB8ICdtJyA9ICdzJztcbiAgQElucHV0KCkgc2hvd0FsbFRpdGxlOiBzdHJpbmcgPSAnU2hvdyBhbGwnO1xuICBASW5wdXQoKSBzaG93QWxsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxheWVyVGFnc1RpdGxlPzogc3RyaW5nID0gJ1RhZ3MnO1xuICBASW5wdXQoKSBsYXllclRhZ3NJY29uPzogc3RyaW5nID0gJ05hdmlnYXRpb25fRGlzcGxheV9TZXR0aW5nXzI0cHgnO1xuICBASW5wdXQoKSBtYXg6IG51bWJlciA9IDU7XG4gIEBPdXRwdXQoKSByZW1vdmVUYWcgPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ0l0ZW0+KCk7XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlZFRhZ0Zyb21MYXllciQgPSBuZXcgU3ViamVjdDxUYWdJdGVtPigpO1xuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdGFnbGlzdExheWVyUmVmITogTGF5ZXJSZWY8VGFnbGlzdExheWVyQ29udGVudENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSkge31cblxuICBwdWJsaWMgc2hvd0FsbEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMudGFnbGlzdExheWVyUmVmID0gdGhpcy5sYXllclNlcnZpY2Uub3BlbihUYWdsaXN0TGF5ZXJDb250ZW50Q29tcG9uZW50LCB7XG4gICAgICB0aXRsZTogdGhpcy5sYXllclRhZ3NUaXRsZSB8fCAnU2V0dGluZ3MnLFxuICAgICAgaWNvbjogdGhpcy5sYXllclRhZ3NJY29uIHx8ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGFnczogdGhpcy50YWdJdGVtcyxcbiAgICAgICAgc2l6ZTogdGhpcy50YWdTaXplLFxuICAgICAgICBzdWJqZWN0OiB0aGlzLl9yZW1vdmVkVGFnRnJvbUxheWVyJCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZW1vdmVkVGFnRnJvbUxheWVyJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHRhZ0l0ZW0pID0+IHRoaXMucmVtb3ZlVGFnRXZlbnQodGFnSXRlbSkpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVRhZ0V2ZW50KHRhZ0l0ZW06IFRhZ0l0ZW0pIHtcbiAgICB0aGlzLnJlbW92ZVRhZy5lbWl0KHRhZ0l0ZW0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVRhZ2xpc3RMYXllckNvbmZpZyh0YWdJdGVtczogVGFnSXRlbVtdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFnbGlzdExheWVyUmVmKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RMYXllclJlZi51cGRhdGVDb25maWcoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGFnczogdGFnSXRlbXMsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VUYWdsaXN0TGF5ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFnbGlzdExheWVyUmVmKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RMYXllclJlZi5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQobnVsbCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1jLXRhZ2xpc3RcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFnSXRlbSBvZiB0YWdJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxtb3otdGFnXG4gICAgICBjbGFzcz1cInRhZy1zZWxlY3RlZFwiXG4gICAgICAqbmdJZj1cImkgPCBtYXggfHwgc2hvd0FsbFwiXG4gICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgICAgKGNsaWNrT25SZW1vdmUpPVwicmVtb3ZlVGFnRXZlbnQodGFnSXRlbSlcIlxuICAgID5cbiAgICAgIHt7IHRhZ0l0ZW0ubGFiZWwgfX1cbiAgICA8L21vei10YWc+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dBbGwgJiYgdGFnSXRlbXMubGVuZ3RoID4gbWF4XCI+XG4gICAgPGFcbiAgICAgIG1vei10YWdcbiAgICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgICAgY2xhc3M9XCJ0YWctc2VsZWN0ZWQgbWMtdGFnbGlzdF9fc2hvd2hpZGVcIlxuICAgICAgKGNsaWNrKT1cInNob3dBbGxFdmVudCgpXCJcbiAgICAgID57eyBzaG93QWxsVGl0bGUgfX08L2FcbiAgICA+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWdsaXN0L3RhZ2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFnbGlzdC90YWdsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBVzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFlM0IsWUFDUyxjQUE4QixFQUM3QixZQUEwQixFQUMxQixLQUF3QjtRQUZ6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFqQnpCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsWUFBTyxHQUFjLEdBQUcsQ0FBQztRQUN6QixpQkFBWSxHQUFXLFVBQVUsQ0FBQztRQUNsQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQVksTUFBTSxDQUFDO1FBQ2pDLGtCQUFhLEdBQVksaUNBQWlDLENBQUM7UUFDM0QsUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixZQUFPLEdBQVksV0FBVyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFDLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDL0MsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFPL0IsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDMUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksVUFBVTtZQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxpQ0FBaUM7WUFDN0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNsQixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2xCLHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7Z0JBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYzthQUNwQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUI7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFnQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7OzhHQXBFVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix1VEMzQjdCLGdwQkF1QkE7NEZESWEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtnS0FHNUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhZ0l0ZW0sIFRhZ1R5cGUgfSBmcm9tICcuLi90YWcvdGFnLXR5cGUnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5ZXIvbGF5ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWdsaXN0TGF5ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhZ2xpc3QtbGF5ZXItY29udGVudC90YWdsaXN0LWxheWVyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGF5ZXJSZWYgfSBmcm9tICcuLi9sYXllci9pbnRlcmZhY2VzL2xheWVyLXJlZic7XG5pbXBvcnQgeyBUYWdsaXN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGFnbGlzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LXRhZ2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhZ2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhZ2xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdGFnSXRlbXM6IFRhZ0l0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSB0YWdTaXplOiAncycgfCAnbScgPSAncyc7XG4gIEBJbnB1dCgpIHNob3dBbGxUaXRsZTogc3RyaW5nID0gJ1Nob3cgYWxsJztcbiAgQElucHV0KCkgc2hvd0FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYXllclRhZ3NUaXRsZT86IHN0cmluZyA9ICdUYWdzJztcbiAgQElucHV0KCkgbGF5ZXJUYWdzSWNvbj86IHN0cmluZyA9ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JztcbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSA1O1xuICBASW5wdXQoKSB0YWdUeXBlOiBUYWdUeXBlID0gJ3JlbW92YWJsZSc7XG4gIEBPdXRwdXQoKSByZW1vdmVUYWcgPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ0l0ZW0+KCk7XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlZFRhZ0Zyb21MYXllciQgPSBuZXcgU3ViamVjdDxUYWdJdGVtPigpO1xuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdGFnbGlzdExheWVyUmVmITogTGF5ZXJSZWY8VGFnbGlzdExheWVyQ29udGVudENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhZ2xpc3RTZXJ2aWNlOiBUYWdsaXN0U2VydmljZSxcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RhZ0l0ZW1zJ10gJiYgY2hhbmdlc1sndGFnSXRlbXMnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudGFnbGlzdFNlcnZpY2Uuc2V0VGFnSXRlbXModGhpcy50YWdJdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWdsaXN0U2VydmljZS5zZXRUYWdJdGVtcyh0aGlzLnRhZ0l0ZW1zKTtcblxuICAgIHRoaXMudGFnbGlzdFNlcnZpY2UudGFnSXRlbXMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh0YWdJdGVtcykgPT4ge1xuICAgICAgdGhpcy50YWdJdGVtcyA9IHRhZ0l0ZW1zO1xuICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWxsRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy50YWdsaXN0TGF5ZXJSZWYgPSB0aGlzLmxheWVyU2VydmljZS5vcGVuKFRhZ2xpc3RMYXllckNvbnRlbnRDb21wb25lbnQsIHtcbiAgICAgIHRpdGxlOiB0aGlzLmxheWVyVGFnc1RpdGxlID8/ICdTZXR0aW5ncycsXG4gICAgICBpY29uOiB0aGlzLmxheWVyVGFnc0ljb24gPz8gJ05hdmlnYXRpb25fRGlzcGxheV9TZXR0aW5nXzI0cHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0YWdzOiB0aGlzLnRhZ0l0ZW1zLFxuICAgICAgICB0eXBlOiB0aGlzLnRhZ1R5cGUsXG4gICAgICAgIHNpemU6IHRoaXMudGFnU2l6ZSxcbiAgICAgICAgX3JlbW92ZWRUYWdGcm9tTGF5ZXIkOiB0aGlzLl9yZW1vdmVkVGFnRnJvbUxheWVyJCxcbiAgICAgICAgdGFnbGlzdFNlcnZpY2U6IHRoaXMudGFnbGlzdFNlcnZpY2UsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fcmVtb3ZlZFRhZ0Zyb21MYXllciRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKCh0YWdJdGVtKSA9PiB0aGlzLnJlbW92ZVRhZ0V2ZW50KHRhZ0l0ZW0pKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUYWdFdmVudCh0YWdJdGVtOiBUYWdJdGVtKSB7XG4gICAgdGhpcy5yZW1vdmVUYWcuZW1pdCh0YWdJdGVtKTtcbiAgICB0aGlzLnRhZ2xpc3RTZXJ2aWNlLnNldFRhZ0l0ZW1zKHRoaXMudGFnSXRlbXMuZmlsdGVyKCh0YWcpID0+IHRhZy5pZCAhPT0gdGFnSXRlbS5pZCkpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlVGFnbGlzdExheWVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRhZ2xpc3RMYXllclJlZikge1xuICAgICAgdGhpcy50YWdsaXN0TGF5ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KG51bGwpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYy10YWdsaXN0XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhZ0l0ZW0gb2YgdGFnbGlzdFNlcnZpY2UuZ2V0VGFnSXRlbXMoKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxtb3otdGFnXG4gICAgICBjbGFzcz1cInRhZy1zZWxlY3RlZFwiXG4gICAgICAqbmdJZj1cImkgPCBtYXggfHwgc2hvd0FsbFwiXG4gICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgICAgW3R5cGVdPVwidGFnVHlwZVwiXG4gICAgICAoY2xpY2tPblJlbW92ZSk9XCJyZW1vdmVUYWdFdmVudCh0YWdJdGVtKVwiXG4gICAgPlxuICAgICAge3sgdGFnSXRlbS5sYWJlbCB9fVxuICAgIDwvbW96LXRhZz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0FsbCAmJiB0YWdJdGVtcy5sZW5ndGggPiBtYXhcIj5cbiAgICA8YVxuICAgICAgbW96LXRhZ1xuICAgICAgW3NpemVdPVwidGFnU2l6ZVwiXG4gICAgICBjbGFzcz1cInRhZy1zZWxlY3RlZCBtYy10YWdsaXN0X19zaG93aGlkZVwiXG4gICAgICAoY2xpY2spPVwic2hvd0FsbEV2ZW50KClcIlxuICAgICAgPnt7IHNob3dBbGxUaXRsZSB9fTwvYVxuICAgID5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -4,18 +4,20 @@ import { TaglistComponent } from './taglist.component';
4
4
  import { TagModule } from '../tag/tag.module';
5
5
  import { TaglistLayerContentComponent } from './components/taglist-layer-content/taglist-layer-content.component';
6
6
  import { ButtonModule } from '../button/button.module';
7
+ import { TaglistService } from './services/taglist.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export class TaglistModule {
9
10
  }
10
11
  TaglistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
12
  TaglistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TaglistModule, declarations: [TaglistComponent, TaglistLayerContentComponent], imports: [CommonModule, TagModule, ButtonModule], exports: [TaglistComponent, TaglistLayerContentComponent] });
12
- TaglistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistModule, imports: [CommonModule, TagModule, ButtonModule] });
13
+ TaglistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistModule, providers: [TaglistService], imports: [CommonModule, TagModule, ButtonModule] });
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TaglistModule, decorators: [{
14
15
  type: NgModule,
15
16
  args: [{
16
17
  declarations: [TaglistComponent, TaglistLayerContentComponent],
17
18
  imports: [CommonModule, TagModule, ButtonModule],
18
19
  exports: [TaglistComponent, TaglistLayerContentComponent],
20
+ providers: [TaglistService],
19
21
  }]
20
22
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWdsaXN0L3RhZ2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOzsyR0FBYixhQUFhOzRHQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLEVBQUUsNEJBQTRCLGFBQ25ELFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxhQUNyQyxnQkFBZ0IsRUFBRSw0QkFBNEI7NEdBRTdDLGFBQWEsWUFIZCxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVk7NEZBR3BDLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsNEJBQTRCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDO29CQUNoRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhZ2xpc3RDb21wb25lbnQgfSBmcm9tICcuL3RhZ2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJy4uL3RhZy90YWcubW9kdWxlJztcbmltcG9ydCB7IFRhZ2xpc3RMYXllckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFnbGlzdC1sYXllci1jb250ZW50L3RhZ2xpc3QtbGF5ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUYWdsaXN0Q29tcG9uZW50LCBUYWdsaXN0TGF5ZXJDb250ZW50Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFnTW9kdWxlLCBCdXR0b25Nb2R1bGVdLFxuICBleHBvcnRzOiBbVGFnbGlzdENvbXBvbmVudCwgVGFnbGlzdExheWVyQ29udGVudENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ2xpc3RNb2R1bGUge31cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWdsaXN0L3RhZ2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQUxULGdCQUFnQixFQUFFLDRCQUE0QixhQUNuRCxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksYUFDckMsZ0JBQWdCLEVBQUUsNEJBQTRCOzRHQUc3QyxhQUFhLGFBRmIsQ0FBQyxjQUFjLENBQUMsWUFGakIsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZOzRGQUlwQyxhQUFhO2tCQU56QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO29CQUM5RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztvQkFDaEQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ3pELFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhZ2xpc3RDb21wb25lbnQgfSBmcm9tICcuL3RhZ2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJy4uL3RhZy90YWcubW9kdWxlJztcbmltcG9ydCB7IFRhZ2xpc3RMYXllckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFnbGlzdC1sYXllci1jb250ZW50L3RhZ2xpc3QtbGF5ZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVGFnbGlzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RhZ2xpc3Quc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RhZ2xpc3RDb21wb25lbnQsIFRhZ2xpc3RMYXllckNvbnRlbnRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUYWdNb2R1bGUsIEJ1dHRvbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtUYWdsaXN0Q29tcG9uZW50LCBUYWdsaXN0TGF5ZXJDb250ZW50Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbVGFnbGlzdFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdsaXN0TW9kdWxlIHt9XG4iXX0=
@@ -40,8 +40,10 @@ export class TooltipDirective {
40
40
  this.renderer.addClass(this.tooltip, 'mc-tooltip__content-show');
41
41
  }
42
42
  hideTooltip() {
43
- this.renderer.removeChild(document.body, this.tooltip);
44
- this.tooltip = null;
43
+ if (this.renderer && this.tooltip) {
44
+ this.renderer.removeChild(document.body, this.tooltip);
45
+ this.tooltip = null;
46
+ }
45
47
  }
46
48
  setPosition() {
47
49
  if (this.tooltip) {
@@ -91,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
91
93
  type: HostListener,
92
94
  args: ['mouseleave']
93
95
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90b29sdGlwL2RpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTmpDLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQ2pELG9CQUFlLEdBQVcsS0FBSyxDQUFDO1FBQ2xDLFlBQU8sR0FBdUIsSUFBSSxDQUFDO1FBQ25DLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFJekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUMzQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUdELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLFdBQVcs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UmVmLCBIb3N0TGlzdGVuZXIsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbW96VG9vbHRpcERpcmVjdGl2ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIHtcbiAgQElucHV0KCdtb3pUb29sdGlwRGlyZWN0aXZlJykgdG9vbHRpcENvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IHN0cmluZyA9ICd0b3AnO1xuICBwdWJsaWMgdG9vbHRpcDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIG9mZnNldDogbnVtYmVyID0gMTY7XG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICBpZiAoIWRvY3VtZW50LmJvZHkuY29udGFpbnModGhpcy5lbC5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcbiAgb25Nb3VzZUluKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50b29sdGlwKSB0aGlzLnNob3dUb29sdGlwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgb25Nb3VzZU91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sdGlwKSB0aGlzLmhpZGVUb29sdGlwKCk7XG4gIH1cblxuICBzaG93VG9vbHRpcCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy50b29sdGlwLCB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodGhpcy50b29sdGlwQ29udGVudCkpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdtYy10b29sdGlwX19jb250ZW50Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsIGBtYy10b29sdGlwX19jb250ZW50LSR7dGhpcy50b29sdGlwUG9zaXRpb259YCk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJy13ZWJraXQtdHJhbnNpdGlvbicsIGBvcGFjaXR5IDUwMG1zYCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICctbW96LXRyYW5zaXRpb24nLCBgb3BhY2l0eSA1MDBtc2ApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwLCAnLW8tdHJhbnNpdGlvbicsIGBvcGFjaXR5IDUwMG1zYCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0cmFuc2l0aW9uJywgYG9wYWNpdHkgNTAwbXNgKTtcblxuICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ21jLXRvb2x0aXBfX2NvbnRlbnQtc2hvdycpO1xuICB9XG5cbiAgaGlkZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xuICAgIHRoaXMudG9vbHRpcCA9IG51bGw7XG4gIH1cblxuICBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sdGlwKSB7XG4gICAgICBjb25zdCBob3N0UG9zID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgdG9vbHRpcFBvcyA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHNjcm9sbFBvcyA9XG4gICAgICAgIHdpbmRvdy5zY3JvbGxZIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHwgMDtcblxuICAgICAgbGV0IHRvcCwgbGVmdDtcblxuICAgICAgaWYgKHRoaXMudG9vbHRpcFBvc2l0aW9uID09PSAndG9wJykge1xuICAgICAgICB0b3AgPSBob3N0UG9zLnRvcCAtIHRvb2x0aXBQb3MuaGVpZ2h0IC0gdGhpcy5vZmZzZXQ7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9vbHRpcFBvc2l0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgICB0b3AgPSBob3N0UG9zLmJvdHRvbSArIHRoaXMub2Zmc2V0O1xuICAgICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0ICsgKGhvc3RQb3Mud2lkdGggLSB0b29sdGlwUG9zLndpZHRoKSAvIDI7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnRvb2x0aXBQb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtIHRvb2x0aXBQb3Mud2lkdGggLSB0aGlzLm9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9vbHRpcFBvc2l0aW9uID09PSAncmlnaHQnKSB7XG4gICAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MucmlnaHQgKyB0aGlzLm9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRvcCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ3RvcCcsIGAke3RvcCArIHNjcm9sbFBvc31weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90b29sdGlwL2RpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTmpDLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQ2pELG9CQUFlLEdBQVcsS0FBSyxDQUFDO1FBQ2xDLFlBQU8sR0FBdUIsSUFBSSxDQUFDO1FBQ25DLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFJekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUMzQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUdELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLFdBQVcs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WSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttb3pUb29sdGlwRGlyZWN0aXZlXScsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUge1xuICBASW5wdXQoJ21velRvb2x0aXBEaXJlY3RpdmUnKSB0b29sdGlwQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nID0gJ3RvcCc7XG4gIHB1YmxpYyB0b29sdGlwOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgb2Zmc2V0OiBudW1iZXIgPSAxNjtcbiAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIGlmICghZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKVxuICBvbk1vdXNlSW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvb2x0aXApIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBvbk1vdXNlT3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXApIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgfVxuXG4gIHNob3dUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbHRpcCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXAsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dCh0aGlzLnRvb2x0aXBDb250ZW50KSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMudG9vbHRpcCk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ21jLXRvb2x0aXBfX2NvbnRlbnQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYG1jLXRvb2x0aXBfX2NvbnRlbnQtJHt0aGlzLnRvb2x0aXBQb3NpdGlvbn1gKTtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwLCAnLXdlYmtpdC10cmFuc2l0aW9uJywgYG9wYWNpdHkgNTAwbXNgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJy1tb3otdHJhbnNpdGlvbicsIGBvcGFjaXR5IDUwMG1zYCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICctby10cmFuc2l0aW9uJywgYG9wYWNpdHkgNTAwbXNgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ3RyYW5zaXRpb24nLCBgb3BhY2l0eSA1MDBtc2ApO1xuXG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnbWMtdG9vbHRpcF9fY29udGVudC1zaG93Jyk7XG4gIH1cblxuICBoaWRlVG9vbHRpcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZW5kZXJlciAmJiB0aGlzLnRvb2x0aXApIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcbiAgICAgIHRoaXMudG9vbHRpcCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0UG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9vbHRpcCkge1xuICAgICAgY29uc3QgaG9zdFBvcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvb2x0aXBQb3MgPSB0aGlzLnRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBzY3JvbGxQb3MgPVxuICAgICAgICB3aW5kb3cuc2Nyb2xsWSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICAgIGxldCB0b3AsIGxlZnQ7XG5cbiAgICAgIGlmICh0aGlzLnRvb2x0aXBQb3NpdGlvbiA9PT0gJ3RvcCcpIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodCAtIHRoaXMub2Zmc2V0O1xuICAgICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0ICsgKGhvc3RQb3Mud2lkdGggLSB0b29sdGlwUG9zLndpZHRoKSAvIDI7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnRvb2x0aXBQb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy50b29sdGlwUG9zaXRpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICB0b3AgPSBob3N0UG9zLnRvcCArIChob3N0UG9zLmhlaWdodCAtIHRvb2x0aXBQb3MuaGVpZ2h0KSAvIDI7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgLSB0b29sdGlwUG9zLndpZHRoIC0gdGhpcy5vZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnRvb2x0aXBQb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICB0b3AgPSBob3N0UG9zLnRvcCArIChob3N0UG9zLmhlaWdodCAtIHRvb2x0aXBQb3MuaGVpZ2h0KSAvIDI7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b3ApIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19