imm-element-ui 2.0.0 → 2.0.2

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 (106) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/crumb-action/crumb-action.component.mjs +3 -3
  3. package/esm2022/lib/form/form/form.component.mjs +3 -3
  4. package/esm2022/lib/form/form-field/context-menu.mjs +35 -35
  5. package/esm2022/lib/form/form-field/field-control.mjs +1 -1
  6. package/esm2022/lib/form/form-field/field-utils.mjs +1 -1
  7. package/esm2022/lib/form/form-field/form-field.mjs +135 -135
  8. package/esm2022/lib/form/form-field/form-type.mjs +85 -85
  9. package/esm2022/lib/form/form-field/index.mjs +1 -1
  10. package/esm2022/lib/form/form-field/label.directive.mjs +1 -1
  11. package/esm2022/lib/form/form-type/autocomplete.type.mjs +151 -151
  12. package/esm2022/lib/form/form-type/codemirror.type.mjs +4 -1
  13. package/esm2022/lib/form/form-type/datepicker.type.mjs +183 -183
  14. package/esm2022/lib/form/form-type/image.type.mjs +219 -219
  15. package/esm2022/lib/form/form-type/index.mjs +1 -1
  16. package/esm2022/lib/form/form-type/inputnumber.type.mjs +91 -91
  17. package/esm2022/lib/form/form-type/inputtext.type.mjs +19 -19
  18. package/esm2022/lib/form/form-type/multiselect.type.mjs +165 -163
  19. package/esm2022/lib/form/form-type/radio.type.mjs +77 -77
  20. package/esm2022/lib/form/form-type/rowselector.type.mjs +25 -25
  21. package/esm2022/lib/form/form-type/select.type.mjs +135 -133
  22. package/esm2022/lib/form/form-type/textarea.type.mjs +25 -25
  23. package/esm2022/lib/form/form-type/treeselect.type.mjs +115 -115
  24. package/esm2022/lib/form/form-type/upload.type.mjs +131 -131
  25. package/esm2022/lib/grid/actions/actions.component.mjs +1 -1
  26. package/esm2022/lib/grid/cell-edit/cell-edit-autoComplete.component.mjs +25 -25
  27. package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +139 -139
  28. package/esm2022/lib/grid/cell-edit/cell-edit-inputDate.component.mjs +27 -27
  29. package/esm2022/lib/grid/cell-edit/cell-edit-inputNumber.component.mjs +75 -75
  30. package/esm2022/lib/grid/cell-edit/cell-edit-inputText.compoent.mjs +1 -1
  31. package/esm2022/lib/grid/cell-edit/cell-edit-select.component.mjs +125 -121
  32. package/esm2022/lib/grid/cell-edit/index.mjs +1 -1
  33. package/esm2022/lib/grid/cell-render/async-renderer.mjs +1 -1
  34. package/esm2022/lib/grid/cell-render/chip-render.mjs +21 -21
  35. package/esm2022/lib/grid/cell-render/img-renderer.mjs +25 -25
  36. package/esm2022/lib/grid/cell-render/link-render.mjs +13 -13
  37. package/esm2022/lib/grid/cell-render/row-span.mjs +5 -5
  38. package/esm2022/lib/grid/grid/grid.component.mjs +3 -3
  39. package/esm2022/lib/grid/grid-utils.mjs +1 -1
  40. package/esm2022/lib/grid/mock-data.mjs +1 -1
  41. package/esm2022/lib/grid/pager/pager.component.mjs +3 -3
  42. package/esm2022/lib/head/head.component.mjs +3 -3
  43. package/esm2022/lib/href-btn-list/href-btn-list.component.mjs +1 -1
  44. package/esm2022/lib/import/import.component.mjs +3 -3
  45. package/esm2022/lib/loading/loading.component.mjs +3 -3
  46. package/esm2022/lib/log/log.component.mjs +3 -3
  47. package/esm2022/lib/page-form/page-form.component.mjs +3 -3
  48. package/esm2022/lib/page-form/page-form.interface.mjs +1 -1
  49. package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +3 -3
  50. package/esm2022/lib/row-selector/row-selector.component.mjs +3 -3
  51. package/esm2022/lib/search/mock-data.mjs +1 -1
  52. package/esm2022/lib/search/pop-date/pop-date.component.mjs +3 -3
  53. package/esm2022/lib/search/pop-list/pop-list.component.mjs +3 -3
  54. package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +3 -3
  55. package/esm2022/lib/search/pop-select/pop-select.component.mjs +3 -3
  56. package/esm2022/lib/search/pop-self/pop-self.component.mjs +3 -3
  57. package/esm2022/lib/search/pop-sort/pop-sort.component.mjs +3 -3
  58. package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +3 -3
  59. package/esm2022/lib/search/search/search.component.mjs +3 -3
  60. package/esm2022/lib/search/search-tip/search-tip.component.mjs +3 -3
  61. package/esm2022/lib/search/search-utils.mjs +1 -1
  62. package/esm2022/lib/search/text-panel/text-panel.component.mjs +3 -3
  63. package/esm2022/lib/service/i18n.service.mjs +1 -1
  64. package/esm2022/lib/service/loading.service.mjs +1 -1
  65. package/esm2022/lib/service/themeConfig.service.mjs +1 -1
  66. package/esm2022/lib/share/utils.mjs +11 -1
  67. package/esm2022/lib/steps/steps.component.mjs +1 -1
  68. package/esm2022/lib/theme-config/theme-config-panel.compoent.mjs +39 -39
  69. package/esm2022/lib/theme-config/theme-config.compoent.mjs +29 -29
  70. package/esm2022/public-api.mjs +1 -1
  71. package/fesm2022/imm-element-ui.mjs +3445 -3427
  72. package/fesm2022/imm-element-ui.mjs.map +1 -1
  73. package/lib/crumb-action/crumb-action.component.d.ts +1 -1
  74. package/lib/form/form-type/codemirror.type.d.ts +1 -1
  75. package/lib/form/form-type/multiselect.type.d.ts +1 -0
  76. package/lib/form/form-type/select.type.d.ts +1 -0
  77. package/lib/grid/cell-edit/cell-edit-select.component.d.ts +1 -0
  78. package/lib/grid/grid/grid.component.d.ts +1 -1
  79. package/lib/grid/grid-utils.d.ts +529 -2
  80. package/lib/service/themeConfig.service.d.ts +1 -1
  81. package/lib/share/utils.d.ts +2 -0
  82. package/package.json +1 -1
  83. package/src/lib/crumb-action/crumb-action.component.scss +60 -60
  84. package/src/lib/grid/grid/grid.component.scss +45 -45
  85. package/src/lib/grid/pager/pager.component.scss +3 -3
  86. package/src/lib/head/head.component.scss +3 -3
  87. package/src/lib/href-btn-list/href-btn-list.component.scss +51 -51
  88. package/src/lib/import/import.component.scss +10 -10
  89. package/src/lib/loading/loading.component.scss +31 -31
  90. package/src/lib/log/log.component.scss +26 -26
  91. package/src/lib/page-form/page-form.component.scss +31 -31
  92. package/src/lib/page-grid-list/page-grid-list.component.scss +12 -12
  93. package/src/lib/row-selector/row-selector.component.scss +1 -1
  94. package/src/lib/search/dynamic-search/dynamic-search.component.scss +70 -70
  95. package/src/lib/search/pop-date/pop-date.component.scss +67 -67
  96. package/src/lib/search/pop-list/pop-list.component.scss +23 -23
  97. package/src/lib/search/pop-panel/pop-panel.component.scss +32 -32
  98. package/src/lib/search/pop-select/pop-select.component.scss +39 -39
  99. package/src/lib/search/pop-self/pop-self.component.scss +80 -80
  100. package/src/lib/search/pop-sort/pop-sort.component.scss +49 -49
  101. package/src/lib/search/pop-tree/pop-tree.component.scss +37 -37
  102. package/src/lib/search/search/search.component.scss +70 -70
  103. package/src/lib/search/search-tip/search-tip.component.scss +50 -50
  104. package/src/lib/search/text-panel/text-panel.component.scss +24 -24
  105. package/src/lib/steps/steps.component.scss +97 -97
  106. package/src/lib/styles/styles.scss +232 -232
@@ -1,6 +1,7 @@
1
1
  import { Component, input, effect, ViewChild, ElementRef } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { MultiSelect } from 'primeng/multiselect';
4
+ import { getFilterMatchMode as _getFilterMatchMode } from '../../share/utils';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../service/action.service";
6
7
  import * as i2 from "@angular/forms";
@@ -10,6 +11,7 @@ export class MultiSelectComponent {
10
11
  this.renderer = renderer;
11
12
  this.field = input();
12
13
  this.props = {};
14
+ this.getFilterMatchMode = _getFilterMatchMode;
13
15
  effect(() => {
14
16
  if (this.field()) {
15
17
  this.props = this.field().multiSelectProps;
@@ -51,172 +53,172 @@ export class MultiSelectComponent {
51
53
  });
52
54
  }
53
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i1.ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MultiSelectComponent, isStandalone: true, selector: "form-multiselect", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "multiselect", first: true, predicate: MultiSelect, descendants: true }, { propertyName: "multiselectRef", first: true, predicate: MultiSelect, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-multiselect
55
- [id]="field()?.uuid"
56
- [inputId]="field()?.uuid"
57
- [optionLabel]="props.optionLabel"
58
- [optionValue]="props.optionValue"
59
- [ariaLabel]="props.ariaLabel"
60
- [style]="props.style"
61
- [styleClass]="props.styleClass"
62
- [panelStyle]="props.panelStyle"
63
- [panelStyleClass]="props.panelStyleClass"
64
- [fluid]="props.fluid ?? true"
65
- [readonly]="props.readonly"
66
- [appendTo]="props.appendTo ?? 'body'"
67
- [options]="props.options"
68
- [dataKey]="props.dataKey"
69
- [group]="props.group"
70
- [filter]="props.filter"
71
- [filterPlaceHolder]="props.filterPlaceHolder"
72
- [filterLocale]="props.filterLocale"
73
- [overlayVisible]="props.overlayVisible"
74
- [variant]="props.variant"
75
- [name]="props.name"
76
- [tabindex]="props.tabindex"
77
- [ariaLabelledBy]="props.ariaLabelledBy"
78
- [displaySelectedLabel]="props.displaySelectedLabel ?? true"
79
- [maxSelectedLabels]="props.maxSelectedLabels"
80
- [selectionLimit]="props.selectionLimit"
81
- [selectedItemsLabel]="props.selectedItemsLabel"
82
- [showToggleAll]="props.showToggleAll ?? true"
83
- [emptyFilterMessage]="props.emptyFilterMessage"
84
- [emptyMessage]="props.emptyMessage"
85
- [resetFilterOnHide]="props.resetFilterOnHide"
86
- [dropdownIcon]="props.dropdownIcon"
87
- [chipIcon]="props.chipIcon"
88
- [optionDisabled]="props.optionDisabled"
89
- [optionGroupLabel]="props.optionGroupLabel"
90
- [optionGroupChildren]="props.optionGroupChildren ?? 'items'"
91
- [showHeader]="props.showHeader ?? true"
92
- [filterBy]="props.filterBy"
93
- [scrollHeight]="props.scrollHeight ?? '200px'"
94
- [lazy]="props.lazy"
95
- [virtualScroll]="props.virtualScroll"
96
- [loading]="props.loading"
97
- [virtualScrollItemSize]="props.virtualScrollItemSize"
98
- [loadingIcon]="props.loadingIcon"
99
- [virtualScrollOptions]="props.virtualScrollOptions"
100
- [overlayOptions]="props.overlayOptions"
101
- [ariaFilterLabel]="props.ariaFilterLabel"
102
- [filterMatchMode]="props.filterMatchMode"
103
- [tooltip]="props.tooltip"
104
- [tooltipPosition]="props.tooltipPosition ?? 'right'"
105
- [tooltipPositionStyle]="props.tooltipPositionStyle ?? 'absolute'"
106
- [tooltipStyleClass]="props.tooltipStyleClass"
107
- [autofocusFilter]="props.autofocusFilter"
108
- [display]="props.display ?? 'comma'"
109
- [autocomplete]="props.autocomplete ?? 'off'"
110
- [size]="props.size"
111
- [showClear]="props.showClear"
112
- [autofocus]="props.autofocus"
113
- [placeholder]="props.placeholder"
114
- [filterValue]="props.filterValue"
115
- [selectAll]="props.selectAll ?? null"
116
- [focusOnHover]="props.focusOnHover ?? true"
117
- [filterFields]="props.filterFields"
118
- [selectOnFocus]="props.selectOnFocus"
119
- [autoOptionFocus]="props.autoOptionFocus"
120
- [class]="props.class"
121
- [placeholder]="props.placeholder"
122
- [maxlength]="props.maxlength"
123
- (onChange)="props.onChange?.(field()!, $event)"
124
- (onFilter)="props.onFilter?.(field()!, $event)"
125
- (onFocus)="props.onFocus?.(field()!, $event)"
126
- (onBlur)="props.onBlur?.(field()!, $event)"
127
- (onClick)="props.onClick?.(field()!, $event)"
128
- (onClear)="props.onClear?.(field()!, $event)"
129
- (onPanelShow)="props.onPanelShow?.(field()!, $event)"
130
- (onPanelHide)="props.onPanelHide?.(field()!, $event)"
131
- (onLazyLoad)="props.onLazyLoad?.(field()!, $event)"
132
- (onRemove)="props.onRemove?.(field()!, $event)"
133
- (onSelectAllChange)="props.onSelectAllChange?.(field()!, $event)"
134
- [class]="props.class"
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MultiSelectComponent, isStandalone: true, selector: "form-multiselect", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "multiselect", first: true, predicate: MultiSelect, descendants: true }, { propertyName: "multiselectRef", first: true, predicate: MultiSelect, descendants: true, read: ElementRef }], ngImport: i0, template: `<p-multiselect
57
+ [id]="field()?.uuid"
58
+ [inputId]="field()?.uuid"
59
+ [optionLabel]="props.optionLabel"
60
+ [optionValue]="props.optionValue"
61
+ [ariaLabel]="props.ariaLabel"
62
+ [style]="props.style"
63
+ [styleClass]="props.styleClass"
64
+ [panelStyle]="props.panelStyle"
65
+ [panelStyleClass]="props.panelStyleClass"
66
+ [fluid]="props.fluid ?? true"
67
+ [readonly]="props.readonly"
68
+ [appendTo]="props.appendTo ?? 'body'"
69
+ [options]="props.options"
70
+ [dataKey]="props.dataKey"
71
+ [group]="props.group"
72
+ [filter]="props.filter"
73
+ [filterPlaceHolder]="props.filterPlaceHolder"
74
+ [filterLocale]="props.filterLocale"
75
+ [overlayVisible]="props.overlayVisible"
76
+ [variant]="props.variant"
77
+ [name]="props.name"
78
+ [tabindex]="props.tabindex"
79
+ [ariaLabelledBy]="props.ariaLabelledBy"
80
+ [displaySelectedLabel]="props.displaySelectedLabel ?? true"
81
+ [maxSelectedLabels]="props.maxSelectedLabels"
82
+ [selectionLimit]="props.selectionLimit"
83
+ [selectedItemsLabel]="props.selectedItemsLabel"
84
+ [showToggleAll]="props.showToggleAll ?? true"
85
+ [emptyFilterMessage]="props.emptyFilterMessage"
86
+ [emptyMessage]="props.emptyMessage"
87
+ [resetFilterOnHide]="props.resetFilterOnHide"
88
+ [dropdownIcon]="props.dropdownIcon"
89
+ [chipIcon]="props.chipIcon"
90
+ [optionDisabled]="props.optionDisabled"
91
+ [optionGroupLabel]="props.optionGroupLabel"
92
+ [optionGroupChildren]="props.optionGroupChildren ?? 'items'"
93
+ [showHeader]="props.showHeader ?? true"
94
+ [filterBy]="props.filterBy"
95
+ [scrollHeight]="props.scrollHeight ?? '200px'"
96
+ [lazy]="props.lazy"
97
+ [virtualScroll]="props.virtualScroll"
98
+ [loading]="props.loading"
99
+ [virtualScrollItemSize]="props.virtualScrollItemSize"
100
+ [loadingIcon]="props.loadingIcon"
101
+ [virtualScrollOptions]="props.virtualScrollOptions"
102
+ [overlayOptions]="props.overlayOptions"
103
+ [ariaFilterLabel]="props.ariaFilterLabel"
104
+ [filterMatchMode]="getFilterMatchMode(props.filterMatchMode)"
105
+ [tooltip]="props.tooltip"
106
+ [tooltipPosition]="props.tooltipPosition ?? 'right'"
107
+ [tooltipPositionStyle]="props.tooltipPositionStyle ?? 'absolute'"
108
+ [tooltipStyleClass]="props.tooltipStyleClass"
109
+ [autofocusFilter]="props.autofocusFilter"
110
+ [display]="props.display ?? 'comma'"
111
+ [autocomplete]="props.autocomplete ?? 'off'"
112
+ [size]="props.size"
113
+ [showClear]="props.showClear"
114
+ [autofocus]="props.autofocus"
115
+ [placeholder]="props.placeholder"
116
+ [filterValue]="props.filterValue"
117
+ [selectAll]="props.selectAll ?? null"
118
+ [focusOnHover]="props.focusOnHover ?? true"
119
+ [filterFields]="props.filterFields"
120
+ [selectOnFocus]="props.selectOnFocus"
121
+ [autoOptionFocus]="props.autoOptionFocus"
122
+ [class]="props.class"
123
+ [placeholder]="props.placeholder"
124
+ [maxlength]="props.maxlength"
125
+ (onChange)="props.onChange?.(field()!, $event)"
126
+ (onFilter)="props.onFilter?.(field()!, $event)"
127
+ (onFocus)="props.onFocus?.(field()!, $event)"
128
+ (onBlur)="props.onBlur?.(field()!, $event)"
129
+ (onClick)="props.onClick?.(field()!, $event)"
130
+ (onClear)="props.onClear?.(field()!, $event)"
131
+ (onPanelShow)="props.onPanelShow?.(field()!, $event)"
132
+ (onPanelHide)="props.onPanelHide?.(field()!, $event)"
133
+ (onLazyLoad)="props.onLazyLoad?.(field()!, $event)"
134
+ (onRemove)="props.onRemove?.(field()!, $event)"
135
+ (onSelectAllChange)="props.onSelectAllChange?.(field()!, $event)"
136
+ [class]="props.class"
135
137
  [formControl]="field()!.fieldControl!" />`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0 .25rem;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"], dependencies: [{ kind: "component", type: MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
136
138
  }
137
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiSelectComponent, decorators: [{
138
140
  type: Component,
139
- args: [{ selector: 'form-multiselect', standalone: true, imports: [MultiSelect, ReactiveFormsModule], template: `<p-multiselect
140
- [id]="field()?.uuid"
141
- [inputId]="field()?.uuid"
142
- [optionLabel]="props.optionLabel"
143
- [optionValue]="props.optionValue"
144
- [ariaLabel]="props.ariaLabel"
145
- [style]="props.style"
146
- [styleClass]="props.styleClass"
147
- [panelStyle]="props.panelStyle"
148
- [panelStyleClass]="props.panelStyleClass"
149
- [fluid]="props.fluid ?? true"
150
- [readonly]="props.readonly"
151
- [appendTo]="props.appendTo ?? 'body'"
152
- [options]="props.options"
153
- [dataKey]="props.dataKey"
154
- [group]="props.group"
155
- [filter]="props.filter"
156
- [filterPlaceHolder]="props.filterPlaceHolder"
157
- [filterLocale]="props.filterLocale"
158
- [overlayVisible]="props.overlayVisible"
159
- [variant]="props.variant"
160
- [name]="props.name"
161
- [tabindex]="props.tabindex"
162
- [ariaLabelledBy]="props.ariaLabelledBy"
163
- [displaySelectedLabel]="props.displaySelectedLabel ?? true"
164
- [maxSelectedLabels]="props.maxSelectedLabels"
165
- [selectionLimit]="props.selectionLimit"
166
- [selectedItemsLabel]="props.selectedItemsLabel"
167
- [showToggleAll]="props.showToggleAll ?? true"
168
- [emptyFilterMessage]="props.emptyFilterMessage"
169
- [emptyMessage]="props.emptyMessage"
170
- [resetFilterOnHide]="props.resetFilterOnHide"
171
- [dropdownIcon]="props.dropdownIcon"
172
- [chipIcon]="props.chipIcon"
173
- [optionDisabled]="props.optionDisabled"
174
- [optionGroupLabel]="props.optionGroupLabel"
175
- [optionGroupChildren]="props.optionGroupChildren ?? 'items'"
176
- [showHeader]="props.showHeader ?? true"
177
- [filterBy]="props.filterBy"
178
- [scrollHeight]="props.scrollHeight ?? '200px'"
179
- [lazy]="props.lazy"
180
- [virtualScroll]="props.virtualScroll"
181
- [loading]="props.loading"
182
- [virtualScrollItemSize]="props.virtualScrollItemSize"
183
- [loadingIcon]="props.loadingIcon"
184
- [virtualScrollOptions]="props.virtualScrollOptions"
185
- [overlayOptions]="props.overlayOptions"
186
- [ariaFilterLabel]="props.ariaFilterLabel"
187
- [filterMatchMode]="props.filterMatchMode"
188
- [tooltip]="props.tooltip"
189
- [tooltipPosition]="props.tooltipPosition ?? 'right'"
190
- [tooltipPositionStyle]="props.tooltipPositionStyle ?? 'absolute'"
191
- [tooltipStyleClass]="props.tooltipStyleClass"
192
- [autofocusFilter]="props.autofocusFilter"
193
- [display]="props.display ?? 'comma'"
194
- [autocomplete]="props.autocomplete ?? 'off'"
195
- [size]="props.size"
196
- [showClear]="props.showClear"
197
- [autofocus]="props.autofocus"
198
- [placeholder]="props.placeholder"
199
- [filterValue]="props.filterValue"
200
- [selectAll]="props.selectAll ?? null"
201
- [focusOnHover]="props.focusOnHover ?? true"
202
- [filterFields]="props.filterFields"
203
- [selectOnFocus]="props.selectOnFocus"
204
- [autoOptionFocus]="props.autoOptionFocus"
205
- [class]="props.class"
206
- [placeholder]="props.placeholder"
207
- [maxlength]="props.maxlength"
208
- (onChange)="props.onChange?.(field()!, $event)"
209
- (onFilter)="props.onFilter?.(field()!, $event)"
210
- (onFocus)="props.onFocus?.(field()!, $event)"
211
- (onBlur)="props.onBlur?.(field()!, $event)"
212
- (onClick)="props.onClick?.(field()!, $event)"
213
- (onClear)="props.onClear?.(field()!, $event)"
214
- (onPanelShow)="props.onPanelShow?.(field()!, $event)"
215
- (onPanelHide)="props.onPanelHide?.(field()!, $event)"
216
- (onLazyLoad)="props.onLazyLoad?.(field()!, $event)"
217
- (onRemove)="props.onRemove?.(field()!, $event)"
218
- (onSelectAllChange)="props.onSelectAllChange?.(field()!, $event)"
219
- [class]="props.class"
141
+ args: [{ selector: 'form-multiselect', standalone: true, imports: [MultiSelect, ReactiveFormsModule], template: `<p-multiselect
142
+ [id]="field()?.uuid"
143
+ [inputId]="field()?.uuid"
144
+ [optionLabel]="props.optionLabel"
145
+ [optionValue]="props.optionValue"
146
+ [ariaLabel]="props.ariaLabel"
147
+ [style]="props.style"
148
+ [styleClass]="props.styleClass"
149
+ [panelStyle]="props.panelStyle"
150
+ [panelStyleClass]="props.panelStyleClass"
151
+ [fluid]="props.fluid ?? true"
152
+ [readonly]="props.readonly"
153
+ [appendTo]="props.appendTo ?? 'body'"
154
+ [options]="props.options"
155
+ [dataKey]="props.dataKey"
156
+ [group]="props.group"
157
+ [filter]="props.filter"
158
+ [filterPlaceHolder]="props.filterPlaceHolder"
159
+ [filterLocale]="props.filterLocale"
160
+ [overlayVisible]="props.overlayVisible"
161
+ [variant]="props.variant"
162
+ [name]="props.name"
163
+ [tabindex]="props.tabindex"
164
+ [ariaLabelledBy]="props.ariaLabelledBy"
165
+ [displaySelectedLabel]="props.displaySelectedLabel ?? true"
166
+ [maxSelectedLabels]="props.maxSelectedLabels"
167
+ [selectionLimit]="props.selectionLimit"
168
+ [selectedItemsLabel]="props.selectedItemsLabel"
169
+ [showToggleAll]="props.showToggleAll ?? true"
170
+ [emptyFilterMessage]="props.emptyFilterMessage"
171
+ [emptyMessage]="props.emptyMessage"
172
+ [resetFilterOnHide]="props.resetFilterOnHide"
173
+ [dropdownIcon]="props.dropdownIcon"
174
+ [chipIcon]="props.chipIcon"
175
+ [optionDisabled]="props.optionDisabled"
176
+ [optionGroupLabel]="props.optionGroupLabel"
177
+ [optionGroupChildren]="props.optionGroupChildren ?? 'items'"
178
+ [showHeader]="props.showHeader ?? true"
179
+ [filterBy]="props.filterBy"
180
+ [scrollHeight]="props.scrollHeight ?? '200px'"
181
+ [lazy]="props.lazy"
182
+ [virtualScroll]="props.virtualScroll"
183
+ [loading]="props.loading"
184
+ [virtualScrollItemSize]="props.virtualScrollItemSize"
185
+ [loadingIcon]="props.loadingIcon"
186
+ [virtualScrollOptions]="props.virtualScrollOptions"
187
+ [overlayOptions]="props.overlayOptions"
188
+ [ariaFilterLabel]="props.ariaFilterLabel"
189
+ [filterMatchMode]="getFilterMatchMode(props.filterMatchMode)"
190
+ [tooltip]="props.tooltip"
191
+ [tooltipPosition]="props.tooltipPosition ?? 'right'"
192
+ [tooltipPositionStyle]="props.tooltipPositionStyle ?? 'absolute'"
193
+ [tooltipStyleClass]="props.tooltipStyleClass"
194
+ [autofocusFilter]="props.autofocusFilter"
195
+ [display]="props.display ?? 'comma'"
196
+ [autocomplete]="props.autocomplete ?? 'off'"
197
+ [size]="props.size"
198
+ [showClear]="props.showClear"
199
+ [autofocus]="props.autofocus"
200
+ [placeholder]="props.placeholder"
201
+ [filterValue]="props.filterValue"
202
+ [selectAll]="props.selectAll ?? null"
203
+ [focusOnHover]="props.focusOnHover ?? true"
204
+ [filterFields]="props.filterFields"
205
+ [selectOnFocus]="props.selectOnFocus"
206
+ [autoOptionFocus]="props.autoOptionFocus"
207
+ [class]="props.class"
208
+ [placeholder]="props.placeholder"
209
+ [maxlength]="props.maxlength"
210
+ (onChange)="props.onChange?.(field()!, $event)"
211
+ (onFilter)="props.onFilter?.(field()!, $event)"
212
+ (onFocus)="props.onFocus?.(field()!, $event)"
213
+ (onBlur)="props.onBlur?.(field()!, $event)"
214
+ (onClick)="props.onClick?.(field()!, $event)"
215
+ (onClear)="props.onClear?.(field()!, $event)"
216
+ (onPanelShow)="props.onPanelShow?.(field()!, $event)"
217
+ (onPanelHide)="props.onPanelHide?.(field()!, $event)"
218
+ (onLazyLoad)="props.onLazyLoad?.(field()!, $event)"
219
+ (onRemove)="props.onRemove?.(field()!, $event)"
220
+ (onSelectAllChange)="props.onSelectAllChange?.(field()!, $event)"
221
+ [class]="props.class"
220
222
  [formControl]="field()!.fieldControl!" />`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0 .25rem;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n"] }]
221
223
  }], ctorParameters: () => [{ type: i1.ActionService }, { type: i0.Renderer2 }], propDecorators: { multiselect: [{
222
224
  type: ViewChild,
@@ -225,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
225
227
  type: ViewChild,
226
228
  args: [MultiSelect, { read: ElementRef, static: false }]
227
229
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvbXVsdGlzZWxlY3QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFpS2xELE1BQU0sT0FBTyxvQkFBb0I7SUFNaEMsWUFDUyxNQUFxQixFQUNyQixRQUFtQjtRQURuQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFMNUIsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBTTVCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxnQkFBaUIsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQ0wsR0FBRyxFQUFFO1lBQ0osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzVELE9BQU87WUFDUixDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN6RSxDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUUsQ0FBQztpQkFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWixPQUFPO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLFlBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQXBEVyxvQkFBb0I7bUdBQXBCLG9CQUFvQiw2UEFDckIsV0FBVyxpRkFDWCxXQUFXLDJCQUFVLFVBQVUsNkJBdEZoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzRDQWlGaUMsd3NMQWxGakMsV0FBVyxtMkNBQUUsbUJBQW1COzs0RkFxRjlCLG9CQUFvQjtrQkF4RmhDLFNBQVM7K0JBQ0Msa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxZQUNqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzRDQWlGaUM7MEdBSUEsV0FBVztzQkFBckQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNvQixjQUFjO3NCQUExRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzLCBBdHRyaWJ1dGVFdmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XHJcbmltcG9ydCB7IFNjcm9sbGVyT3B0aW9ucywgT3ZlcmxheU9wdGlvbnMgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlTZWxlY3RQcm9wcyBleHRlbmRzIEZpZWxkUHJvcHMge1xyXG5cdGZpbHRlclBsYWNlSG9sZGVyPzogc3RyaW5nO1xyXG5cdG92ZXJsYXlWaXNpYmxlPzogYm9vbGVhbjtcclxuXHRkaXNwbGF5U2VsZWN0ZWRMYWJlbD86IGJvb2xlYW47XHJcblx0bWF4U2VsZWN0ZWRMYWJlbHM/OiBudW1iZXI7XHJcblx0c2VsZWN0aW9uTGltaXQ/OiBudW1iZXI7XHJcblx0c2VsZWN0ZWRJdGVtc0xhYmVsPzogc3RyaW5nO1xyXG5cdHNob3dUb2dnbGVBbGw/OiBib29sZWFuO1xyXG5cdGNoaXBJY29uPzogc3RyaW5nO1xyXG5cdHNob3dIZWFkZXI/OiBib29sZWFuO1xyXG5cdGF1dG9mb2N1c0ZpbHRlcj86IGJvb2xlYW47XHJcblx0ZGlzcGxheT86IHN0cmluZztcclxuXHRhdXRvY29tcGxldGU/OiBzdHJpbmc7XHJcblx0c2VsZWN0QWxsPzogYm9vbGVhbjtcclxuXHRzZWxlY3RPbkZvY3VzPzogYm9vbGVhbjtcclxuXHRhdXRvT3B0aW9uRm9jdXM/OiBib29sZWFuO1xyXG5cdHNjcm9sbEhlaWdodD86IHN0cmluZztcclxuXHRmaWx0ZXI/OiBib29sZWFuO1xyXG5cdHBhbmVsU3R5bGU/OiBhbnk7XHJcblx0cGFuZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdHJlYWRvbmx5PzogYm9vbGVhbjtcclxuXHRhcHBlbmRUbz86IGFueTtcclxuXHR0YWJpbmRleD86IG51bWJlcjtcclxuXHRsb2FkaW5nSWNvbj86IHN0cmluZztcclxuXHRmaWx0ZXJMb2NhbGU/OiBzdHJpbmc7XHJcblx0ZGF0YUtleT86IHN0cmluZztcclxuXHRmaWx0ZXJCeT86IHN0cmluZztcclxuXHRmaWx0ZXJGaWVsZHM/OiBhbnlbXTtcclxuXHRyZXNldEZpbHRlck9uSGlkZT86IGJvb2xlYW47XHJcblx0ZHJvcGRvd25JY29uPzogc3RyaW5nO1xyXG5cdGxvYWRpbmc/OiBzdHJpbmc7XHJcblx0b3B0aW9uTGFiZWw/OiBzdHJpbmc7XHJcblx0b3B0aW9uVmFsdWU/OiBzdHJpbmc7XHJcblx0b3B0aW9uRGlzYWJsZWQ/OiBzdHJpbmc7XHJcblx0b3B0aW9uR3JvdXBMYWJlbD86IHN0cmluZztcclxuXHRvcHRpb25Hcm91cENoaWxkcmVuPzogc3RyaW5nO1xyXG5cdGdyb3VwPzogYm9vbGVhbjtcclxuXHRzaG93Q2xlYXI/OiBib29sZWFuO1xyXG5cdGVtcHR5RmlsdGVyTWVzc2FnZT86IGFueTtcclxuXHRlbXB0eU1lc3NhZ2U/OiBhbnk7XHJcblx0bGF6eT86IGJvb2xlYW47XHJcblx0dmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcblx0dmlydHVhbFNjcm9sbEl0ZW1TaXplPzogbnVtYmVyO1xyXG5cdHZpcnR1YWxTY3JvbGxPcHRpb25zPzogU2Nyb2xsZXJPcHRpb25zO1xyXG5cdG92ZXJsYXlPcHRpb25zPzogT3ZlcmxheU9wdGlvbnM7XHJcblx0YXJpYUZpbHRlckxhYmVsPzogc3RyaW5nO1xyXG5cdGZpbHRlck1hdGNoTW9kZT86IGFueTtcclxuXHRtYXhsZW5ndGg/OiBhbnk7XHJcblx0dG9vbHRpcD86IGFueTtcclxuXHR0b29sdGlwUG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnIHwgJ3RvcCcgfCAnYm90dG9tJztcclxuXHR0b29sdGlwUG9zaXRpb25TdHlsZT86IHN0cmluZztcclxuXHR0b29sdGlwU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRmb2N1c09uSG92ZXI/OiBib29sZWFuO1xyXG5cdGZpbHRlclZhbHVlPzogc3RyaW5nO1xyXG5cdG9wdGlvbnM/OiBhbnlbXTtcclxuXHJcblx0b25DaGFuZ2U/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkZpbHRlcj86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uRm9jdXM/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkJsdXI/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNsaWNrPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25DbGVhcj86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uUGFuZWxTaG93PzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25QYW5lbEhpZGU/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkxhenlMb2FkPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25SZW1vdmU/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblNlbGVjdEFsbENoYW5nZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tbXVsdGlzZWxlY3QnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW011bHRpU2VsZWN0LCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZTogYDxwLW11bHRpc2VsZWN0XHJcblx0XHRbaWRdPVwiZmllbGQoKT8udXVpZFwiXHJcblx0XHRbaW5wdXRJZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFtvcHRpb25MYWJlbF09XCJwcm9wcy5vcHRpb25MYWJlbFwiXHJcblx0XHRbb3B0aW9uVmFsdWVdPVwicHJvcHMub3B0aW9uVmFsdWVcIlxyXG5cdFx0W2FyaWFMYWJlbF09XCJwcm9wcy5hcmlhTGFiZWxcIlxyXG5cdFx0W3N0eWxlXT1cInByb3BzLnN0eWxlXCJcclxuXHRcdFtzdHlsZUNsYXNzXT1cInByb3BzLnN0eWxlQ2xhc3NcIlxyXG5cdFx0W3BhbmVsU3R5bGVdPVwicHJvcHMucGFuZWxTdHlsZVwiXHJcblx0XHRbcGFuZWxTdHlsZUNsYXNzXT1cInByb3BzLnBhbmVsU3R5bGVDbGFzc1wiXHJcblx0XHRbZmx1aWRdPVwicHJvcHMuZmx1aWQgPz8gdHJ1ZVwiXHJcblx0XHRbcmVhZG9ubHldPVwicHJvcHMucmVhZG9ubHlcIlxyXG5cdFx0W2FwcGVuZFRvXT1cInByb3BzLmFwcGVuZFRvID8/ICdib2R5J1wiXHJcblx0XHRbb3B0aW9uc109XCJwcm9wcy5vcHRpb25zXCJcclxuXHRcdFtkYXRhS2V5XT1cInByb3BzLmRhdGFLZXlcIlxyXG5cdFx0W2dyb3VwXT1cInByb3BzLmdyb3VwXCJcclxuXHRcdFtmaWx0ZXJdPVwicHJvcHMuZmlsdGVyXCJcclxuXHRcdFtmaWx0ZXJQbGFjZUhvbGRlcl09XCJwcm9wcy5maWx0ZXJQbGFjZUhvbGRlclwiXHJcblx0XHRbZmlsdGVyTG9jYWxlXT1cInByb3BzLmZpbHRlckxvY2FsZVwiXHJcblx0XHRbb3ZlcmxheVZpc2libGVdPVwicHJvcHMub3ZlcmxheVZpc2libGVcIlxyXG5cdFx0W3ZhcmlhbnRdPVwicHJvcHMudmFyaWFudFwiXHJcblx0XHRbbmFtZV09XCJwcm9wcy5uYW1lXCJcclxuXHRcdFt0YWJpbmRleF09XCJwcm9wcy50YWJpbmRleFwiXHJcblx0XHRbYXJpYUxhYmVsbGVkQnldPVwicHJvcHMuYXJpYUxhYmVsbGVkQnlcIlxyXG5cdFx0W2Rpc3BsYXlTZWxlY3RlZExhYmVsXT1cInByb3BzLmRpc3BsYXlTZWxlY3RlZExhYmVsID8/IHRydWVcIlxyXG5cdFx0W21heFNlbGVjdGVkTGFiZWxzXT1cInByb3BzLm1heFNlbGVjdGVkTGFiZWxzXCJcclxuXHRcdFtzZWxlY3Rpb25MaW1pdF09XCJwcm9wcy5zZWxlY3Rpb25MaW1pdFwiXHJcblx0XHRbc2VsZWN0ZWRJdGVtc0xhYmVsXT1cInByb3BzLnNlbGVjdGVkSXRlbXNMYWJlbFwiXHJcblx0XHRbc2hvd1RvZ2dsZUFsbF09XCJwcm9wcy5zaG93VG9nZ2xlQWxsID8/IHRydWVcIlxyXG5cdFx0W2VtcHR5RmlsdGVyTWVzc2FnZV09XCJwcm9wcy5lbXB0eUZpbHRlck1lc3NhZ2VcIlxyXG5cdFx0W2VtcHR5TWVzc2FnZV09XCJwcm9wcy5lbXB0eU1lc3NhZ2VcIlxyXG5cdFx0W3Jlc2V0RmlsdGVyT25IaWRlXT1cInByb3BzLnJlc2V0RmlsdGVyT25IaWRlXCJcclxuXHRcdFtkcm9wZG93bkljb25dPVwicHJvcHMuZHJvcGRvd25JY29uXCJcclxuXHRcdFtjaGlwSWNvbl09XCJwcm9wcy5jaGlwSWNvblwiXHJcblx0XHRbb3B0aW9uRGlzYWJsZWRdPVwicHJvcHMub3B0aW9uRGlzYWJsZWRcIlxyXG5cdFx0W29wdGlvbkdyb3VwTGFiZWxdPVwicHJvcHMub3B0aW9uR3JvdXBMYWJlbFwiXHJcblx0XHRbb3B0aW9uR3JvdXBDaGlsZHJlbl09XCJwcm9wcy5vcHRpb25Hcm91cENoaWxkcmVuID8/ICdpdGVtcydcIlxyXG5cdFx0W3Nob3dIZWFkZXJdPVwicHJvcHMuc2hvd0hlYWRlciA/PyB0cnVlXCJcclxuXHRcdFtmaWx0ZXJCeV09XCJwcm9wcy5maWx0ZXJCeVwiXHJcblx0XHRbc2Nyb2xsSGVpZ2h0XT1cInByb3BzLnNjcm9sbEhlaWdodCA/PyAnMjAwcHgnXCJcclxuXHRcdFtsYXp5XT1cInByb3BzLmxhenlcIlxyXG5cdFx0W3ZpcnR1YWxTY3JvbGxdPVwicHJvcHMudmlydHVhbFNjcm9sbFwiXHJcblx0XHRbbG9hZGluZ109XCJwcm9wcy5sb2FkaW5nXCJcclxuXHRcdFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwicHJvcHMudmlydHVhbFNjcm9sbEl0ZW1TaXplXCJcclxuXHRcdFtsb2FkaW5nSWNvbl09XCJwcm9wcy5sb2FkaW5nSWNvblwiXHJcblx0XHRbdmlydHVhbFNjcm9sbE9wdGlvbnNdPVwicHJvcHMudmlydHVhbFNjcm9sbE9wdGlvbnNcIlxyXG5cdFx0W292ZXJsYXlPcHRpb25zXT1cInByb3BzLm92ZXJsYXlPcHRpb25zXCJcclxuXHRcdFthcmlhRmlsdGVyTGFiZWxdPVwicHJvcHMuYXJpYUZpbHRlckxhYmVsXCJcclxuXHRcdFtmaWx0ZXJNYXRjaE1vZGVdPVwicHJvcHMuZmlsdGVyTWF0Y2hNb2RlXCJcclxuXHRcdFt0b29sdGlwXT1cInByb3BzLnRvb2x0aXBcIlxyXG5cdFx0W3Rvb2x0aXBQb3NpdGlvbl09XCJwcm9wcy50b29sdGlwUG9zaXRpb24gPz8gJ3JpZ2h0J1wiXHJcblx0XHRbdG9vbHRpcFBvc2l0aW9uU3R5bGVdPVwicHJvcHMudG9vbHRpcFBvc2l0aW9uU3R5bGUgPz8gJ2Fic29sdXRlJ1wiXHJcblx0XHRbdG9vbHRpcFN0eWxlQ2xhc3NdPVwicHJvcHMudG9vbHRpcFN0eWxlQ2xhc3NcIlxyXG5cdFx0W2F1dG9mb2N1c0ZpbHRlcl09XCJwcm9wcy5hdXRvZm9jdXNGaWx0ZXJcIlxyXG5cdFx0W2Rpc3BsYXldPVwicHJvcHMuZGlzcGxheSA/PyAnY29tbWEnXCJcclxuXHRcdFthdXRvY29tcGxldGVdPVwicHJvcHMuYXV0b2NvbXBsZXRlID8/ICdvZmYnXCJcclxuXHRcdFtzaXplXT1cInByb3BzLnNpemVcIlxyXG5cdFx0W3Nob3dDbGVhcl09XCJwcm9wcy5zaG93Q2xlYXJcIlxyXG5cdFx0W2F1dG9mb2N1c109XCJwcm9wcy5hdXRvZm9jdXNcIlxyXG5cdFx0W3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyXCJcclxuXHRcdFtmaWx0ZXJWYWx1ZV09XCJwcm9wcy5maWx0ZXJWYWx1ZVwiXHJcblx0XHRbc2VsZWN0QWxsXT1cInByb3BzLnNlbGVjdEFsbCA/PyBudWxsXCJcclxuXHRcdFtmb2N1c09uSG92ZXJdPVwicHJvcHMuZm9jdXNPbkhvdmVyID8/IHRydWVcIlxyXG5cdFx0W2ZpbHRlckZpZWxkc109XCJwcm9wcy5maWx0ZXJGaWVsZHNcIlxyXG5cdFx0W3NlbGVjdE9uRm9jdXNdPVwicHJvcHMuc2VsZWN0T25Gb2N1c1wiXHJcblx0XHRbYXV0b09wdGlvbkZvY3VzXT1cInByb3BzLmF1dG9PcHRpb25Gb2N1c1wiXHJcblx0XHRbY2xhc3NdPVwicHJvcHMuY2xhc3NcIlxyXG5cdFx0W3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyXCJcclxuXHRcdFttYXhsZW5ndGhdPVwicHJvcHMubWF4bGVuZ3RoXCJcclxuXHRcdChvbkNoYW5nZSk9XCJwcm9wcy5vbkNoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkZpbHRlcik9XCJwcm9wcy5vbkZpbHRlcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkZvY3VzKT1cInByb3BzLm9uRm9jdXM/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25CbHVyKT1cInByb3BzLm9uQmx1cj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkNsaWNrKT1cInByb3BzLm9uQ2xpY2s/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25DbGVhcik9XCJwcm9wcy5vbkNsZWFyPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uUGFuZWxTaG93KT1cInByb3BzLm9uUGFuZWxTaG93Py4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uUGFuZWxIaWRlKT1cInByb3BzLm9uUGFuZWxIaWRlPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uTGF6eUxvYWQpPVwicHJvcHMub25MYXp5TG9hZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblJlbW92ZSk9XCJwcm9wcy5vblJlbW92ZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblNlbGVjdEFsbENoYW5nZSk9XCJwcm9wcy5vblNlbGVjdEFsbENoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdFtjbGFzc109XCJwcm9wcy5jbGFzc1wiXHJcblx0XHRbZm9ybUNvbnRyb2xdPVwiZmllbGQoKSEuZmllbGRDb250cm9sIVwiIC8+YCxcclxuXHRzdHlsZVVybDogJy4uLy4uL3N0eWxlcy9zdHlsZXMuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudCB7XHJcblx0QFZpZXdDaGlsZChNdWx0aVNlbGVjdCwgeyBzdGF0aWM6IGZhbHNlIH0pIG11bHRpc2VsZWN0ITogTXVsdGlTZWxlY3Q7XHJcblx0QFZpZXdDaGlsZChNdWx0aVNlbGVjdCwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIG11bHRpc2VsZWN0UmVmITogRWxlbWVudFJlZjtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRwcm9wczogTXVsdGlTZWxlY3RQcm9wcyA9IHt9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdCkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xyXG5cdFx0XHRcdHRoaXMucHJvcHMgPSB0aGlzLmZpZWxkKCkhLm11bHRpU2VsZWN0UHJvcHMhO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlSG9va0NoYW5nZSgpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlRGlzYWJsZWQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBsYWJlbEFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEZpZWxkTGFiZWxBY3Rpb24oKTtcclxuXHRcdFx0XHRpZiAoIWxhYmVsQWN0aW9uIHx8IGxhYmVsQWN0aW9uPy5rZXkgIT0gdGhpcy5maWVsZCgpPy51dWlkKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWVudGVyJykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm11bHRpc2VsZWN0UmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm11bHRpc2VsZWN0UmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdjbGljaycpIHtcclxuXHRcdFx0XHRcdGlmICghdGhpcy5tdWx0aXNlbGVjdC5vdmVybGF5VmlzaWJsZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm11bHRpc2VsZWN0LnNob3coKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRoYW5kbGVIb29rQ2hhbmdlKCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lmhvb2tDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG5cdFx0XHRpZiAoIXZhbHVlKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMucHJvcHMub25Ib29rQ2hhbmdlPy4odGhpcy5maWVsZCgpISwgeyB2YWx1ZSB9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aGFuZGxlRGlzYWJsZWQoKSB7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMucHJvcHM/LmRpc2FibGVkKSB7XHJcblx0XHRcdFx0dGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvbXVsdGlzZWxlY3QudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGtCQUFrQixJQUFJLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUErSjlFLE1BQU0sT0FBTyxvQkFBb0I7SUFNaEMsWUFDUyxNQUFxQixFQUNyQixRQUFtQjtRQURuQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFMNUIsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBa0Q3Qix1QkFBa0IsR0FBRyxtQkFBbUIsQ0FBQztRQTVDeEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLGdCQUFpQixDQUFDO2dCQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsT0FBTztZQUNSLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLENBQUM7aUJBQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM1RSxDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLENBQUM7WUFDRixDQUFDO1FBQ0YsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNaLE9BQU87WUFDUixDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsWUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBcERXLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZQQUNyQixXQUFXLGlGQUNYLFdBQVcsMkJBQVUsVUFBVSw2QkF0RmhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NENBaUZpQyx3c0xBbEZqQyxXQUFXLG0yQ0FBRSxtQkFBbUI7OzRGQXFGOUIsb0JBQW9CO2tCQXhGaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFlBQ2pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NENBaUZpQzswR0FJQSxXQUFXO3NCQUFyRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ29CLGNBQWM7c0JBQTFFLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgZWZmZWN0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcywgQXR0cmlidXRlRXZlbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcbmltcG9ydCB7IFNjcm9sbGVyT3B0aW9ucywgT3ZlcmxheU9wdGlvbnMgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJNYXRjaE1vZGUgYXMgX2dldEZpbHRlck1hdGNoTW9kZSB9IGZyb20gJy4uLy4uL3NoYXJlL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNlbGVjdFByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XG5cdGZpbHRlclBsYWNlSG9sZGVyPzogc3RyaW5nO1xuXHRvdmVybGF5VmlzaWJsZT86IGJvb2xlYW47XG5cdGRpc3BsYXlTZWxlY3RlZExhYmVsPzogYm9vbGVhbjtcblx0bWF4U2VsZWN0ZWRMYWJlbHM/OiBudW1iZXI7XG5cdHNlbGVjdGlvbkxpbWl0PzogbnVtYmVyO1xuXHRzZWxlY3RlZEl0ZW1zTGFiZWw/OiBzdHJpbmc7XG5cdHNob3dUb2dnbGVBbGw/OiBib29sZWFuO1xuXHRjaGlwSWNvbj86IHN0cmluZztcblx0c2hvd0hlYWRlcj86IGJvb2xlYW47XG5cdGF1dG9mb2N1c0ZpbHRlcj86IGJvb2xlYW47XG5cdGRpc3BsYXk/OiBzdHJpbmc7XG5cdGF1dG9jb21wbGV0ZT86IHN0cmluZztcblx0c2VsZWN0QWxsPzogYm9vbGVhbjtcblx0c2VsZWN0T25Gb2N1cz86IGJvb2xlYW47XG5cdGF1dG9PcHRpb25Gb2N1cz86IGJvb2xlYW47XG5cdHNjcm9sbEhlaWdodD86IHN0cmluZztcblx0ZmlsdGVyPzogYm9vbGVhbjtcblx0cGFuZWxTdHlsZT86IGFueTtcblx0cGFuZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRyZWFkb25seT86IGJvb2xlYW47XG5cdGFwcGVuZFRvPzogYW55O1xuXHR0YWJpbmRleD86IG51bWJlcjtcblx0bG9hZGluZ0ljb24/OiBzdHJpbmc7XG5cdGZpbHRlckxvY2FsZT86IHN0cmluZztcblx0ZGF0YUtleT86IHN0cmluZztcblx0ZmlsdGVyQnk/OiBzdHJpbmc7XG5cdGZpbHRlckZpZWxkcz86IGFueVtdO1xuXHRyZXNldEZpbHRlck9uSGlkZT86IGJvb2xlYW47XG5cdGRyb3Bkb3duSWNvbj86IHN0cmluZztcblx0bG9hZGluZz86IHN0cmluZztcblx0b3B0aW9uTGFiZWw/OiBzdHJpbmc7XG5cdG9wdGlvblZhbHVlPzogc3RyaW5nO1xuXHRvcHRpb25EaXNhYmxlZD86IHN0cmluZztcblx0b3B0aW9uR3JvdXBMYWJlbD86IHN0cmluZztcblx0b3B0aW9uR3JvdXBDaGlsZHJlbj86IHN0cmluZztcblx0Z3JvdXA/OiBib29sZWFuO1xuXHRzaG93Q2xlYXI/OiBib29sZWFuO1xuXHRlbXB0eUZpbHRlck1lc3NhZ2U/OiBhbnk7XG5cdGVtcHR5TWVzc2FnZT86IGFueTtcblx0bGF6eT86IGJvb2xlYW47XG5cdHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xuXHR2aXJ0dWFsU2Nyb2xsSXRlbVNpemU/OiBudW1iZXI7XG5cdHZpcnR1YWxTY3JvbGxPcHRpb25zPzogU2Nyb2xsZXJPcHRpb25zO1xuXHRvdmVybGF5T3B0aW9ucz86IE92ZXJsYXlPcHRpb25zO1xuXHRhcmlhRmlsdGVyTGFiZWw/OiBzdHJpbmc7XG5cdGZpbHRlck1hdGNoTW9kZT86IGFueTtcblx0bWF4bGVuZ3RoPzogYW55O1xuXHR0b29sdGlwPzogYW55O1xuXHR0b29sdGlwUG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnIHwgJ3RvcCcgfCAnYm90dG9tJztcblx0dG9vbHRpcFBvc2l0aW9uU3R5bGU/OiBzdHJpbmc7XG5cdHRvb2x0aXBTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRmb2N1c09uSG92ZXI/OiBib29sZWFuO1xuXHRmaWx0ZXJWYWx1ZT86IHN0cmluZztcblx0b3B0aW9ucz86IGFueVtdO1xuXG5cdG9uQ2hhbmdlPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uRmlsdGVyPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uRm9jdXM/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25CbHVyPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQ2xpY2s/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25DbGVhcj86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblBhbmVsU2hvdz86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblBhbmVsSGlkZT86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkxhenlMb2FkPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uUmVtb3ZlPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uU2VsZWN0QWxsQ2hhbmdlPzogQXR0cmlidXRlRXZlbnQ7XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2Zvcm0tbXVsdGlzZWxlY3QnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTXVsdGlTZWxlY3QsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuXHR0ZW1wbGF0ZTogYDxwLW11bHRpc2VsZWN0XG5cdFx0W2lkXT1cImZpZWxkKCk/LnV1aWRcIlxuXHRcdFtpbnB1dElkXT1cImZpZWxkKCk/LnV1aWRcIlxuXHRcdFtvcHRpb25MYWJlbF09XCJwcm9wcy5vcHRpb25MYWJlbFwiXG5cdFx0W29wdGlvblZhbHVlXT1cInByb3BzLm9wdGlvblZhbHVlXCJcblx0XHRbYXJpYUxhYmVsXT1cInByb3BzLmFyaWFMYWJlbFwiXG5cdFx0W3N0eWxlXT1cInByb3BzLnN0eWxlXCJcblx0XHRbc3R5bGVDbGFzc109XCJwcm9wcy5zdHlsZUNsYXNzXCJcblx0XHRbcGFuZWxTdHlsZV09XCJwcm9wcy5wYW5lbFN0eWxlXCJcblx0XHRbcGFuZWxTdHlsZUNsYXNzXT1cInByb3BzLnBhbmVsU3R5bGVDbGFzc1wiXG5cdFx0W2ZsdWlkXT1cInByb3BzLmZsdWlkID8/IHRydWVcIlxuXHRcdFtyZWFkb25seV09XCJwcm9wcy5yZWFkb25seVwiXG5cdFx0W2FwcGVuZFRvXT1cInByb3BzLmFwcGVuZFRvID8/ICdib2R5J1wiXG5cdFx0W29wdGlvbnNdPVwicHJvcHMub3B0aW9uc1wiXG5cdFx0W2RhdGFLZXldPVwicHJvcHMuZGF0YUtleVwiXG5cdFx0W2dyb3VwXT1cInByb3BzLmdyb3VwXCJcblx0XHRbZmlsdGVyXT1cInByb3BzLmZpbHRlclwiXG5cdFx0W2ZpbHRlclBsYWNlSG9sZGVyXT1cInByb3BzLmZpbHRlclBsYWNlSG9sZGVyXCJcblx0XHRbZmlsdGVyTG9jYWxlXT1cInByb3BzLmZpbHRlckxvY2FsZVwiXG5cdFx0W292ZXJsYXlWaXNpYmxlXT1cInByb3BzLm92ZXJsYXlWaXNpYmxlXCJcblx0XHRbdmFyaWFudF09XCJwcm9wcy52YXJpYW50XCJcblx0XHRbbmFtZV09XCJwcm9wcy5uYW1lXCJcblx0XHRbdGFiaW5kZXhdPVwicHJvcHMudGFiaW5kZXhcIlxuXHRcdFthcmlhTGFiZWxsZWRCeV09XCJwcm9wcy5hcmlhTGFiZWxsZWRCeVwiXG5cdFx0W2Rpc3BsYXlTZWxlY3RlZExhYmVsXT1cInByb3BzLmRpc3BsYXlTZWxlY3RlZExhYmVsID8/IHRydWVcIlxuXHRcdFttYXhTZWxlY3RlZExhYmVsc109XCJwcm9wcy5tYXhTZWxlY3RlZExhYmVsc1wiXG5cdFx0W3NlbGVjdGlvbkxpbWl0XT1cInByb3BzLnNlbGVjdGlvbkxpbWl0XCJcblx0XHRbc2VsZWN0ZWRJdGVtc0xhYmVsXT1cInByb3BzLnNlbGVjdGVkSXRlbXNMYWJlbFwiXG5cdFx0W3Nob3dUb2dnbGVBbGxdPVwicHJvcHMuc2hvd1RvZ2dsZUFsbCA/PyB0cnVlXCJcblx0XHRbZW1wdHlGaWx0ZXJNZXNzYWdlXT1cInByb3BzLmVtcHR5RmlsdGVyTWVzc2FnZVwiXG5cdFx0W2VtcHR5TWVzc2FnZV09XCJwcm9wcy5lbXB0eU1lc3NhZ2VcIlxuXHRcdFtyZXNldEZpbHRlck9uSGlkZV09XCJwcm9wcy5yZXNldEZpbHRlck9uSGlkZVwiXG5cdFx0W2Ryb3Bkb3duSWNvbl09XCJwcm9wcy5kcm9wZG93bkljb25cIlxuXHRcdFtjaGlwSWNvbl09XCJwcm9wcy5jaGlwSWNvblwiXG5cdFx0W29wdGlvbkRpc2FibGVkXT1cInByb3BzLm9wdGlvbkRpc2FibGVkXCJcblx0XHRbb3B0aW9uR3JvdXBMYWJlbF09XCJwcm9wcy5vcHRpb25Hcm91cExhYmVsXCJcblx0XHRbb3B0aW9uR3JvdXBDaGlsZHJlbl09XCJwcm9wcy5vcHRpb25Hcm91cENoaWxkcmVuID8/ICdpdGVtcydcIlxuXHRcdFtzaG93SGVhZGVyXT1cInByb3BzLnNob3dIZWFkZXIgPz8gdHJ1ZVwiXG5cdFx0W2ZpbHRlckJ5XT1cInByb3BzLmZpbHRlckJ5XCJcblx0XHRbc2Nyb2xsSGVpZ2h0XT1cInByb3BzLnNjcm9sbEhlaWdodCA/PyAnMjAwcHgnXCJcblx0XHRbbGF6eV09XCJwcm9wcy5sYXp5XCJcblx0XHRbdmlydHVhbFNjcm9sbF09XCJwcm9wcy52aXJ0dWFsU2Nyb2xsXCJcblx0XHRbbG9hZGluZ109XCJwcm9wcy5sb2FkaW5nXCJcblx0XHRbdmlydHVhbFNjcm9sbEl0ZW1TaXplXT1cInByb3BzLnZpcnR1YWxTY3JvbGxJdGVtU2l6ZVwiXG5cdFx0W2xvYWRpbmdJY29uXT1cInByb3BzLmxvYWRpbmdJY29uXCJcblx0XHRbdmlydHVhbFNjcm9sbE9wdGlvbnNdPVwicHJvcHMudmlydHVhbFNjcm9sbE9wdGlvbnNcIlxuXHRcdFtvdmVybGF5T3B0aW9uc109XCJwcm9wcy5vdmVybGF5T3B0aW9uc1wiXG5cdFx0W2FyaWFGaWx0ZXJMYWJlbF09XCJwcm9wcy5hcmlhRmlsdGVyTGFiZWxcIlxuXHRcdFtmaWx0ZXJNYXRjaE1vZGVdPVwiZ2V0RmlsdGVyTWF0Y2hNb2RlKHByb3BzLmZpbHRlck1hdGNoTW9kZSlcIlxuXHRcdFt0b29sdGlwXT1cInByb3BzLnRvb2x0aXBcIlxuXHRcdFt0b29sdGlwUG9zaXRpb25dPVwicHJvcHMudG9vbHRpcFBvc2l0aW9uID8/ICdyaWdodCdcIlxuXHRcdFt0b29sdGlwUG9zaXRpb25TdHlsZV09XCJwcm9wcy50b29sdGlwUG9zaXRpb25TdHlsZSA/PyAnYWJzb2x1dGUnXCJcblx0XHRbdG9vbHRpcFN0eWxlQ2xhc3NdPVwicHJvcHMudG9vbHRpcFN0eWxlQ2xhc3NcIlxuXHRcdFthdXRvZm9jdXNGaWx0ZXJdPVwicHJvcHMuYXV0b2ZvY3VzRmlsdGVyXCJcblx0XHRbZGlzcGxheV09XCJwcm9wcy5kaXNwbGF5ID8/ICdjb21tYSdcIlxuXHRcdFthdXRvY29tcGxldGVdPVwicHJvcHMuYXV0b2NvbXBsZXRlID8/ICdvZmYnXCJcblx0XHRbc2l6ZV09XCJwcm9wcy5zaXplXCJcblx0XHRbc2hvd0NsZWFyXT1cInByb3BzLnNob3dDbGVhclwiXG5cdFx0W2F1dG9mb2N1c109XCJwcm9wcy5hdXRvZm9jdXNcIlxuXHRcdFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlclwiXG5cdFx0W2ZpbHRlclZhbHVlXT1cInByb3BzLmZpbHRlclZhbHVlXCJcblx0XHRbc2VsZWN0QWxsXT1cInByb3BzLnNlbGVjdEFsbCA/PyBudWxsXCJcblx0XHRbZm9jdXNPbkhvdmVyXT1cInByb3BzLmZvY3VzT25Ib3ZlciA/PyB0cnVlXCJcblx0XHRbZmlsdGVyRmllbGRzXT1cInByb3BzLmZpbHRlckZpZWxkc1wiXG5cdFx0W3NlbGVjdE9uRm9jdXNdPVwicHJvcHMuc2VsZWN0T25Gb2N1c1wiXG5cdFx0W2F1dG9PcHRpb25Gb2N1c109XCJwcm9wcy5hdXRvT3B0aW9uRm9jdXNcIlxuXHRcdFtjbGFzc109XCJwcm9wcy5jbGFzc1wiXG5cdFx0W3BsYWNlaG9sZGVyXT1cInByb3BzLnBsYWNlaG9sZGVyXCJcblx0XHRbbWF4bGVuZ3RoXT1cInByb3BzLm1heGxlbmd0aFwiXG5cdFx0KG9uQ2hhbmdlKT1cInByb3BzLm9uQ2hhbmdlPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkZpbHRlcik9XCJwcm9wcy5vbkZpbHRlcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25Gb2N1cyk9XCJwcm9wcy5vbkZvY3VzPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkJsdXIpPVwicHJvcHMub25CbHVyPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkNsaWNrKT1cInByb3BzLm9uQ2xpY2s/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uQ2xlYXIpPVwicHJvcHMub25DbGVhcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25QYW5lbFNob3cpPVwicHJvcHMub25QYW5lbFNob3c/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uUGFuZWxIaWRlKT1cInByb3BzLm9uUGFuZWxIaWRlPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkxhenlMb2FkKT1cInByb3BzLm9uTGF6eUxvYWQ/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uUmVtb3ZlKT1cInByb3BzLm9uUmVtb3ZlPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblNlbGVjdEFsbENoYW5nZSk9XCJwcm9wcy5vblNlbGVjdEFsbENoYW5nZT8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHRbY2xhc3NdPVwicHJvcHMuY2xhc3NcIlxuXHRcdFtmb3JtQ29udHJvbF09XCJmaWVsZCgpIS5maWVsZENvbnRyb2whXCIgLz5gLFxuXHRzdHlsZVVybDogJy4uLy4uL3N0eWxlcy9zdHlsZXMuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0Q29tcG9uZW50IHtcblx0QFZpZXdDaGlsZChNdWx0aVNlbGVjdCwgeyBzdGF0aWM6IGZhbHNlIH0pIG11bHRpc2VsZWN0ITogTXVsdGlTZWxlY3Q7XG5cdEBWaWV3Q2hpbGQoTXVsdGlTZWxlY3QsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSBtdWx0aXNlbGVjdFJlZiE6IEVsZW1lbnRSZWY7XG5cdGZpZWxkID0gaW5wdXQ8Rm9ybUZpZWxkPigpO1xuXHRwcm9wczogTXVsdGlTZWxlY3RQcm9wcyA9IHt9O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlLFxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcblx0KSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcblx0XHRcdFx0dGhpcy5wcm9wcyA9IHRoaXMuZmllbGQoKSEubXVsdGlTZWxlY3RQcm9wcyE7XG5cdFx0XHRcdHRoaXMuaGFuZGxlSG9va0NoYW5nZSgpO1xuXHRcdFx0XHR0aGlzLmhhbmRsZURpc2FibGVkKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBsYWJlbEFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEZpZWxkTGFiZWxBY3Rpb24oKTtcblx0XHRcdFx0aWYgKCFsYWJlbEFjdGlvbiB8fCBsYWJlbEFjdGlvbj8ua2V5ICE9IHRoaXMuZmllbGQoKT8udXVpZCkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VlbnRlcicpIHtcblx0XHRcdFx0XHR0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubXVsdGlzZWxlY3RSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xuXHRcdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5tdWx0aXNlbGVjdFJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ2NsaWNrJykge1xuXHRcdFx0XHRcdGlmICghdGhpcy5tdWx0aXNlbGVjdC5vdmVybGF5VmlzaWJsZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5tdWx0aXNlbGVjdC5zaG93KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdH1cblxuXHRoYW5kbGVIb29rQ2hhbmdlKCkge1xuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5ob29rQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcblx0XHRcdGlmICghdmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5vbkhvb2tDaGFuZ2U/Lih0aGlzLmZpZWxkKCkhLCB7IHZhbHVlIH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0aGFuZGxlRGlzYWJsZWQoKSB7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5wcm9wcz8uZGlzYWJsZWQpIHtcblx0XHRcdFx0dGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0Z2V0RmlsdGVyTWF0Y2hNb2RlID0gX2dldEZpbHRlck1hdGNoTW9kZTtcbn1cbiJdfQ==