@dereekb/dbx-form 1.2.0 → 3.0.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 (123) hide show
  1. package/README.md +1 -1
  2. package/esm2020/lib/form/action/form.action.directive.mjs +34 -19
  3. package/esm2020/lib/form/action/form.action.module.mjs +4 -4
  4. package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +4 -4
  5. package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +9 -9
  6. package/esm2020/lib/form/form.mjs +11 -1
  7. package/esm2020/lib/form/form.module.mjs +4 -4
  8. package/esm2020/lib/form/io/form.changes.directive.mjs +18 -7
  9. package/esm2020/lib/form/io/form.input.directive.mjs +36 -18
  10. package/esm2020/lib/form/io/form.io.module.mjs +4 -4
  11. package/esm2020/lib/form/io/form.loading.directive.mjs +27 -17
  12. package/esm2020/lib/form.module.mjs +4 -4
  13. package/esm2020/lib/formly/config/validation.mjs +3 -3
  14. package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +8 -8
  15. package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +3 -3
  16. package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +13 -13
  17. package/esm2020/lib/formly/field/component/component.field.component.mjs +8 -21
  18. package/esm2020/lib/formly/field/component/component.field.mjs +3 -5
  19. package/esm2020/lib/formly/field/component/component.field.module.mjs +14 -14
  20. package/esm2020/lib/formly/field/form.field.module.mjs +4 -4
  21. package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +7 -7
  22. package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +8 -6
  23. package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +2 -2
  24. package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +13 -13
  25. package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +28 -21
  26. package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +4 -4
  27. package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +16 -16
  28. package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +7 -8
  29. package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +13 -13
  30. package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
  31. package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +3 -3
  32. package/esm2020/lib/formly/field/selection/selection.module.mjs +4 -4
  33. package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +4 -5
  34. package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +4 -4
  35. package/esm2020/lib/formly/field/value/array/array.field.component.mjs +7 -7
  36. package/esm2020/lib/formly/field/value/array/array.field.module.mjs +4 -4
  37. package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +4 -4
  38. package/esm2020/lib/formly/field/value/date/date.field.module.mjs +4 -4
  39. package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +51 -40
  40. package/esm2020/lib/formly/field/value/date/datetime.field.mjs +7 -7
  41. package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +4 -4
  42. package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +3 -3
  43. package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +4 -4
  44. package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +15 -18
  45. package/esm2020/lib/formly/field/value/text/text.address.field.mjs +2 -2
  46. package/esm2020/lib/formly/field/value/text/text.field.mjs +3 -2
  47. package/esm2020/lib/formly/field/value/text/text.field.module.mjs +4 -4
  48. package/esm2020/lib/formly/field/value/value.module.mjs +4 -4
  49. package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +3 -3
  50. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +3 -3
  51. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +3 -3
  52. package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +3 -3
  53. package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +18 -10
  54. package/esm2020/lib/formly/field/wrapper/index.mjs +2 -1
  55. package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +3 -3
  56. package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +3 -3
  57. package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +4 -4
  58. package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +3 -3
  59. package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +3 -3
  60. package/esm2020/lib/formly/field/wrapper/working.wrapper.component.mjs +45 -0
  61. package/esm2020/lib/formly/field/wrapper/wrapper.mjs +7 -1
  62. package/esm2020/lib/formly/formly.context.directive.mjs +3 -3
  63. package/esm2020/lib/formly/formly.context.mjs +19 -8
  64. package/esm2020/lib/formly/formly.directive.mjs +17 -14
  65. package/esm2020/lib/formly/formly.form.component.mjs +63 -22
  66. package/esm2020/lib/formly/formly.module.mjs +9 -6
  67. package/esm2020/lib/formly/index.mjs +2 -1
  68. package/esm2020/lib/formly/template/available.mjs +16 -0
  69. package/esm2020/lib/formly/template/index.mjs +3 -0
  70. package/esm2020/lib/formly/template/login.mjs +90 -0
  71. package/esm2020/lib/layout/form.layout.module.mjs +4 -4
  72. package/esm2020/lib/layout/form.spacer.component.mjs +3 -3
  73. package/esm2020/lib/validator/available.mjs +32 -0
  74. package/esm2020/lib/validator/field.mjs +31 -0
  75. package/esm2020/lib/validator/index.mjs +3 -1
  76. package/fesm2015/dereekb-dbx-form.mjs +818 -505
  77. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  78. package/fesm2020/dereekb-dbx-form.mjs +834 -501
  79. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  80. package/lib/form/action/form.action.directive.d.ts +13 -16
  81. package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +3 -3
  82. package/lib/form/form.d.ts +30 -3
  83. package/lib/form/io/form.changes.directive.d.ts +7 -3
  84. package/lib/form/io/form.input.directive.d.ts +19 -7
  85. package/lib/form/io/form.loading.directive.d.ts +8 -2
  86. package/lib/formly/field/checklist/checklist.item.field.component.d.ts +2 -2
  87. package/lib/formly/field/checklist/checklist.item.field.module.d.ts +1 -1
  88. package/lib/formly/field/component/component.field.component.d.ts +8 -21
  89. package/lib/formly/field/component/component.field.d.ts +3 -5
  90. package/lib/formly/field/component/component.field.module.d.ts +1 -1
  91. package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +8 -3
  92. package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +1 -1
  93. package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +8 -6
  94. package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +2 -1
  95. package/lib/formly/field/selection/searchable/searchable.d.ts +3 -3
  96. package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +3 -3
  97. package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +4 -4
  98. package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +1 -1
  99. package/lib/formly/field/texteditor/_texteditor.scss +0 -2
  100. package/lib/formly/field/value/array/array.field.component.d.ts +2 -2
  101. package/lib/formly/field/value/date/datetime.field.component.d.ts +8 -10
  102. package/lib/formly/field/value/date/datetime.field.d.ts +2 -2
  103. package/lib/formly/field/value/phone/_phone.scss +4 -0
  104. package/lib/formly/field/value/text/text.additional.field.d.ts +1 -1
  105. package/lib/formly/field/value/text/text.field.d.ts +2 -0
  106. package/lib/formly/field/wrapper/form.wrapper.module.d.ts +9 -8
  107. package/lib/formly/field/wrapper/index.d.ts +1 -0
  108. package/lib/formly/field/wrapper/style.wrapper.component.d.ts +3 -3
  109. package/lib/formly/field/wrapper/working.wrapper.component.d.ts +22 -0
  110. package/lib/formly/field/wrapper/wrapper.d.ts +3 -0
  111. package/lib/formly/formly.context.d.ts +9 -6
  112. package/lib/formly/formly.directive.d.ts +2 -0
  113. package/lib/formly/formly.form.component.d.ts +13 -3
  114. package/lib/formly/index.d.ts +1 -0
  115. package/lib/formly/template/available.d.ts +7 -0
  116. package/lib/formly/template/index.d.ts +2 -0
  117. package/lib/formly/template/login.d.ts +59 -0
  118. package/lib/validator/available.d.ts +30 -0
  119. package/lib/validator/field.d.ts +32 -0
  120. package/lib/validator/index.d.ts +2 -0
  121. package/package.json +17 -44
  122. package/lib/formly/field/fields_TODO.scss +0 -4
  123. package/lib/formly/form_TODO.scss +0 -153
@@ -1,5 +1,5 @@
1
1
  import { Component } from "@angular/core";
2
- import { DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListWrapperDirective, ProvideDbxListView, AbstractSelectionValueListViewDirective, AbstractDbxSelectionValueListViewItemComponent, mapItemValuesToValueListItemConfig } from "@dereekb/dbx-web";
2
+ import { DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListWrapperDirective, ProvideDbxListView, AbstractDbxSelectionListViewDirective, AbstractDbxValueListViewItemComponent, addConfigToValueListItems } from "@dereekb/dbx-web";
3
3
  import { map, shareReplay } from "rxjs";
4
4
  import { AbstractDbxPickableItemFieldDirective } from "./pickable.field.directive";
5
5
  import * as i0 from "@angular/core";
@@ -15,15 +15,15 @@ import * as i6 from "@angular/forms";
15
15
  export class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
16
16
  onSelectionChange(event) {
17
17
  const items = event.items;
18
- const values = items.map(x => x.value.value);
18
+ const values = items.map(x => x.itemValue.value);
19
19
  this.setValues(values);
20
20
  }
21
21
  }
22
- DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injected-content [config]=\"footerConfig\"></dbx-injected-content>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { type: i0.forwardRef(function () { return i2.DbxInjectedComponent; }), selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i3.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i5.MatInput; }), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i0.forwardRef(function () { return i6.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i0.forwardRef(function () { return i6.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i6.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
22
+ DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { type: i0.forwardRef(function () { return i2.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i3.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i5.MatInput; }), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i0.forwardRef(function () { return i6.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i0.forwardRef(function () { return i6.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i6.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injected-content [config]=\"footerConfig\"></dbx-injected-content>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
26
+ args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
27
27
  }] });
28
28
  // MARK: Selection List
29
29
  export class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
@@ -33,9 +33,9 @@ export class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionL
33
33
  });
34
34
  }
35
35
  }
36
- DbxPickableListFieldItemListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- DbxPickableListFieldItemListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxPickableListFieldItemListComponent, selector: "dbx-form-pickable-item-field-item-list", usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n</dbx-list>\n", isInline: true, components: [{ type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled"], outputs: ["contentScrolled"] }], pipes: { "async": i4.AsyncPipe } });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
36
+ DbxPickableListFieldItemListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ DbxPickableListFieldItemListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListComponent, selector: "dbx-form-pickable-item-field-item-list", usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n</dbx-list>\n", isInline: true, components: [{ type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }], pipes: { "async": i4.AsyncPipe } });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'dbx-form-pickable-item-field-item-list',
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
45
45
  /**
46
46
  * NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
47
47
  */
48
- export class DbxPickableListFieldItemListViewComponent extends AbstractSelectionValueListViewDirective {
48
+ export class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionListViewDirective {
49
49
  constructor(dbxPickableListFieldComponent) {
50
50
  super();
51
51
  this.dbxPickableListFieldComponent = dbxPickableListFieldComponent;
@@ -54,31 +54,38 @@ export class DbxPickableListFieldItemListViewComponent extends AbstractSelection
54
54
  };
55
55
  this.items$ = this.values$.pipe(
56
56
  // NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
57
- map(x => mapItemValuesToValueListItemConfig(this.config, x)), shareReplay(1));
57
+ map(x => addConfigToValueListItems(this.config, x)), shareReplay(1));
58
58
  }
59
59
  get multiple() {
60
60
  return this.dbxPickableListFieldComponent.multiSelect;
61
61
  }
62
+ get selectionMode() {
63
+ let selectionMode = 'select';
64
+ if (this.dbxPickableListFieldComponent.disabled && this.dbxPickableListFieldComponent.changeSelectionModeToViewOnDisabled) {
65
+ selectionMode = 'view';
66
+ }
67
+ return selectionMode;
68
+ }
62
69
  }
63
- DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
64
- DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `<dbx-selection-list-view-content [multiple]="multiple" [items]="items$ | async"></dbx-selection-list-view-content>`, isInline: true, components: [{ type: i1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "items"] }], pipes: { "async": i4.AsyncPipe } });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
70
+ DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
71
+ DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`, isInline: true, components: [{ type: i1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }], pipes: { "async": i4.AsyncPipe } });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
66
73
  type: Component,
67
74
  args: [{
68
- template: `<dbx-selection-list-view-content [multiple]="multiple" [items]="items$ | async"></dbx-selection-list-view-content>`,
75
+ template: `<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>`,
69
76
  providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent)
70
77
  }]
71
78
  }], ctorParameters: function () { return [{ type: DbxPickableListFieldComponent }]; } });
72
- export class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxSelectionValueListViewItemComponent {
79
+ export class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
73
80
  get label() {
74
- return this.value.label;
81
+ return this.itemValue.label;
75
82
  }
76
83
  }
77
- DbxPickableListFieldItemListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
78
- DbxPickableListFieldItemListViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxPickableListFieldItemListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
84
+ DbxPickableListFieldItemListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
85
+ DbxPickableListFieldItemListViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
79
86
  <p>{{ label }}</p>
80
87
  `, isInline: true });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
82
89
  type: Component,
83
90
  args: [{
84
91
  template: `
@@ -86,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
86
93
  `
87
94
  }]
88
95
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQkFBa0IsRUFBRSx1Q0FBdUMsRUFBRSw4Q0FBOEMsRUFBc0Isa0NBQWtDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxUixPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUscUNBQXFDLEVBQXlCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBRTFHOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUFpQyxTQUFRLHFDQUF3QztJQUU1RixpQkFBaUIsQ0FBQyxLQUFjO1FBQzlCLE1BQU0sS0FBSyxHQUFJLEtBQStELENBQUMsS0FBSyxDQUFDO1FBQ3JGLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7MEhBTlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMkVDYjFDLHV5Q0E2QkEsNFBERGEscUNBQXFDOzJGQWZyQyw2QkFBNkI7a0JBSHpDLFNBQVM7OztBQWFWLHVCQUF1QjtBQUt2QixNQUFNLE9BQU8scUNBQXlDLFNBQVEsd0NBQWtFO0lBRTlIO1FBQ0UsS0FBSyxDQUFDO1lBQ0osY0FBYyxFQUFFLHlDQUF5QztTQUMxRCxDQUFDLENBQUM7SUFDTCxDQUFDOztrSUFOVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQzsyRkFBckMscUNBQXFDO2tCQUpqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSx1Q0FBdUM7aUJBQ2xEOztBQVdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLHlDQUE2QyxTQUFRLHVDQUFpRTtJQWdCakksWUFBcUIsNkJBQStEO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFcsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUFrQztRQWQzRSxXQUFNLEdBQStCO1lBQzVDLGNBQWMsRUFBRSw2Q0FBNkM7U0FDOUQsQ0FBQztRQU1PLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakMsbUtBQW1LO1FBQ25LLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDNUQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBWkQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsV0FBVyxDQUFDO0lBQ3hELENBQUM7O3NJQVJVLHlDQUF5QyxrQkFnQkEsNkJBQTZCOzBIQWhCdEUseUNBQXlDLHVDQUZ6QyxrQkFBa0IsQ0FBQyx5Q0FBeUMsQ0FBQyxpREFEOUQsb0hBQW9IOzJGQUduSCx5Q0FBeUM7a0JBSnJELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9IQUFvSDtvQkFDOUgsU0FBUyxFQUFFLGtCQUFrQiwyQ0FBMkM7aUJBQ3pFOzBEQWlCcUQsNkJBQTZCO0FBV25GLE1BQU0sT0FBTyw2Q0FBaUQsU0FBUSw4Q0FBaUY7SUFFckosSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDOzswSUFKVSw2Q0FBNkM7OEhBQTdDLDZDQUE2QywyRUFKOUM7O0dBRVQ7MkZBRVUsNkNBQTZDO2tCQUx6RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7R0FFVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBQcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0RpcmVjdGl2ZSwgQWJzdHJhY3REYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudCwgTGlzdFNlbGVjdGlvblN0YXRlLCBtYXBJdGVtVmFsdWVzVG9WYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSBcIkBkZXJlZWtiL2RieC13ZWJcIjtcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSBcIi4vcGlja2FibGVcIjtcbmltcG9ydCB7IEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmUsIFBpY2thYmxlSXRlbUZpZWxkSXRlbSB9IGZyb20gXCIuL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZVwiO1xuXG4vKipcbiAqIFVzZWQgZm9yIHBpY2tpbmcgcHJlLXNldCB2YWx1ZXMgdXNpbmcgYSBzZWxlY3Rpb24gbGlzdCBhcyB0aGUgcHJlc2VudGF0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdwaWNrYWJsZS5saXN0LmZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmU8VD4ge1xuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB1bmtub3duKSB7XG4gICAgY29uc3QgaXRlbXMgPSAoZXZlbnQgYXMgTGlzdFNlbGVjdGlvblN0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4pLml0ZW1zO1xuICAgIGNvbnN0IHZhbHVlcyA9IGl0ZW1zLm1hcCh4ID0+IHgudmFsdWUudmFsdWUpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudFxuICAgIH0pO1xuICB9XG5cbn1cblxuLyoqXG4gKiBOT1RFOiBWYWx1ZXMgaW5wdXQgYXJlIFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPiwgYnV0IG91dHB1dCB2YWx1ZXMgYXJlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPGRieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCI+PC9kYngtc2VsZWN0aW9uLWxpc3Qtdmlldy1jb250ZW50PmAsXG4gIHByb3ZpZGVyczogUHJvdmlkZURieExpc3RWaWV3KERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD4+IHtcblxuICByZWFkb25seSBjb25maWc6IERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0l0ZW1Db21wb25lbnRcbiAgfTtcblxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQubXVsdGlTZWxlY3Q7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoeCA9PiBtYXBJdGVtVmFsdWVzVG9WYWx1ZUxpc3RJdGVtQ29uZmlnKHRoaXMuY29uZmlnLCB4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDogRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQ8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+e3sgbGFiZWwgfX08L3A+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+IHtcblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5sYWJlbDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGRcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWxpc3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRieC1mb3JtLXBpY2thYmxlLWl0ZW0tZmllbGQtaXRlbS1saXN0IFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZFwiIFtzdGF0ZSRdPVwiZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkXCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9kYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1pbmplY3RlZC1jb250ZW50IFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0ZWQtY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kYngtbG9hZGluZz5cbjwvZGl2PlxuXG48IS0tIEZpbHRlciBJbnB1dCAtLT5cbjxuZy10ZW1wbGF0ZSAjZmlsdGVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1maWx0ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWxhYmVsXCI+e3sgZmlsdGVyTGFiZWwgfX08L2Rpdj5cbiAgICA8aW5wdXQgW25hbWVdPVwibmFtZVwiIGF1dG9jb21wbGV0ZT1cInt7IGF1dG9jb21wbGV0ZSB9fVwiICNmaWx0ZXJNYXRJbnB1dD1cIm1hdElucHV0XCIgbWF0SW5wdXRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJpbnB1dEN0cmxcIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGJ4LWxvYWRpbmcgW2xpbmVhcl09XCJ0cnVlXCIgW2NvbnRleHRdPVwiZmlsdGVyUmVzdWx0c0NvbnRleHRcIj48L2RieC1sb2FkaW5nPlxuICAgIDwhLS0gTm8gaXRlbXMgZm91bmQuIC0tPlxuICAgIDxwICpuZ0lmPVwibm9JdGVtc0F2YWlsYWJsZSQgfCBhc3luY1wiIGNsYXNzPVwiZGJ4LWxhYmVsXCI+Tm8gaXRlbXMgbWF0Y2ggdGhpcyBmaWx0ZXIuPC9wPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQkFBa0IsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBc0IseUJBQXlCLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFFNVIsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLHFDQUFxQyxFQUF5QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUUxRzs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBaUMsU0FBUSxxQ0FBd0M7SUFFNUYsaUJBQWlCLENBQUMsS0FBYztRQUM5QixNQUFNLEtBQUssR0FBSSxLQUErRCxDQUFDLEtBQUssQ0FBQztRQUNyRixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzBIQU5VLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDJFQ2QxQyx5eENBNkJBLDRQREFhLHFDQUFxQzsyRkFmckMsNkJBQTZCO2tCQUh6QyxTQUFTOzs7QUFhVix1QkFBdUI7QUFLdkIsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLHdDQUFrRTtJQUU5SDtRQUNFLEtBQUssQ0FBQztZQUNKLGNBQWMsRUFBRSx5Q0FBeUM7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0lBTlUscUNBQXFDO3NIQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFKakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxRQUFRLEVBQUUsdUNBQXVDO2lCQUNsRDs7QUFXRDs7R0FFRztBQUtILE1BQU0sT0FBTyx5Q0FBNkMsU0FBUSxxQ0FBK0Q7SUEwQi9ILFlBQXFCLDZCQUErRDtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQURXLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBa0M7UUF4QjNFLFdBQU0sR0FBZ0M7WUFDN0MsY0FBYyxFQUFFLDZDQUE2QztTQUM5RCxDQUFDO1FBZ0JPLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakMsbUtBQW1LO1FBQ25LLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDbkQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBdEJELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxhQUFhLEdBQWdDLFFBQVEsQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLDZCQUE2QixDQUFDLG1DQUFtQyxFQUFFO1lBQ3pILGFBQWEsR0FBRyxNQUFNLENBQUM7U0FDeEI7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOztzSUFsQlUseUNBQXlDLGtCQTBCQSw2QkFBNkI7MEhBMUJ0RSx5Q0FBeUMsdUNBRnpDLGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDLGlEQUQ5RCxvSkFBb0o7MkZBR25KLHlDQUF5QztrQkFKckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0pBQW9KO29CQUM5SixTQUFTLEVBQUUsa0JBQWtCLDJDQUEyQztpQkFDekU7MERBMkJxRCw2QkFBNkI7QUFXbkYsTUFBTSxPQUFPLDZDQUFpRCxTQUFRLHFDQUF3RTtJQUU1SSxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7OzBJQUpVLDZDQUE2Qzs4SEFBN0MsNkNBQTZDLDJFQUo5Qzs7R0FFVDsyRkFFVSw2Q0FBNkM7a0JBTHpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOztHQUVUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBQcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmUsIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQsIExpc3RTZWxlY3Rpb25TdGF0ZSwgYWRkQ29uZmlnVG9WYWx1ZUxpc3RJdGVtcywgRGJ4TGlzdFNlbGVjdGlvbk1vZGUgfSBmcm9tIFwiQGRlcmVla2IvZGJ4LXdlYlwiO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUgfSBmcm9tIFwiLi9waWNrYWJsZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZSwgUGlja2FibGVJdGVtRmllbGRJdGVtIH0gZnJvbSBcIi4vcGlja2FibGUuZmllbGQuZGlyZWN0aXZlXCI7XG5cbi8qKlxuICogVXNlZCBmb3IgcGlja2luZyBwcmUtc2V0IHZhbHVlcyB1c2luZyBhIHNlbGVjdGlvbiBsaXN0IGFzIHRoZSBwcmVzZW50YXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ3BpY2thYmxlLmxpc3QuZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhQaWNrYWJsZUl0ZW1GaWVsZERpcmVjdGl2ZTxUPiB7XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IHVua25vd24pIHtcbiAgICBjb25zdCBpdGVtcyA9IChldmVudCBhcyBMaXN0U2VsZWN0aW9uU3RhdGU8UGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+PikuaXRlbXM7XG4gICAgY29uc3QgdmFsdWVzID0gaXRlbXMubWFwKHggPT4geC5pdGVtVmFsdWUudmFsdWUpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudFxuICAgIH0pO1xuICB9XG5cbn1cblxuLyoqXG4gKiBOT1RFOiBWYWx1ZXMgaW5wdXQgYXJlIFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPiwgYnV0IG91dHB1dCB2YWx1ZXMgYXJlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPGRieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiPjwvZGJ4LXNlbGVjdGlvbi1saXN0LXZpZXctY29udGVudD5gLFxuICBwcm92aWRlcnM6IFByb3ZpZGVEYnhMaXN0VmlldyhEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudClcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RWaWV3RGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuXG4gIHJlYWRvbmx5IGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0l0ZW1Db21wb25lbnRcbiAgfTtcblxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQubXVsdGlTZWxlY3Q7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4ge1xuICAgIGxldCBzZWxlY3Rpb25Nb2RlOiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4gPSAnc2VsZWN0JztcblxuICAgIGlmICh0aGlzLmRieFBpY2thYmxlTGlzdEZpZWxkQ29tcG9uZW50LmRpc2FibGVkICYmIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQuY2hhbmdlU2VsZWN0aW9uTW9kZVRvVmlld09uRGlzYWJsZWQpIHtcbiAgICAgIHNlbGVjdGlvbk1vZGUgPSAndmlldyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbk1vZGU7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoeCA9PiBhZGRDb25maWdUb1ZhbHVlTGlzdEl0ZW1zKHRoaXMuY29uZmlnLCB4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDogRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQ8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+e3sgbGFiZWwgfX08L3A+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+IHtcblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtVmFsdWUubGFiZWw7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkXCI+XG4gIDxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJJbnB1dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGQtbGlzdC1jb250ZW50XCI+XG4gICAgICAgIDxkYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdCBbZGlzYWJsZWRdPVwiaXNSZWFkb25seU9yRGlzYWJsZWRcIiBbc3RhdGUkXT1cImZpbHRlckl0ZW1zTG9hZGluZ1N0YXRlJFwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2RieC1sb2FkaW5nPlxuPC9kaXY+XG5cbjwhLS0gRmlsdGVyIElucHV0IC0tPlxuPG5nLXRlbXBsYXRlICNmaWx0ZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWZpbHRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGFiZWxcIj57eyBmaWx0ZXJMYWJlbCB9fTwvZGl2PlxuICAgIDxpbnB1dCBbbmFtZV09XCJuYW1lXCIgYXV0b2NvbXBsZXRlPVwie3sgYXV0b2NvbXBsZXRlIH19XCIgI2ZpbHRlck1hdElucHV0PVwibWF0SW5wdXRcIiBtYXRJbnB1dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImlucHV0Q3RybFwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgIDxkYngtbG9hZGluZyBbbGluZWFyXT1cInRydWVcIiBbY29udGV4dF09XCJmaWx0ZXJSZXN1bHRzQ29udGV4dFwiPjwvZGJ4LWxvYWRpbmc+XG4gICAgPCEtLSBObyBpdGVtcyBmb3VuZC4gLS0+XG4gICAgPHAgKm5nSWY9XCJub0l0ZW1zQXZhaWxhYmxlJCB8IGFzeW5jXCIgY2xhc3M9XCJkYngtbGFiZWxcIj5ObyBpdGVtcyBtYXRjaCB0aGlzIGZpbHRlci48L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -53,10 +53,10 @@ export class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueF
53
53
  this._blur.next();
54
54
  }
55
55
  }
56
- DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
57
- DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatChipRemove, selector: "[matChipRemove]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i7.AsyncPipe } });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
56
+ DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
57
+ DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatChipRemove, selector: "[matChipRemove]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i7.AsyncPipe } });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
61
61
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5jaGlwLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlL3NlYXJjaGFibGUuY2hpcC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQUUsd0NBQXdDLEVBQTRFLE1BQU0sOEJBQThCLENBQUM7QUFDbEssT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXdEUsTUFBTSxPQUFPLCtCQUFtQyxTQUFRLHdDQUEwRjtJQUhsSjs7UUFLVSxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRW5DLHVCQUFrQixHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBMEN4RDtJQXhDQyxRQUFRLENBQUMsS0FBbUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRTtnQkFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQXdCO1FBQzlCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BILElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7NEhBN0NVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJFQ2xCNUMsNGhEQTBCQTsyRkRSYSwrQkFBK0I7a0JBSDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnLCBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4vc2VhcmNoYWJsZS5maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IHNraXBVbnRpbFRpbWVFbGFwc2VkQWZ0ZXJMYXN0RW1pc3Npb24gfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7IH1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiB7XG4gIHNlYXJjaGFibGVGaWVsZDogU2VhcmNoYWJsZUNoaXBWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdzZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieFNlYXJjaGFibGVDaGlwRmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlyZWN0aXZlPFQsIFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPj4ge1xuXG4gIHByaXZhdGUgX2JsdXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9ibHVyU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcblxuICBzZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkV2l0aERpc3BsYXlWYWx1ZShldmVudC5vcHRpb24udmFsdWUpO1xuICB9XG5cbiAgdGFiUHJlc3NlZE9uSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBpZiAoZXZlbnQ/LmtleT8udG9Mb3dlckNhc2UoKSA9PT0gJ3RhYicpIHtcbiAgICAgIGlmICh0aGlzLl90cnlBZGRDdXJyZW50SW5wdXRWYWx1ZSgpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhZGRDaGlwKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRleHQgPSBldmVudC52YWx1ZSA/PyB0aGlzLmlucHV0Q3RybC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5fYWRkV2l0aFRleHRWYWx1ZSh0ZXh0KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBPbmx5IHRyeSBhbmQgYWRkIHRoZSB0ZXh0IGl0ZW0gYXMgYSB2YWx1ZSBpZiBhIHZhbHVlIHdhc24ndCBqdXN0IGFkZGVkIChmb3IgZXhhbXBsZSwgY2xpY2tpbmcgYSB2YWx1ZSkuXG4gICAgdGhpcy5fYmx1clN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9ibHVyLnBpcGUoc2tpcFVudGlsVGltZUVsYXBzZWRBZnRlckxhc3RFbWlzc2lvbih0aGlzLnZhbHVlcyQsIDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl90cnlBZGRDdXJyZW50SW5wdXRWYWx1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9ibHVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYmx1clN1Yi5kZXN0cm95KCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fYmx1ci5uZXh0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1zZWFyY2hhYmxlLWZpZWxkXCI+XG4gIDwhLS0gVmlldyAtLT5cbiAgPG1hdC1jaGlwLWxpc3QgW3NlbGVjdGFibGVdPVwiIXJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgI2NoaXBMaXN0PlxuICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgZGlzcGxheVZhbHVlIG9mIGRpc3BsYXlWYWx1ZXMkIHwgYXN5bmNcIiBbcmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlV2l0aERpc3BsYXlWYWx1ZShkaXNwbGF5VmFsdWUpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLWxhYmVsXCI+e3sgZGlzcGxheVZhbHVlLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1zdWJsYWJlbFwiICpuZ0lmPVwiZGlzcGxheVZhbHVlLnN1YmxhYmVsXCI+e3sgZGlzcGxheVZhbHVlLnN1YmxhYmVsIH19PC9zcGFuPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIXJlYWRvbmx5XCIgbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoaXA+XG4gICAgPGlucHV0ICN0ZXh0SW5wdXQgW25hbWVdPVwibmFtZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJpbnB1dEN0cmxcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgYXV0b2NvbXBsZXRlPVwie3sgYXV0b2NvbXBsZXRlIH19XCIgW21hdEF1dG9jb21wbGV0ZURpc2FibGVkXT1cInJlYWRvbmx5XCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiIChrZXlkb3duKT1cInRhYlByZXNzZWRPbklucHV0KCRldmVudClcIlxuICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRDaGlwKCRldmVudClcIiAoYmx1cik9XCJvbkJsdXIoKVwiPlxuICA8L21hdC1jaGlwLWxpc3Q+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2hhYmxlLWZpZWxkLWZvcm0tbG9hZGluZ1wiPlxuICAgIDxkYngtbG9hZGluZyBbbGluZWFyXT1cInRydWVcIiBbY29udGV4dF09XCJzZWFyY2hDb250ZXh0XCI+PC9kYngtbG9hZGluZz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBBdXRvY29tcGxldGUgLS0+XG48bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cImRieC1zZWFyY2hhYmxlLXRleHQtZmllbGQtYXV0b2NvbXBsZXRlXCIgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQoJGV2ZW50KVwiPlxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGlzcGxheVZhbHVlIG9mIChzZWFyY2hSZXN1bHRzJCB8IGFzeW5jKVwiIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8ZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0gW2Rpc3BsYXlWYWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8L2RieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtPlxuICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5jaGlwLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlL3NlYXJjaGFibGUuY2hpcC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsd0NBQXdDLEVBQTRFLE1BQU0sOEJBQThCLENBQUM7QUFDbEssT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXdEUsTUFBTSxPQUFPLCtCQUFtQyxTQUFRLHdDQUEwRjtJQUhsSjs7UUFLVSxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRW5DLHVCQUFrQixHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBMEN4RDtJQXhDQyxRQUFRLENBQUMsS0FBbUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRTtnQkFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQXdCO1FBQzlCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BILElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7NEhBN0NVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJFQ2xCNUMsNGhEQTBCQTsyRkRSYSwrQkFBK0I7a0JBSDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhTZWFyY2hhYmxlVmFsdWVGaWVsZERpcmVjdGl2ZSwgU2VhcmNoYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWcsIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi9zZWFyY2hhYmxlLmZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgc2tpcFVudGlsVGltZUVsYXBzZWRBZnRlckxhc3RFbWlzc2lvbiB9IGZyb20gJ0BkZXJlZWtiL2RhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiBleHRlbmRzIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+IHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiBleHRlbmRzIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQ+IHtcbiAgc2VhcmNoYWJsZUZpZWxkOiBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRmllbGRDb25maWc8VD47XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ3NlYXJjaGFibGUuY2hpcC5maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4U2VhcmNoYWJsZUNoaXBGaWVsZENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmU8VCwgU2VhcmNoYWJsZUNoaXBWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfYmx1ciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2JsdXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xuXG4gIHNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGRXaXRoRGlzcGxheVZhbHVlKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICB0YWJQcmVzc2VkT25JbnB1dChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIGlmIChldmVudD8ua2V5Py50b0xvd2VyQ2FzZSgpID09PSAndGFiJykge1xuICAgICAgaWYgKHRoaXMuX3RyeUFkZEN1cnJlbnRJbnB1dFZhbHVlKCkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFkZENoaXAoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGV4dCA9IGV2ZW50LnZhbHVlID8/IHRoaXMuaW5wdXRDdHJsLnZhbHVlO1xuICAgIHJldHVybiB0aGlzLl9hZGRXaXRoVGV4dFZhbHVlKHRleHQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIE9ubHkgdHJ5IGFuZCBhZGQgdGhlIHRleHQgaXRlbSBhcyBhIHZhbHVlIGlmIGEgdmFsdWUgd2Fzbid0IGp1c3QgYWRkZWQgKGZvciBleGFtcGxlLCBjbGlja2luZyBhIHZhbHVlKS5cbiAgICB0aGlzLl9ibHVyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuX2JsdXIucGlwZShza2lwVW50aWxUaW1lRWxhcHNlZEFmdGVyTGFzdEVtaXNzaW9uKHRoaXMudmFsdWVzJCwgMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3RyeUFkZEN1cnJlbnRJbnB1dFZhbHVlKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2JsdXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9ibHVyU3ViLmRlc3Ryb3koKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLl9ibHVyLm5leHQoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LXNlYXJjaGFibGUtZmllbGRcIj5cbiAgPCEtLSBWaWV3IC0tPlxuICA8bWF0LWNoaXAtbGlzdCBbc2VsZWN0YWJsZV09XCIhcmVhZG9ubHlcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiAjY2hpcExpc3Q+XG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBkaXNwbGF5VmFsdWUgb2YgZGlzcGxheVZhbHVlcyQgfCBhc3luY1wiIFtyZW1vdmFibGVdPVwidHJ1ZVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVXaXRoRGlzcGxheVZhbHVlKGRpc3BsYXlWYWx1ZSlcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNoaXAtbGFiZWxcIj57eyBkaXNwbGF5VmFsdWUubGFiZWwgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLXN1YmxhYmVsXCIgKm5nSWY9XCJkaXNwbGF5VmFsdWUuc3VibGFiZWxcIj57eyBkaXNwbGF5VmFsdWUuc3VibGFiZWwgfX08L3NwYW4+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhcmVhZG9ubHlcIiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcD5cbiAgICA8aW5wdXQgI3RleHRJbnB1dCBbbmFtZV09XCJuYW1lXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImlucHV0Q3RybFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICBhdXRvY29tcGxldGU9XCJ7eyBhdXRvY29tcGxldGUgfX1cIiBbbWF0QXV0b2NvbXBsZXRlRGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCIgKGtleWRvd24pPVwidGFiUHJlc3NlZE9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCIgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImFkZENoaXAoJGV2ZW50KVwiIChibHVyKT1cIm9uQmx1cigpXCI+XG4gIDwvbWF0LWNoaXAtbGlzdD5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaGFibGUtZmllbGQtZm9ybS1sb2FkaW5nXCI+XG4gICAgPGRieC1sb2FkaW5nIFtsaW5lYXJdPVwidHJ1ZVwiIFtjb250ZXh0XT1cInNlYXJjaENvbnRleHRcIj48L2RieC1sb2FkaW5nPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIEF1dG9jb21wbGV0ZSAtLT5cbjxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwiZGJ4LXNlYXJjaGFibGUtdGV4dC1maWVsZC1hdXRvY29tcGxldGVcIiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gIChvcHRpb25TZWxlY3RlZCk9XCJzZWxlY3RlZCgkZXZlbnQpXCI+XG4gIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBkaXNwbGF5VmFsdWUgb2YgKHNlYXJjaFJlc3VsdHMkIHwgYXN5bmMpXCIgW3ZhbHVlXT1cImRpc3BsYXlWYWx1ZVwiPlxuICAgIDxkYngtc2VhcmNoYWJsZS1maWVsZC1hdXRvY29tcGxldGUtaXRlbSBbZGlzcGxheVZhbHVlXT1cImRpc3BsYXlWYWx1ZVwiPlxuICAgIDwvZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0+XG4gIDwvbWF0LW9wdGlvbj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cbiJdfQ==
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@dereekb/dbx-web";
7
7
  import * as i2 from "@dereekb/dbx-core";
8
8
  import * as i3 from "@angular/common";
9
- export const DBX_SEARCHABLE_FIELD_COMPONENT_DATA = new InjectionToken('DbxSearchableField');
9
+ export const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearchableField');
10
10
  export class DbxSearchableFieldAutocompleteItemComponent {
11
11
  constructor() {
12
12
  this._displayValue = new BehaviorSubject(undefined);
@@ -15,7 +15,7 @@ export class DbxSearchableFieldAutocompleteItemComponent {
15
15
  const config = {
16
16
  ...x.display,
17
17
  providers: mergeIntoArray([{
18
- provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA,
18
+ provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN,
19
19
  useValue: x
20
20
  }], x.display.providers)
21
21
  };
@@ -30,19 +30,19 @@ export class DbxSearchableFieldAutocompleteItemComponent {
30
30
  this._displayValue.complete();
31
31
  }
32
32
  }
33
- DbxSearchableFieldAutocompleteItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- DbxSearchableFieldAutocompleteItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: "displayValue" }, ngImport: i0, template: `
33
+ DbxSearchableFieldAutocompleteItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ DbxSearchableFieldAutocompleteItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: "displayValue" }, ngImport: i0, template: `
35
35
  <dbx-anchor [block]="true" [anchor]="anchor$ | async">
36
- <dbx-injected-content [config]="config$ | async"></dbx-injected-content>
36
+ <dbx-injection [config]="config$ | async"></dbx-injection>
37
37
  </dbx-anchor>
38
- `, isInline: true, components: [{ type: i1.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i2.DbxInjectedComponent, selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }], pipes: { "async": i3.AsyncPipe } });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
38
+ `, isInline: true, components: [{ type: i1.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], pipes: { "async": i3.AsyncPipe } });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{
42
42
  selector: 'dbx-searchable-field-autocomplete-item',
43
43
  template: `
44
44
  <dbx-anchor [block]="true" [anchor]="anchor$ | async">
45
- <dbx-injected-content [config]="config$ | async"></dbx-injected-content>
45
+ <dbx-injection [config]="config$ | async"></dbx-injection>
46
46
  </dbx-anchor>
47
47
  `
48
48
  }]
@@ -55,24 +55,24 @@ export class AbstractDbxSearchableFieldDisplayDirective {
55
55
  this.displayValue = displayValue;
56
56
  }
57
57
  }
58
- AbstractDbxSearchableFieldDisplayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [{ token: DBX_SEARCHABLE_FIELD_COMPONENT_DATA }], target: i0.ɵɵFactoryTarget.Directive });
59
- AbstractDbxSearchableFieldDisplayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractDbxSearchableFieldDisplayDirective, ngImport: i0 });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
58
+ AbstractDbxSearchableFieldDisplayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [{ token: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN }], target: i0.ɵɵFactoryTarget.Directive });
59
+ AbstractDbxSearchableFieldDisplayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxSearchableFieldDisplayDirective, ngImport: i0 });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
61
61
  type: Directive
62
62
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
63
63
  type: Inject,
64
- args: [DBX_SEARCHABLE_FIELD_COMPONENT_DATA]
64
+ args: [DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN]
65
65
  }] }]; } });
66
66
  export class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFieldDisplayDirective {
67
67
  }
68
- DbxDefaultSearchableFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
69
- DbxDefaultSearchableFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
68
+ DbxDefaultSearchableFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
69
+ DbxDefaultSearchableFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
70
70
  <div class="dbx-default-searchable-field-display">
71
71
  <span class="dbx-chip-label">{{ displayValue.label }}</span>
72
72
  <span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
73
73
  </div>
74
74
  `, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{
78
78
  selector: 'dbx-default-searchable-field-display',
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
84
84
  `
85
85
  }]
86
86
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5hdXRvY29tcGxldGUuaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmF1dG9jb21wbGV0ZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBVTVGLE1BQU0sT0FBTywyQ0FBMkM7SUFSeEQ7UUFVVSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUF1RCxTQUFTLENBQUMsQ0FBQztRQUNwRyxrQkFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLFlBQU8sR0FBMkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pGLE1BQU0sTUFBTSxHQUErQjtnQkFDekMsR0FBRyxDQUFDLENBQUMsT0FBTztnQkFDWixTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQ3pCLE9BQU8sRUFBRSxtQ0FBbUM7d0JBQzVDLFFBQVEsRUFBRSxDQUFDO3FCQUNaLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUN6QixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVLLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQVdoRTtJQVRDLElBQ0ksWUFBWSxDQUFDLFlBQTJEO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzt3SUExQlUsMkNBQTJDOzRIQUEzQywyQ0FBMkMsd0hBTjVDOzs7O0dBSVQ7MkZBRVUsMkNBQTJDO2tCQVJ2RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGOzhCQXFCSyxZQUFZO3NCQURmLEtBQUs7O0FBV1IsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBZ0IsMENBQTBDO0lBRTlELFlBQWtFLFlBQTJEO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUErQztJQUFJLENBQUM7O3VJQUY5RywwQ0FBMEMsa0JBRTFDLG1DQUFtQzsySEFGbkMsMENBQTBDOzJGQUExQywwQ0FBMEM7a0JBRC9ELFNBQVM7OzBCQUdLLE1BQU07MkJBQUMsbUNBQW1DOztBQWF6RCxNQUFNLE9BQU8seUNBQTZDLFNBQVEsMENBQTZDOztzSUFBbEcseUNBQXlDOzBIQUF6Qyx5Q0FBeUMsbUdBUDFDOzs7OztHQUtUOzJGQUVVLHlDQUF5QztrQkFUckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUU7Ozs7O0dBS1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSAnLi9zZWFyY2hhYmxlJztcbmltcG9ydCB7IE1heWJlLCBtZXJnZUludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0ZWRDb21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5cbmV4cG9ydCBjb25zdCBEQlhfU0VBUkNIQUJMRV9GSUVMRF9DT01QT05FTlRfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGJ4U2VhcmNoYWJsZUZpZWxkJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWFuY2hvciBbYmxvY2tdPVwidHJ1ZVwiIFthbmNob3JdPVwiYW5jaG9yJCB8IGFzeW5jXCI+XG4gICAgICA8ZGJ4LWluamVjdGVkLWNvbnRlbnQgW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3RlZC1jb250ZW50PlxuICAgIDwvZGJ4LWFuY2hvcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWFyY2hhYmxlRmllbGRBdXRvY29tcGxldGVJdGVtQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9kaXNwbGF5VmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZSQgPSB0aGlzLl9kaXNwbGF5VmFsdWUucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZz4gPSB0aGlzLmRpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiB7XG4gICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICAgIC4uLnguZGlzcGxheSxcbiAgICAgIHByb3ZpZGVyczogbWVyZ2VJbnRvQXJyYXkoW3tcbiAgICAgICAgcHJvdmlkZTogREJYX1NFQVJDSEFCTEVfRklFTERfQ09NUE9ORU5UX0RBVEEsXG4gICAgICAgIHVzZVZhbHVlOiB4XG4gICAgICB9XSwgeC5kaXNwbGF5LnByb3ZpZGVycylcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IGFuY2hvciQgPSB0aGlzLmRpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiB4LmFuY2hvcikpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNwbGF5VmFsdWUoZGlzcGxheVZhbHVlOiBDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4pIHtcbiAgICB0aGlzLl9kaXNwbGF5VmFsdWUubmV4dChkaXNwbGF5VmFsdWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGxheVZhbHVlLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBEZWZhdWx0XG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieFNlYXJjaGFibGVGaWVsZERpc3BsYXlEaXJlY3RpdmU8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoREJYX1NFQVJDSEFCTEVfRklFTERfQ09NUE9ORU5UX0RBVEEpIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZTogQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+KSB7IH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZGVmYXVsdC1zZWFyY2hhYmxlLWZpZWxkLWRpc3BsYXknLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRlZmF1bHQtc2VhcmNoYWJsZS1maWVsZC1kaXNwbGF5XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1sYWJlbFwiPnt7IGRpc3BsYXlWYWx1ZS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLXN1YmxhYmVsXCIgKm5nSWY9XCJkaXNwbGF5VmFsdWUuc3VibGFiZWxcIj4oe3sgZGlzcGxheVZhbHVlLnN1YmxhYmVsIH19KTwvc3Bhbj5cbiAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RGVmYXVsdFNlYXJjaGFibGVGaWVsZERpc3BsYXlDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlYXJjaGFibGVGaWVsZERpc3BsYXlEaXJlY3RpdmU8VD57IH1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5hdXRvY29tcGxldGUuaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmF1dG9jb21wbGV0ZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUd0RCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBVWxHLE1BQU0sT0FBTywyQ0FBMkM7SUFSeEQ7UUFVVSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUF1RCxTQUFTLENBQUMsQ0FBQztRQUNwRyxrQkFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLFlBQU8sR0FBNEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFGLE1BQU0sTUFBTSxHQUFnQztnQkFDMUMsR0FBRyxDQUFDLENBQUMsT0FBTztnQkFDWixTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQ3pCLE9BQU8sRUFBRSx5Q0FBeUM7d0JBQ2xELFFBQVEsRUFBRSxDQUFDO3FCQUNaLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUN6QixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVLLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQVdoRTtJQVRDLElBQ0ksWUFBWSxDQUFDLFlBQTJEO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzt3SUExQlUsMkNBQTJDOzRIQUEzQywyQ0FBMkMsd0hBTjVDOzs7O0dBSVQ7MkZBRVUsMkNBQTJDO2tCQVJ2RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGOzhCQXFCSyxZQUFZO3NCQURmLEtBQUs7O0FBV1IsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBZ0IsMENBQTBDO0lBRTlELFlBQXdFLFlBQTJEO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUErQztJQUFJLENBQUM7O3VJQUZwSCwwQ0FBMEMsa0JBRTFDLHlDQUF5QzsySEFGekMsMENBQTBDOzJGQUExQywwQ0FBMEM7a0JBRC9ELFNBQVM7OzBCQUdLLE1BQU07MkJBQUMseUNBQXlDOztBQWEvRCxNQUFNLE9BQU8seUNBQTZDLFNBQVEsMENBQTZDOztzSUFBbEcseUNBQXlDOzBIQUF6Qyx5Q0FBeUMsbUdBUDFDOzs7OztHQUtUOzJGQUVVLHlDQUF5QztrQkFUckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUU7Ozs7O0dBS1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSAnLi9zZWFyY2hhYmxlJztcbmltcG9ydCB7IE1heWJlLCBtZXJnZUludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5leHBvcnQgY29uc3QgREJYX1NFQVJDSEFCTEVfRklFTERfQ09NUE9ORU5UX0RBVEFfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieFNlYXJjaGFibGVGaWVsZCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtc2VhcmNoYWJsZS1maWVsZC1hdXRvY29tcGxldGUtaXRlbScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1hbmNob3IgW2Jsb2NrXT1cInRydWVcIiBbYW5jaG9yXT1cImFuY2hvciQgfCBhc3luY1wiPlxuICAgICAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gICAgPC9kYngtYW5jaG9yPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFNlYXJjaGFibGVGaWVsZEF1dG9jb21wbGV0ZUl0ZW1Db21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2Rpc3BsYXlWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlJCA9IHRoaXMuX2Rpc3BsYXlWYWx1ZS5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjb25maWckOiBPYnNlcnZhYmxlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz4gPSB0aGlzLmRpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiB7XG4gICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgPSB7XG4gICAgICAuLi54LmRpc3BsYXksXG4gICAgICBwcm92aWRlcnM6IG1lcmdlSW50b0FycmF5KFt7XG4gICAgICAgIHByb3ZpZGU6IERCWF9TRUFSQ0hBQkxFX0ZJRUxEX0NPTVBPTkVOVF9EQVRBX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogeFxuICAgICAgfV0sIHguZGlzcGxheS5wcm92aWRlcnMpXG4gICAgfTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pKTtcblxuICByZWFkb25seSBhbmNob3IkID0gdGhpcy5kaXNwbGF5VmFsdWUkLnBpcGUobWFwKHggPT4geC5hbmNob3IpKTtcblxuICBASW5wdXQoKVxuICBzZXQgZGlzcGxheVZhbHVlKGRpc3BsYXlWYWx1ZTogQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+KSB7XG4gICAgdGhpcy5fZGlzcGxheVZhbHVlLm5leHQoZGlzcGxheVZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BsYXlWYWx1ZS5jb21wbGV0ZSgpO1xuICB9XG5cbn1cblxuLy8gTUFSSzogRGVmYXVsdFxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhTZWFyY2hhYmxlRmllbGREaXNwbGF5RGlyZWN0aXZlPFQ+IHtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERCWF9TRUFSQ0hBQkxFX0ZJRUxEX0NPTVBPTkVOVF9EQVRBX1RPS0VOKSByZWFkb25seSBkaXNwbGF5VmFsdWU6IENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPikgeyB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWRlZmF1bHQtc2VhcmNoYWJsZS1maWVsZC1kaXNwbGF5JyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cImRieC1kZWZhdWx0LXNlYXJjaGFibGUtZmllbGQtZGlzcGxheVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNoaXAtbGFiZWxcIj57eyBkaXNwbGF5VmFsdWUubGFiZWwgfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1zdWJsYWJlbFwiICpuZ0lmPVwiZGlzcGxheVZhbHVlLnN1YmxhYmVsXCI+KHt7IGRpc3BsYXlWYWx1ZS5zdWJsYWJlbCB9fSk8L3NwYW4+XG4gIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieERlZmF1bHRTZWFyY2hhYmxlRmllbGREaXNwbGF5Q29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhTZWFyY2hhYmxlRmllbGREaXNwbGF5RGlyZWN0aXZlPFQ+eyB9XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { mergeDbxInjectedComponentConfigs } from '@dereekb/dbx-core';
1
+ import { mergeDbxInjectionComponentConfigs } from '@dereekb/dbx-core';
2
2
  import { filterMaybe, SubscriptionObject, beginLoading, LoadingStateContextInstance, successResult } from '@dereekb/rxjs';
3
3
  import { ChangeDetectorRef, Directive, ElementRef, ViewChild } from '@angular/core';
4
4
  import { FormControl } from '@angular/forms';
@@ -103,7 +103,7 @@ export class AbstractDbxSearchableValueFieldDirective extends FieldType {
103
103
  if (needsDisplay.length > 0) {
104
104
  // Go get the display value.
105
105
  const displayValuesObs = this.displayForValue(needsDisplay.map(x => x[2]));
106
- const defaultDisplay = mergeDbxInjectedComponentConfigs([this.defaultDisplay, this.display]);
106
+ const defaultDisplay = mergeDbxInjectionComponentConfigs([this.defaultDisplay, this.display]);
107
107
  const anchorForValue = this.useAnchor && this.anchorForValue;
108
108
  obs = displayValuesObs.pipe(first(), map((displayResults) => {
109
109
  // Assign the default component classes to complete configuration.
@@ -112,7 +112,7 @@ export class AbstractDbxSearchableValueFieldDirective extends FieldType {
112
112
  x.display = defaultDisplay;
113
113
  }
114
114
  else {
115
- x.display = mergeDbxInjectedComponentConfigs([defaultDisplay, x.display]);
115
+ x.display = mergeDbxInjectionComponentConfigs([defaultDisplay, x.display]);
116
116
  }
117
117
  if (!x.anchor && anchorForValue) {
118
118
  x.anchor = anchorForValue(x);
@@ -137,7 +137,6 @@ export class AbstractDbxSearchableValueFieldDirective extends FieldType {
137
137
  }));
138
138
  }
139
139
  ngOnInit() {
140
- super.ngOnInit();
141
140
  this._formControlObs.next(this.formControl);
142
141
  if (this.searchableField.textInputValidator) {
143
142
  this.inputCtrl.setValidators(this.searchableField.textInputValidator);
@@ -242,12 +241,12 @@ export class AbstractDbxSearchableValueFieldDirective extends FieldType {
242
241
  this.formControl.markAsTouched();
243
242
  }
244
243
  }
245
- AbstractDbxSearchableValueFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
246
- AbstractDbxSearchableValueFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractDbxSearchableValueFieldDirective, viewQueries: [{ propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }], usesInheritance: true, ngImport: i0 });
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, decorators: [{
244
+ AbstractDbxSearchableValueFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
245
+ AbstractDbxSearchableValueFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxSearchableValueFieldDirective, viewQueries: [{ propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }], usesInheritance: true, ngImport: i0 });
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, decorators: [{
248
247
  type: Directive
249
248
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { textInput: [{
250
249
  type: ViewChild,
251
250
  args: ['textInput']
252
251
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGdDQUFnQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQWdCLDJCQUEyQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBbUIsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtwSixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRyxPQUFPLEVBQVMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWdFeEM7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0Isd0NBQ3BCLFNBQVEsU0FBOEI7SUEyTXRDLFlBQXFCLEtBQXdCO1FBQzNDLEtBQUssRUFBRSxDQUFDO1FBRFcsVUFBSyxHQUFM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b250ZW50IjpbImltcG9ydCB7IERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnLCBtZXJnZURieEluamVjdGVkQ29tcG9uZW50Q29uZmlncyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCBTdWJzY3JpcHRpb25PYmplY3QsIGJlZ2luTG9hZGluZywgTG9hZGluZ1N0YXRlLCBMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIHN1Y2Nlc3NSZXN1bHQgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgQmVoYXZpb3JTdWJqZWN0LCBvZiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgU2VhcmNoYWJsZVZhbHVlRmllbGRIYXNoRm4sIFNlYXJjaGFibGVWYWx1ZUZpZWxkU3RyaW5nU2VhcmNoRm4sXG4gIFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheUZuLCBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZSwgU2VhcmNoYWJsZVZhbHVlRmllbGRWYWx1ZSwgU2VhcmNoYWJsZVZhbHVlRmllbGRBbmNob3JGbiwgQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlXG59IGZyb20gJy4vc2VhcmNoYWJsZSc7XG5pbXBvcnQgeyBEYnhEZWZhdWx0U2VhcmNoYWJsZUZpZWxkRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoYWJsZS5maWVsZC5hdXRvY29tcGxldGUuaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF5YmUsIGNvbnZlcnRNYXliZVRvQXJyYXksIGZpbmRVbmlxdWUsIGxhc3RWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnY2hhbmdlLWNhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ1ZhbHVlRmllbGRzRmllbGRDb25maWcge1xuICAvKipcbiAgICogQ3VzdG9tIGlucHV0IHZhbGlkYXRvcnMuXG4gICAqL1xuICB0ZXh0SW5wdXRWYWxpZGF0b3I/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZyBleHRlbmRzIFN0cmluZ1ZhbHVlRmllbGRzRmllbGRDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+IGV4dGVuZHMgU3RyaW5nVmFsdWVGaWVsZHNGaWVsZENvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBzdHJpbmcgdmFsdWVzIHRvIGJlIHVzZWQgZGlyZWN0bHksIG9yIGlmIHZhbHVlcyBjYW4gb25seSBiZSBjaG9zZW4gZnJvbSBzZWFyY2hpbmcuXG4gICAqL1xuICBhbGxvd1N0cmluZ1ZhbHVlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb252ZXJzaW9uIGZ1bmN0aW9uLiBJZiBwcm92aWRlZCwgYWxsb3dTdHJpbmdWYWx1ZXMgaXMgY29uc2lkZXJlZCB0cnVlLlxuICAgKi9cbiAgY29udmVydFN0cmluZ1ZhbHVlPzogKHRleHQ6IHN0cmluZykgPT4gVDtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGhhc2hpbmcgZGlzcGxheSB2YWx1ZXMgYW5kIG9taXR0aW5nIHJlcGVhdCB2YWx1ZXMuXG4gICAqXG4gICAqIElmIGhhc2hGb3JWYWx1ZSBpcyBub3QgcHJvdmlkZWQsIHRoZSB2YWx1ZSdzIHZhbHVlIHdpbGwgYmUgdXNlZCBhcyBpcy5cbiAgICovXG4gIGhhc2hGb3JWYWx1ZT86IFNlYXJjaGFibGVWYWx1ZUZpZWxkSGFzaEZuPFQ+O1xuICAvKipcbiAgICogUGVyZm9ybXMgYSBzZWFyY2guXG4gICAqL1xuICBzZWFyY2g6IFNlYXJjaGFibGVWYWx1ZUZpZWxkU3RyaW5nU2VhcmNoRm48VD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBzZWFyY2hlcyBvbiBlbXB0eSB0ZXh0LiBJcyBmYWxzZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgc2VhcmNoT25FbXB0eVRleHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmYXVsdCBpbmplY3RlZCBjb25maWcgdG8gdXNlIGZvciBkaXNwbGF5IHZhbHVlcy5cbiAgICovXG4gIGRpc3BsYXk/OiBQYXJ0aWFsPERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnPjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGJ1aWxkaW5nIGEgZGlzcGxheSB2YWx1ZSBnaXZlbiB0aGUgaW5wdXQuXG4gICAqL1xuICBkaXNwbGF5Rm9yVmFsdWU6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQ+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gdXNlIHRoZSBhbmNob3IgZmllbGQgb24gdmFsdWUgZWxlbWVudHMuXG4gICAqXG4gICAqIFRoaXMgaGFzIG5vIGRlZmF1bHQgZWZmZWN0IGlmIGEgY29tcG9uZW50IGNsYXNzIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgdXNlQW5jaG9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIHJldHJpZXZpbmcgYW4gYW5jaG9yIHZhbHVlIGZvciB2YWx1ZXMgdGhhdCBoYXZlIG5vIGFuY2hvciB2YWx1ZSBzZXQuXG4gICAqXG4gICAqIE9ubHkgdXNlZCB3aGVuIHVzZUFuY2hvciBpcyB0cnVlLlxuICAgKi9cbiAgYW5jaG9yRm9yVmFsdWU/OiBTZWFyY2hhYmxlVmFsdWVGaWVsZEFuY2hvckZuPFQ+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyBcIkNsZWFyXCIgaW4gdGhlIGF1dGNvbXBsZXRlIGxpc3QuXG4gICAqL1xuICBzaG93Q2xlYXJWYWx1ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoYWJsZVZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4gZXh0ZW5kcyBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHNlYXJjaGFibGVGaWVsZDogU2VhcmNoYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWc8VD47XG59XG5cbi8qKlxuICogQWJzdHJhY3Qgc2VhcmNoYWJsZSBmaWVsZCB0aGF0IHByb3ZpZGVzIGEgZmVhdHVyZSBmb3Igc2VhcmNoaW5nIGZvciB2YWx1ZXMsIGFuZCBmb3IgZGlzcGxheWluZyB2YWx1ZXMgdXNpbmcgT2JzZXJ2YWJsZXMuXG4gKlxuICogRGlzcGxheSB2YWx1ZXMgYXJlIGNhY2hlZCBmb3IgcGVyZm9ybWFuY2UuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmU8VCwgQyBleHRlbmRzIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnPFQ+PlxuICBleHRlbmRzIEZpZWxkVHlwZTxDICYgRmllbGRUeXBlQ29uZmlnPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gc2V0L2dldCB2YWx1ZXMgYXMgYW4gYXJyYXkuXG4gICAqL1xuICBtdWx0aVNlbGVjdCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG92ZXJyaWRlIHNldCBieSB0aGUgcGFyZW50IGNsYXNzIGZvciBwaWNraW5nIGEgZGVmYXVsdCBkaXNwbGF5IGZvciB0aGlzIGRpcmVjdGl2ZS5cbiAgICovXG4gIGRlZmF1bHREaXNwbGF5PzogRGJ4SW5qZWN0ZWRDb21wb25lbnRDb25maWc7XG5cbiAgQFZpZXdDaGlsZCgndGV4dElucHV0JylcbiAgdGV4dElucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICByZWFkb25seSBpbnB1dEN0cmwgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmb3JtQ29udHJvbCQgPSB0aGlzLl9mb3JtQ29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXlIYXNoTWFwID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8YW55LCBDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+PihuZXcgTWFwKCkpO1xuXG4gIHJlYWRvbmx5IGlucHV0VmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5pbnB1dEN0cmwudmFsdWUpKTtcbiAgcmVhZG9ubHkgaW5wdXRWYWx1ZVN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuaW5wdXRWYWx1ZSQucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0c1N0YXRlJCA9IHRoaXMuaW5wdXRWYWx1ZVN0cmluZyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHRleHQpID0+ICgodGV4dCB8fCB0aGlzLnNlYXJjaE9uRW1wdHlUZXh0KSA/IHRoaXMuc2VhcmNoKHRleHQgPz8gJycpIDogb2YoW10pKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXMoeCkpLFxuICAgICAgLy8gUmV0dXJuIGJlZ2luIGxvYWRpbmcgdG8gc2V0dXAgdGhlIGxvYWRpbmcgc3RhdGUuXG4gICAgICBzdGFydFdpdGgoYmVnaW5Mb2FkaW5nKCkpXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzaW5nbGVWYWx1ZVN5bmNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoQ29udGV4dCA9IG5ldyBMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UoeyBvYnM6IHRoaXMuc2VhcmNoUmVzdWx0c1N0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IHNlYXJjaFJlc3VsdHMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPiA9IHRoaXMuc2VhcmNoUmVzdWx0c1N0YXRlJC5waXBlKFxuICAgIG1hcCh4ID0+IHg/LnZhbHVlID8/IFtdKSxcbiAgKTtcblxuICByZWFkb25seSBfZm9ybUNvbnRyb2xWYWx1ZTogT2JzZXJ2YWJsZTxUIHwgVFtdPiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICByZWFkb25seSB2YWx1ZXMkOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLl9mb3JtQ29udHJvbFZhbHVlLnBpcGUoXG4gICAgbWFwKGNvbnZlcnRNYXliZVRvQXJyYXkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10+PiA9IHRoaXMudmFsdWVzJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCh2YWx1ZXM6IFRbXSkgPT4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXMpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZXMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPiA9IHRoaXMuZGlzcGxheVZhbHVlc1N0YXRlJC5waXBlKFxuICAgIG1hcCh4ID0+IHg/LnZhbHVlID8/IFtdKVxuICApO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQubmFtZSA/PyAoY2FtZWxDYXNlKHRoaXMubGFiZWwgPz8gdGhpcy5rZXkgYXMgc3RyaW5nKSk7XG4gIH1cblxuICBnZXQgbGFiZWwoKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zPy5sYWJlbDtcbiAgfVxuXG4gIGdldCByZWFkb25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zPy5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBzZWFyY2hhYmxlRmllbGQoKTogU2VhcmNoYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWc8VD4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnNlYXJjaGFibGVGaWVsZDtcbiAgfVxuXG4gIGdldCBzZWFyY2hPbkVtcHR5VGV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuc2VhcmNoT25FbXB0eVRleHQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgYXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucz8uYXR0cmlidXRlcz8uWydhdXRvY29tcGxldGUnXSBhcyBhbnkpID8/IHRoaXMua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBoYXNoRm9yVmFsdWUoKTogU2VhcmNoYWJsZVZhbHVlRmllbGRIYXNoRm48VD4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5oYXNoRm9yVmFsdWUgPz8gKCh4KSA9PiB4IGFzIGFueSk7XG4gIH1cblxuICBnZXQgZGlzcGxheUZvclZhbHVlKCk6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuZGlzcGxheUZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IHVzZUFuY2hvcigpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLnVzZUFuY2hvcjtcbiAgfVxuXG4gIGdldCBhbmNob3JGb3JWYWx1ZSgpOiBNYXliZTxTZWFyY2hhYmxlVmFsdWVGaWVsZEFuY2hvckZuPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLmFuY2hvckZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXkoKTogTWF5YmU8UGFydGlhbDxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZz4+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuZGlzcGxheTtcbiAgfVxuXG4gIGdldCBzZWFyY2goKTogU2VhcmNoYWJsZVZhbHVlRmllbGRTdHJpbmdTZWFyY2hGbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLnNlYXJjaDtcbiAgfVxuXG4gIGdldCB2YWx1ZXMoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWVPbkZvcm1Db250cm9sKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpID8/IFtdO1xuICB9XG5cbiAgZ2V0IGFsbG93U3RyaW5nVmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5hbGxvd1N0cmluZ1ZhbHVlcyA/PyBCb29sZWFuKHRoaXMuY29udmVydFN0cmluZ1ZhbHVlKTtcbiAgfVxuXG4gIGdldCBjb252ZXJ0U3RyaW5nVmFsdWUoKTogTWF5YmU8KHRleHQ6IHN0cmluZykgPT4gVD4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5jb252ZXJ0U3RyaW5nVmFsdWU7XG4gIH1cblxuICBnZXQgc2hvd0NsZWFyVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLnNob3dDbGVhclZhbHVlID8/IHRydWU7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXM6IFRbXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzLm1hcCgodmFsdWUpID0+ICh7IHZhbHVlIH0pKSk7XG4gIH1cblxuICBsb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlczogU2VhcmNoYWJsZVZhbHVlRmllbGRWYWx1ZTxUPltdKTogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10+PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlcykucGlwZShcbiAgICAgIG1hcCgoZGlzcGxheVZhbHVlczogQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10pID0+IHN1Y2Nlc3NSZXN1bHQoZGlzcGxheVZhbHVlcykpLFxuICAgICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGdldERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXM6IFNlYXJjaGFibGVWYWx1ZUZpZWxkVmFsdWU8VD5bXSk6IE9ic2VydmFibGU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheUhhc2hNYXAucGlwZShcbiAgICAgIG1lcmdlTWFwKChkaXNwbGF5TWFwKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBpbmdSZXN1bHQgPSB2YWx1ZXNcbiAgICAgICAgICAubWFwKHggPT4gW3gsIHRoaXMuaGFzaEZvclZhbHVlKHgudmFsdWUpXSlcbiAgICAgICAgICAubWFwKChbeCwgaGFzaF0sIGkpID0+IFtpLCBoYXNoLCB4LCBkaXNwbGF5TWFwLmdldChoYXNoKV0gYXMgW251bWJlciwgYW55LCBTZWFyY2hhYmxlVmFsdWVGaWVsZFZhbHVlPFQ+LCBDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD5dKTtcblxuICAgICAgICBjb25zdCBoYXNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoeCA9PiBCb29sZWFuKHhbM10pKTtcbiAgICAgICAgY29uc3QgbmVlZHNEaXNwbGF5ID0gbWFwcGluZ1Jlc3VsdC5maWx0ZXIoeCA9PiAheFszXSk7XG4gICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10+O1xuXG4gICAgICAgIGlmIChuZWVkc0Rpc3BsYXkubGVuZ3RoID4gMCkge1xuXG4gICAgICAgICAgLy8gR28gZ2V0IHRoZSBkaXNwbGF5IHZhbHVlLlxuICAgICAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXNPYnMgPSB0aGlzLmRpc3BsYXlGb3JWYWx1ZShuZWVkc0Rpc3BsYXkubWFwKHggPT4geFsyXSkpO1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHREaXNwbGF5ID0gbWVyZ2VEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZ3MoW3RoaXMuZGVmYXVsdERpc3BsYXksIHRoaXMuZGlzcGxheV0pO1xuICAgICAgICAgIGNvbnN0IGFuY2hvckZvclZhbHVlID0gdGhpcy51c2VBbmNob3IgJiYgdGhpcy5hbmNob3JGb3JWYWx1ZTtcblxuICAgICAgICAgIG9icyA9IGRpc3BsYXlWYWx1ZXNPYnMucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBtYXAoKGRpc3BsYXlSZXN1bHRzKSA9PiB7XG5cbiAgICAgICAgICAgICAgLy8gQXNzaWduIHRoZSBkZWZhdWx0IGNvbXBvbmVudCBjbGFzc2VzIHRvIGNvbXBsZXRlIGNvbmZpZ3VyYXRpb24uXG4gICAgICAgICAgICAgIGRpc3BsYXlSZXN1bHRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF4LmRpc3BsYXkpIHtcbiAgICAgICAgICAgICAgICAgIHguZGlzcGxheSA9IGRlZmF1bHREaXNwbGF5O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB4LmRpc3BsYXkgPSBtZXJnZURieEluamVjdGVkQ29tcG9uZW50Q29uZmlncyhbZGVmYXVsdERpc3BsYXksIHguZGlzcGxheV0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgheC5hbmNob3IgJiYgYW5jaG9yRm9yVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIHguYW5jaG9yID0gYW5jaG9yRm9yVmFsdWUoeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBtYXAgdG8gcmUtam9pbiB2YWx1ZXMgbGF0ZXIuXG4gICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlSZXN1bHRzTWFwcGluZzogW0NvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiwgYW55XVtdID0gKGRpc3BsYXlSZXN1bHRzIGFzIENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdKS5tYXAoeCA9PiBbeCwgdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSldKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoeCA9PiB4WzNdID8/IHZhbHVlSW5kZXhIYXNoTWFwLmdldCh4WzFdKSk7XG5cbiAgICAgICAgICAgICAgLy8gUmV0dXJuIGRpc3BsYXkgdmFsdWVzLlxuICAgICAgICAgICAgICByZXR1cm4gbmV3RGlzcGxheVZhbHVlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIG9icyA9IG9mKGhhc0Rpc3BsYXkubWFwKHggPT4geFszXSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9icztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG5cbiAgICBpZiAodGhpcy5zZWFyY2hhYmxlRmllbGQudGV4dElucHV0VmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q3RybC5zZXRWYWxpZGF0b3JzKHRoaXMuc2VhcmNoYWJsZUZpZWxkLnRleHRJbnB1dFZhbGlkYXRvcik7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRlZmF1bHREaXNwbGF5Py5jb21wb25lbnRDbGFzcykge1xuICAgICAgdGhpcy5kZWZhdWx0RGlzcGxheSA9IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0RGlzcGxheSxcbiAgICAgICAgY29tcG9uZW50Q2xhc3M6IERieERlZmF1bHRTZWFyY2hhYmxlRmllbGREaXNwbGF5Q29tcG9uZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0ID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zaW5nbGVWYWx1ZVN5bmNTdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uID0gdGhpcy5kaXNwbGF5VmFsdWVzJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgaWYgKHhbMF0pIHtcbiAgICAgICAgICB0aGlzLl9zeW5jU2luZ2xlVmFsdWUoeFswXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzcGxheUhhc2hNYXAuY29tcGxldGUoKTtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dC5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBzeW5jIHRoZSBpbnB1dCBjb250cm9sIHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlLlxuICAgKlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtdWx0aVNlbGVjdCBpcyBmYWxzZS5cbiAgICovXG4gIHByb3RlY3RlZCBfc3luY1NpbmdsZVZhbHVlKHZhbHVlOiBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRDdHJsLnNldFZhbHVlKHZhbHVlLmxhYmVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfYWRkV2l0aFRleHRWYWx1ZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoYWJsZUZpZWxkLmFsbG93U3RyaW5nVmFsdWVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRleHQpIHtcbiAgICAgIHRleHQgPSAodGV4dCB8fCAnJykudHJpbSgpO1xuICAgICAgdGhpcy5pbnB1dEN0cmwuc2V0VmFsdWUodGV4dC50cmltKCkpO1xuICAgIH1cblxuICAgIC8vIGNvbnNvbGUubG9nKCdBZGQ6ICcsIHRleHQsIHRoaXMuaW5wdXRDdHJsLnZhbGlkKTtcblxuICAgIGlmICghdGhpcy5pbnB1dEN0cmwudmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGV4dCkge1xuICAgICAgY29uc3QgdmFsdWUgPSAodGhpcy5jb252ZXJ0U3RyaW5nVmFsdWUpID8gdGhpcy5jb252ZXJ0U3RyaW5nVmFsdWUodGV4dCkgOiB0ZXh0IGFzIGFueSBhcyBUO1xuICAgICAgdGhpcy5hZGRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYWRkV2l0aERpc3BsYXlWYWx1ZShkaXNwbGF5VmFsdWU6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5hZGRWYWx1ZShkaXNwbGF5VmFsdWUudmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlV2l0aERpc3BsYXlWYWx1ZShkaXNwbGF5VmFsdWU6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVWYWx1ZShkaXNwbGF5VmFsdWUudmFsdWUpO1xuICB9XG5cbiAgX3RyeUFkZEN1cnJlbnRJbnB1dFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIGxldCBhZGRlZFZhbHVlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5hbGxvd1N0cmluZ1ZhbHVlcykge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0Q3RybC52YWx1ZTtcblxuICAgICAgaWYgKCh2YWx1ZSB8fCAnJykudHJpbSgpKSB7XG4gICAgICAgIHRoaXMuX2FkZFdpdGhUZXh0VmFsdWUodmFsdWUpO1xuICAgICAgICBhZGRlZFZhbHVlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWRkZWRWYWx1ZTtcbiAgfVxuXG4gIGFkZFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy50ZXh0SW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuaW5wdXRDdHJsLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVzKFsuLi50aGlzLnZhbHVlcywgdmFsdWVdKTtcbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgbGV0IHZhbHVlcztcblxuICAgIGlmICh0aGlzLmhhc2hGb3JWYWx1ZSkge1xuICAgICAgY29uc3QgaGFzaFRvRmlsdGVyID0gdGhpcy5oYXNoRm9yVmFsdWUodmFsdWUpO1xuICAgICAgdmFsdWVzID0gdGhpcy52YWx1ZXMuZmlsdGVyKHggPT4gdGhpcy5oYXNoRm9yVmFsdWUoeCkgIT09IGhhc2hUb0ZpbHRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcih4ID0+IHggIT09IHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFZhbHVlcyh2YWx1ZXMpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZXMoW10pO1xuICB9XG5cbiAgc2V0VmFsdWVzKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgLy8gVXNlIHRvIGZpbHRlciBub24tdW5pcXVlIHZhbHVlcy5cbiAgICBpZiAodGhpcy5oYXNoRm9yVmFsdWUpIHtcbiAgICAgIHZhbHVlcyA9IGZpbmRVbmlxdWUodmFsdWVzLCB0aGlzLmhhc2hGb3JWYWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlcyk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBwcm90ZWN0ZWQgX2dldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZU9uRm9ybUNvbnRyb2w6IGFueSk6IFRbXSB7XG4gICAgY29uc3QgdmFsdWUgPSAodmFsdWVPbkZvcm1Db250cm9sICE9IG51bGwpID8gW10uY29uY2F0KHZhbHVlT25Gb3JtQ29udHJvbCkgOiBbXTsgIC8vIEFsd2F5cyByZXR1cm4gYW4gYXJyYXkuXG4gICAgcmV0dXJuIHZhbHVlIGFzIFRbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0VmFsdWVPbkZvcm1Db250cm9sKHZhbHVlczogVFtdKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5tdWx0aVNlbGVjdCkgPyB2YWx1ZXMgOiBsYXN0VmFsdWUodmFsdWVzKTsgIC8vIHBpY2sgbGFzdCB2YWx1ZSwgYXMgdGhlIGxhc3QgdmFsdWUgYWRkZWQgaXMgdGhlIG5ld2VzdCB2YWx1ZS5cbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxufVxuIl19
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLGlDQUFpQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQWdCLDJCQUEyQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBbUIsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtwSixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRyxPQUFPLEVBQVMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWdFeEM7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0Isd0NBQ3BCLFNBQVEsU0FBOEI7SUEyTXRDLFlBQXFCLEtBQXdCO1FBQzNDLEtBQUssRUFBRSxDQUFDO1FBRFcsVUFBSyxHQUFM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Q29tcG9uZW50Q29uZmlnLCBtZXJnZURieEluamVjdGlvbkNvbXBvbmVudENvbmZpZ3MgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0LCBiZWdpbkxvYWRpbmcsIExvYWRpbmdTdGF0ZSwgTG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlLCBzdWNjZXNzUmVzdWx0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCBtYXAsIG1lcmdlTWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIEJlaGF2aW9yU3ViamVjdCwgb2YsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFNlYXJjaGFibGVWYWx1ZUZpZWxkSGFzaEZuLCBTZWFyY2hhYmxlVmFsdWVGaWVsZFN0cmluZ1NlYXJjaEZuLFxuICBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlGbiwgU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkVmFsdWUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkQW5jaG9yRm4sIENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZVxufSBmcm9tICcuL3NlYXJjaGFibGUnO1xuaW1wb3J0IHsgRGJ4RGVmYXVsdFNlYXJjaGFibGVGaWVsZERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaGFibGUuZmllbGQuYXV0b2NvbXBsZXRlLml0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1heWJlLCBjb252ZXJ0TWF5YmVUb0FycmF5LCBmaW5kVW5pcXVlLCBsYXN0VmFsdWUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGNhbWVsQ2FzZSB9IGZyb20gJ2NoYW5nZS1jYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBpbnB1dCB2YWxpZGF0b3JzLlxuICAgKi9cbiAgdGV4dElucHV0VmFsaWRhdG9yPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ1ZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWcgZXh0ZW5kcyBTdHJpbmdWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZyB7IH1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiBleHRlbmRzIFN0cmluZ1ZhbHVlRmllbGRzRmllbGRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgc3RyaW5nIHZhbHVlcyB0byBiZSB1c2VkIGRpcmVjdGx5LCBvciBpZiB2YWx1ZXMgY2FuIG9ubHkgYmUgY2hvc2VuIGZyb20gc2VhcmNoaW5nLlxuICAgKi9cbiAgYWxsb3dTdHJpbmdWYWx1ZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgY29udmVyc2lvbiBmdW5jdGlvbi4gSWYgcHJvdmlkZWQsIGFsbG93U3RyaW5nVmFsdWVzIGlzIGNvbnNpZGVyZWQgdHJ1ZS5cbiAgICovXG4gIGNvbnZlcnRTdHJpbmdWYWx1ZT86ICh0ZXh0OiBzdHJpbmcpID0+IFQ7XG4gIC8qKlxuICAgKiBVc2VkIGZvciBoYXNoaW5nIGRpc3BsYXkgdmFsdWVzIGFuZCBvbWl0dGluZyByZXBlYXQgdmFsdWVzLlxuICAgKlxuICAgKiBJZiBoYXNoRm9yVmFsdWUgaXMgbm90IHByb3ZpZGVkLCB0aGUgdmFsdWUncyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgaXMuXG4gICAqL1xuICBoYXNoRm9yVmFsdWU/OiBTZWFyY2hhYmxlVmFsdWVGaWVsZEhhc2hGbjxUPjtcbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgc2VhcmNoLlxuICAgKi9cbiAgc2VhcmNoOiBTZWFyY2hhYmxlVmFsdWVGaWVsZFN0cmluZ1NlYXJjaEZuPFQ+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgc2VhcmNoZXMgb24gZW1wdHkgdGV4dC4gSXMgZmFsc2UgYnkgZGVmYXVsdC5cbiAgICovXG4gIHNlYXJjaE9uRW1wdHlUZXh0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmF1bHQgaW5qZWN0ZWQgY29uZmlnIHRvIHVzZSBmb3IgZGlzcGxheSB2YWx1ZXMuXG4gICAqL1xuICBkaXNwbGF5PzogUGFydGlhbDxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc+O1xuICAvKipcbiAgICogVXNlZCBmb3IgYnVpbGRpbmcgYSBkaXNwbGF5IHZhbHVlIGdpdmVuIHRoZSBpbnB1dC5cbiAgICovXG4gIGRpc3BsYXlGb3JWYWx1ZTogU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5Rm48VD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgdGhlIGFuY2hvciBmaWVsZCBvbiB2YWx1ZSBlbGVtZW50cy5cbiAgICpcbiAgICogVGhpcyBoYXMgbm8gZGVmYXVsdCBlZmZlY3QgaWYgYSBjb21wb25lbnQgY2xhc3MgaXMgcHJvdmlkZWQuXG4gICAqL1xuICB1c2VBbmNob3I/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlZCBmb3IgcmV0cmlldmluZyBhbiBhbmNob3IgdmFsdWUgZm9yIHZhbHVlcyB0aGF0IGhhdmUgbm8gYW5jaG9yIHZhbHVlIHNldC5cbiAgICpcbiAgICogT25seSB1c2VkIHdoZW4gdXNlQW5jaG9yIGlzIHRydWUuXG4gICAqL1xuICBhbmNob3JGb3JWYWx1ZT86IFNlYXJjaGFibGVWYWx1ZUZpZWxkQW5jaG9yRm48VD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IFwiQ2xlYXJcIiBpbiB0aGUgYXV0Y29tcGxldGUgbGlzdC5cbiAgICovXG4gIHNob3dDbGVhclZhbHVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgc2VhcmNoYWJsZUZpZWxkOiBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPjtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBzZWFyY2hhYmxlIGZpZWxkIHRoYXQgcHJvdmlkZXMgYSBmZWF0dXJlIGZvciBzZWFyY2hpbmcgZm9yIHZhbHVlcywgYW5kIGZvciBkaXNwbGF5aW5nIHZhbHVlcyB1c2luZyBPYnNlcnZhYmxlcy5cbiAqXG4gKiBEaXNwbGF5IHZhbHVlcyBhcmUgY2FjaGVkIGZvciBwZXJmb3JtYW5jZS5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhTZWFyY2hhYmxlVmFsdWVGaWVsZERpcmVjdGl2ZTxULCBDIGV4dGVuZHMgU2VhcmNoYWJsZVZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4+XG4gIGV4dGVuZHMgRmllbGRUeXBlPEMgJiBGaWVsZFR5cGVDb25maWc+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZXQvZ2V0IHZhbHVlcyBhcyBhbiBhcnJheS5cbiAgICovXG4gIG11bHRpU2VsZWN0ID0gdHJ1ZTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgb3ZlcnJpZGUgc2V0IGJ5IHRoZSBwYXJlbnQgY2xhc3MgZm9yIHBpY2tpbmcgYSBkZWZhdWx0IGRpc3BsYXkgZm9yIHRoaXMgZGlyZWN0aXZlLlxuICAgKi9cbiAgZGVmYXVsdERpc3BsYXk/OiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc7XG5cbiAgQFZpZXdDaGlsZCgndGV4dElucHV0JylcbiAgdGV4dElucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICByZWFkb25seSBpbnB1dEN0cmwgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmb3JtQ29udHJvbCQgPSB0aGlzLl9mb3JtQ29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXlIYXNoTWFwID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8YW55LCBDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+PihuZXcgTWFwKCkpO1xuXG4gIHJlYWRvbmx5IGlucHV0VmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5pbnB1dEN0cmwudmFsdWUpKTtcbiAgcmVhZG9ubHkgaW5wdXRWYWx1ZVN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuaW5wdXRWYWx1ZSQucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0c1N0YXRlJCA9IHRoaXMuaW5wdXRWYWx1ZVN0cmluZyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHRleHQpID0+ICgodGV4dCB8fCB0aGlzLnNlYXJjaE9uRW1wdHlUZXh0KSA/IHRoaXMuc2VhcmNoKHRleHQgPz8gJycpIDogb2YoW10pKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmxvYWREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXMoeCkpLFxuICAgICAgLy8gUmV0dXJuIGJlZ2luIGxvYWRpbmcgdG8gc2V0dXAgdGhlIGxvYWRpbmcgc3RhdGUuXG4gICAgICBzdGFydFdpdGgoYmVnaW5Mb2FkaW5nKCkpXG4gICAgKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzaW5nbGVWYWx1ZVN5bmNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoQ29udGV4dCA9IG5ldyBMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UoeyBvYnM6IHRoaXMuc2VhcmNoUmVzdWx0c1N0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IHNlYXJjaFJlc3VsdHMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPiA9IHRoaXMuc2VhcmNoUmVzdWx0c1N0YXRlJC5waXBlKFxuICAgIG1hcCh4ID0+IHg/LnZhbHVlID8/IFtdKSxcbiAgKTtcblxuICByZWFkb25seSBfZm9ybUNvbnRyb2xWYWx1ZTogT2JzZXJ2YWJsZTxUIHwgVFtdPiA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICByZWFkb25seSB2YWx1ZXMkOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLl9mb3JtQ29udHJvbFZhbHVlLnBpcGUoXG4gICAgbWFwKGNvbnZlcnRNYXliZVRvQXJyYXkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheVZhbHVlc1N0YXRlJDogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8Q29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+W10+PiA9IHRoaXMudmFsdWVzJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCh2YWx1ZXM6IFRbXSkgPT4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvclZhbHVlcyh2YWx1ZXMpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZXMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPiA9IHRoaXMuZGlzcGxheVZhbHVlc1N0YXRlJC5waXBlKFxuICAgIG1hcCh4ID0+IHg/LnZhbHVlID8/IFtdKVxuICApO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQubmFtZSA/PyAoY2FtZWxDYXNlKHRoaXMubGFiZWwgPz8gdGhpcy5rZXkgYXMgc3RyaW5nKSk7XG4gIH1cblxuICBnZXQgbGFiZWwoKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zPy5sYWJlbDtcbiAgfVxuXG4gIGdldCByZWFkb25seSgpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQudGVtcGxhdGVPcHRpb25zPy5yZWFkb25seTtcbiAgfVxuXG4gIGdldCBzZWFyY2hhYmxlRmllbGQoKTogU2VhcmNoYWJsZVZhbHVlRmllbGRzRmllbGRDb25maWc8VD4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnNlYXJjaGFibGVGaWVsZDtcbiAgfVxuXG4gIGdldCBzZWFyY2hPbkVtcHR5VGV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuc2VhcmNoT25FbXB0eVRleHQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgYXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucz8uYXR0cmlidXRlcz8uWydhdXRvY29tcGxldGUnXSBhcyBhbnkpID8/IHRoaXMua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBoYXNoRm9yVmFsdWUoKTogU2VhcmNoYWJsZVZhbHVlRmllbGRIYXNoRm48VD4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5oYXNoRm9yVmFsdWUgPz8gKCh4KSA9PiB4IGFzIGFueSk7XG4gIH1cblxuICBnZXQgZGlzcGxheUZvclZhbHVlKCk6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheUZuPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuZGlzcGxheUZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IHVzZUFuY2hvcigpOiBNYXliZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLnVzZUFuY2hvcjtcbiAgfVxuXG4gIGdldCBhbmNob3JGb3JWYWx1ZSgpOiBNYXliZTxTZWFyY2hhYmxlVmFsdWVGaWVsZEFuY2hvckZuPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLmFuY2hvckZvclZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXkoKTogTWF5YmU8UGFydGlhbDxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc+PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoYWJsZUZpZWxkLmRpc3BsYXk7XG4gIH1cblxuICBnZXQgc2VhcmNoKCk6IFNlYXJjaGFibGVWYWx1ZUZpZWxkU3RyaW5nU2VhcmNoRm48VD4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5zZWFyY2g7XG4gIH1cblxuICBnZXQgdmFsdWVzKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlT25Gb3JtQ29udHJvbCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSA/PyBbXTtcbiAgfVxuXG4gIGdldCBhbGxvd1N0cmluZ1ZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuYWxsb3dTdHJpbmdWYWx1ZXMgPz8gQm9vbGVhbih0aGlzLmNvbnZlcnRTdHJpbmdWYWx1ZSk7XG4gIH1cblxuICBnZXQgY29udmVydFN0cmluZ1ZhbHVlKCk6IE1heWJlPCh0ZXh0OiBzdHJpbmcpID0+IFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hhYmxlRmllbGQuY29udmVydFN0cmluZ1ZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3dDbGVhclZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5zaG93Q2xlYXJWYWx1ZSA/PyB0cnVlO1xuICB9XG5cbiAgbG9hZERpc3BsYXlWYWx1ZXNGb3JWYWx1ZXModmFsdWVzOiBUW10pOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD5bXT4+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkRGlzcGxheVZhbHVlc0ZvckZpZWxkVmFsdWVzKHZhbHVlcy5tYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSB9KSkpO1xuICB9XG5cbiAgbG9hZERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXM6IFNlYXJjaGFibGVWYWx1ZUZpZWxkVmFsdWU8VD5bXSk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPj4ge1xuICAgIHJldHVybiB0aGlzLmdldERpc3BsYXlWYWx1ZXNGb3JGaWVsZFZhbHVlcyh2YWx1ZXMpLnBpcGUoXG4gICAgICBtYXAoKGRpc3BsYXlWYWx1ZXM6IENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdKSA9PiBzdWNjZXNzUmVzdWx0KGRpc3BsYXlWYWx1ZXMpKSxcbiAgICAgIHN0YXJ0V2l0aChiZWdpbkxvYWRpbmcoKSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBnZXREaXNwbGF5VmFsdWVzRm9yRmllbGRWYWx1ZXModmFsdWVzOiBTZWFyY2hhYmxlVmFsdWVGaWVsZFZhbHVlPFQ+W10pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlIYXNoTWFwLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoZGlzcGxheU1hcCkgPT4ge1xuICAgICAgICBjb25zdCBtYXBwaW5nUmVzdWx0ID0gdmFsdWVzXG4gICAgICAgICAgLm1hcCh4ID0+IFt4LCB0aGlzLmhhc2hGb3JWYWx1ZSh4LnZhbHVlKV0pXG4gICAgICAgICAgLm1hcCgoW3gsIGhhc2hdLCBpKSA9PiBbaSwgaGFzaCwgeCwgZGlzcGxheU1hcC5nZXQoaGFzaCldIGFzIFtudW1iZXIsIGFueSwgU2VhcmNoYWJsZVZhbHVlRmllbGRWYWx1ZTxUPiwgQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+XSk7XG5cbiAgICAgICAgY29uc3QgaGFzRGlzcGxheSA9IG1hcHBpbmdSZXN1bHQuZmlsdGVyKHggPT4gQm9vbGVhbih4WzNdKSk7XG4gICAgICAgIGNvbnN0IG5lZWRzRGlzcGxheSA9IG1hcHBpbmdSZXN1bHQuZmlsdGVyKHggPT4gIXhbM10pO1xuICAgICAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdPjtcblxuICAgICAgICBpZiAobmVlZHNEaXNwbGF5Lmxlbmd0aCA+IDApIHtcblxuICAgICAgICAgIC8vIEdvIGdldCB0aGUgZGlzcGxheSB2YWx1ZS5cbiAgICAgICAgICBjb25zdCBkaXNwbGF5VmFsdWVzT2JzID0gdGhpcy5kaXNwbGF5Rm9yVmFsdWUobmVlZHNEaXNwbGF5Lm1hcCh4ID0+IHhbMl0pKTtcbiAgICAgICAgICBjb25zdCBkZWZhdWx0RGlzcGxheSA9IG1lcmdlRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlncyhbdGhpcy5kZWZhdWx0RGlzcGxheSwgdGhpcy5kaXNwbGF5XSk7XG4gICAgICAgICAgY29uc3QgYW5jaG9yRm9yVmFsdWUgPSB0aGlzLnVzZUFuY2hvciAmJiB0aGlzLmFuY2hvckZvclZhbHVlO1xuXG4gICAgICAgICAgb2JzID0gZGlzcGxheVZhbHVlc09icy5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIG1hcCgoZGlzcGxheVJlc3VsdHMpID0+IHtcblxuICAgICAgICAgICAgICAvLyBBc3NpZ24gdGhlIGRlZmF1bHQgY29tcG9uZW50IGNsYXNzZXMgdG8gY29tcGxldGUgY29uZmlndXJhdGlvbi5cbiAgICAgICAgICAgICAgZGlzcGxheVJlc3VsdHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXguZGlzcGxheSkge1xuICAgICAgICAgICAgICAgICAgeC5kaXNwbGF5ID0gZGVmYXVsdERpc3BsYXk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHguZGlzcGxheSA9IG1lcmdlRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlncyhbZGVmYXVsdERpc3BsYXksIHguZGlzcGxheV0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgheC5hbmNob3IgJiYgYW5jaG9yRm9yVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIHguYW5jaG9yID0gYW5jaG9yRm9yVmFsdWUoeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBtYXAgdG8gcmUtam9pbiB2YWx1ZXMgbGF0ZXIuXG4gICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlSZXN1bHRzTWFwcGluZzogW0NvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiwgYW55XVtdID0gKGRpc3BsYXlSZXN1bHRzIGFzIENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPltdKS5tYXAoeCA9PiBbeCwgdGhpcy5oYXNoRm9yVmFsdWUoeC52YWx1ZSldKTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleEhhc2hNYXAgPSBuZXcgTWFwKGRpc3BsYXlSZXN1bHRzTWFwcGluZy5tYXAoKFt4LCBoYXNoXSkgPT4gW2hhc2gsIHhdKSk7XG5cbiAgICAgICAgICAgICAgLy8gVXBkYXRlIGRpc3BsYXlNYXAuIE5vIG5lZWQgdG8gcHVzaCBhbiB1cGRhdGUgbm90aWZpY2F0aW9uLlxuICAgICAgICAgICAgICBkaXNwbGF5UmVzdWx0c01hcHBpbmcuZm9yRWFjaCgoW3gsIGhhc2hdKSA9PiBkaXNwbGF5TWFwLnNldChoYXNoLCB4KSk7XG5cbiAgICAgICAgICAgICAgLy8gWmlwIHZhbHVlcyBiYWNrIHRvZ2V0aGVyLlxuICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5VmFsdWVzID0gbWFwcGluZ1Jlc3VsdC5tYXAoeCA9PiB4WzNdID8/IHZhbHVlSW5kZXhIYXNoTWFwLmdldCh4WzFdKSk7XG5cbiAgICAgICAgICAgICAgLy8gUmV0dXJuIGRpc3BsYXkgdmFsdWVzLlxuICAgICAgICAgICAgICByZXR1cm4gbmV3RGlzcGxheVZhbHVlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgIC8vIElmIGFsbCBkaXNwbGF5IHZhbHVlcyBhcmUgaGFzaGVkIHJldHVybiB0aGF0LlxuICAgICAgICAgIG9icyA9IG9mKGhhc0Rpc3BsYXkubWFwKHggPT4geFszXSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9icztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5uZXh0KHRoaXMuZm9ybUNvbnRyb2wpO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoYWJsZUZpZWxkLnRleHRJbnB1dFZhbGlkYXRvcikge1xuICAgICAgdGhpcy5pbnB1dEN0cmwuc2V0VmFsaWRhdG9ycyh0aGlzLnNlYXJjaGFibGVGaWVsZC50ZXh0SW5wdXRWYWxpZGF0b3IpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kZWZhdWx0RGlzcGxheT8uY29tcG9uZW50Q2xhc3MpIHtcbiAgICAgIHRoaXMuZGVmYXVsdERpc3BsYXkgPSB7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdERpc3BsYXksXG4gICAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhEZWZhdWx0U2VhcmNoYWJsZUZpZWxkRGlzcGxheUNvbXBvbmVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2luZ2xlVmFsdWVTeW5jU3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzcGxheVZhbHVlcyQuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGlmICh4WzBdKSB7XG4gICAgICAgICAgdGhpcy5fc3luY1NpbmdsZVZhbHVlKHhbMF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Rpc3BsYXlIYXNoTWFwLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgICB0aGlzLnNlYXJjaENvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc3luYyB0aGUgaW5wdXQgY29udHJvbCB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICpcbiAgICogT25seSB1c2VkIHdoZW4gbXVsdGlTZWxlY3QgaXMgZmFsc2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgX3N5bmNTaW5nbGVWYWx1ZSh2YWx1ZTogU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Q3RybC5zZXRWYWx1ZSh2YWx1ZS5sYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2FkZFdpdGhUZXh0VmFsdWUodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaGFibGVGaWVsZC5hbGxvd1N0cmluZ1ZhbHVlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0ZXh0KSB7XG4gICAgICB0ZXh0ID0gKHRleHQgfHwgJycpLnRyaW0oKTtcbiAgICAgIHRoaXMuaW5wdXRDdHJsLnNldFZhbHVlKHRleHQudHJpbSgpKTtcbiAgICB9XG5cbiAgICAvLyBjb25zb2xlLmxvZygnQWRkOiAnLCB0ZXh0LCB0aGlzLmlucHV0Q3RybC52YWxpZCk7XG5cbiAgICBpZiAoIXRoaXMuaW5wdXRDdHJsLnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuY29udmVydFN0cmluZ1ZhbHVlKSA/IHRoaXMuY29udmVydFN0cmluZ1ZhbHVlKHRleHQpIDogdGV4dCBhcyBhbnkgYXMgVDtcbiAgICAgIHRoaXMuYWRkVmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFdpdGhEaXNwbGF5VmFsdWUoZGlzcGxheVZhbHVlOiBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPik6IHZvaWQge1xuICAgIHRoaXMuYWRkVmFsdWUoZGlzcGxheVZhbHVlLnZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZVdpdGhEaXNwbGF5VmFsdWUoZGlzcGxheVZhbHVlOiBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPik6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlVmFsdWUoZGlzcGxheVZhbHVlLnZhbHVlKTtcbiAgfVxuXG4gIF90cnlBZGRDdXJyZW50SW5wdXRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICBsZXQgYWRkZWRWYWx1ZSA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dTdHJpbmdWYWx1ZXMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dEN0cmwudmFsdWU7XG5cbiAgICAgIGlmICgodmFsdWUgfHwgJycpLnRyaW0oKSkge1xuICAgICAgICB0aGlzLl9hZGRXaXRoVGV4dFZhbHVlKHZhbHVlKTtcbiAgICAgICAgYWRkZWRWYWx1ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZGVkVmFsdWU7XG4gIH1cblxuICBhZGRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmlucHV0Q3RybC5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlcyhbLi4udGhpcy52YWx1ZXMsIHZhbHVlXSk7XG4gIH1cblxuICByZW1vdmVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGxldCB2YWx1ZXM7XG5cbiAgICBpZiAodGhpcy5oYXNoRm9yVmFsdWUpIHtcbiAgICAgIGNvbnN0IGhhc2hUb0ZpbHRlciA9IHRoaXMuaGFzaEZvclZhbHVlKHZhbHVlKTtcbiAgICAgIHZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcih4ID0+IHRoaXMuaGFzaEZvclZhbHVlKHgpICE9PSBoYXNoVG9GaWx0ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZXMgPSB0aGlzLnZhbHVlcy5maWx0ZXIoeCA9PiB4ICE9PSB2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZXModmFsdWVzKTtcbiAgfVxuXG4gIGNsZWFyVmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWVzKFtdKTtcbiAgfVxuXG4gIHNldFZhbHVlcyh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIC8vIFVzZSB0byBmaWx0ZXIgbm9uLXVuaXF1ZSB2YWx1ZXMuXG4gICAgaWYgKHRoaXMuaGFzaEZvclZhbHVlKSB7XG4gICAgICB2YWx1ZXMgPSBmaW5kVW5pcXVlKHZhbHVlcywgdGhpcy5oYXNoRm9yVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuX3NldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZXMpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIF9nZXRWYWx1ZU9uRm9ybUNvbnRyb2wodmFsdWVPbkZvcm1Db250cm9sOiBhbnkpOiBUW10ge1xuICAgIGNvbnN0IHZhbHVlID0gKHZhbHVlT25Gb3JtQ29udHJvbCAhPSBudWxsKSA/IFtdLmNvbmNhdCh2YWx1ZU9uRm9ybUNvbnRyb2wpIDogW107ICAvLyBBbHdheXMgcmV0dXJuIGFuIGFycmF5LlxuICAgIHJldHVybiB2YWx1ZSBhcyBUW107XG4gIH1cblxuICBwcm90ZWN0ZWQgX3NldFZhbHVlT25Gb3JtQ29udHJvbCh2YWx1ZXM6IFRbXSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMubXVsdGlTZWxlY3QpID8gdmFsdWVzIDogbGFzdFZhbHVlKHZhbHVlcyk7ICAvLyBwaWNrIGxhc3QgdmFsdWUsIGFzIHRoZSBsYXN0IHZhbHVlIGFkZGVkIGlzIHRoZSBuZXdlc3QgdmFsdWUuXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbn1cbiJdfQ==