@simpleangularcontrols/sac-common 13.0.0-rc.2 → 13.0.0-rc.3

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 (82) hide show
  1. package/common/basedatetimecontrol.d.ts +33 -33
  2. package/common/basedatetimecontrol.d.ts.map +1 -1
  3. package/common/baseinputcontrol.d.ts +9 -9
  4. package/common/baseinputcontrol.d.ts.map +1 -1
  5. package/common/basemodelcontrol.d.ts +118 -90
  6. package/common/basemodelcontrol.d.ts.map +1 -1
  7. package/common/baseuploadcontrol.d.ts +140 -140
  8. package/common/baseuploadcontrol.d.ts.map +1 -1
  9. package/controls/checkbox/checkbox.d.ts +7 -3
  10. package/controls/checkbox/checkbox.d.ts.map +1 -1
  11. package/controls/checkbox/radiobuttons.d.ts +5 -4
  12. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  13. package/controls/contextmenu/contextmenu.d.ts +42 -42
  14. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  15. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  16. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  17. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  18. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  19. package/controls/datetime/date.d.ts +7 -7
  20. package/controls/datetime/date.d.ts.map +1 -1
  21. package/controls/datetime/datetime.d.ts +7 -7
  22. package/controls/datetime/datetime.d.ts.map +1 -1
  23. package/controls/datetime/time.d.ts +7 -7
  24. package/controls/datetime/time.d.ts.map +1 -1
  25. package/controls/form/form.d.ts +7 -43
  26. package/controls/form/form.d.ts.map +1 -1
  27. package/controls/input/inputdecimal.d.ts +21 -21
  28. package/controls/input/inputdecimal.d.ts.map +1 -1
  29. package/controls/layout/formlayout.d.ts +45 -0
  30. package/controls/layout/formlayout.d.ts.map +1 -0
  31. package/controls/layout/formlayout.ngfactory.d.ts +4 -0
  32. package/controls/layout/formlayout.ngfactory.d.ts.map +1 -0
  33. package/controls/layout/formlayout.ngsummary.d.ts +2 -0
  34. package/controls/layout/formlayout.ngsummary.d.ts.map +1 -0
  35. package/controls/list/dropdown.d.ts +45 -45
  36. package/controls/list/dropdown.d.ts.map +1 -1
  37. package/controls/multilanguage/multilanguageinput.d.ts +5 -4
  38. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  39. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -4
  40. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  41. package/controls/tinymce/tinymce.d.ts +63 -63
  42. package/controls/tinymce/tinymce.d.ts.map +1 -1
  43. package/esm2020/common/basedatetimecontrol.mjs +75 -81
  44. package/esm2020/common/baseinputcontrol.mjs +20 -20
  45. package/esm2020/common/basemodelcontrol.mjs +290 -211
  46. package/esm2020/common/baseuploadcontrol.mjs +208 -207
  47. package/esm2020/controls/checkbox/checkbox.mjs +11 -5
  48. package/esm2020/controls/checkbox/radiobuttons.mjs +13 -12
  49. package/esm2020/controls/contextmenu/contextmenu.mjs +75 -65
  50. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +6 -4
  51. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +6 -4
  52. package/esm2020/controls/datetime/date.mjs +12 -12
  53. package/esm2020/controls/datetime/datetime.mjs +15 -15
  54. package/esm2020/controls/datetime/time.mjs +15 -15
  55. package/esm2020/controls/form/form.mjs +17 -71
  56. package/esm2020/controls/input/inputdecimal.mjs +58 -53
  57. package/esm2020/controls/layout/formlayout.mjs +72 -0
  58. package/esm2020/controls/layout/formlayout.ngfactory.mjs +4 -0
  59. package/esm2020/controls/layout/formlayout.ngsummary.mjs +2 -0
  60. package/esm2020/controls/list/dropdown.mjs +104 -85
  61. package/esm2020/controls/multilanguage/multilanguageinput.mjs +10 -9
  62. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +10 -9
  63. package/esm2020/controls/tinymce/tinymce.mjs +84 -77
  64. package/esm2020/interfaces/ISacLabelSizes.mjs +2 -0
  65. package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +2 -0
  66. package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +2 -0
  67. package/esm2020/public_api.mjs +20 -18
  68. package/fesm2015/simpleangularcontrols-sac-common.mjs +1971 -1825
  69. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
  70. package/fesm2020/simpleangularcontrols-sac-common.mjs +1969 -1824
  71. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
  72. package/interfaces/ISacLabelSizes.d.ts +27 -0
  73. package/interfaces/ISacLabelSizes.d.ts.map +1 -0
  74. package/interfaces/ISacLabelSizes.ngfactory.d.ts +2 -0
  75. package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +1 -0
  76. package/interfaces/ISacLabelSizes.ngsummary.d.ts +2 -0
  77. package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +1 -0
  78. package/package.json +1 -1
  79. package/public_api.d.ts +19 -17
  80. package/public_api.d.ts.map +1 -1
  81. package/simpleangularcontrols-sac-common-13.0.0-rc.3.tgz +0 -0
  82. package/simpleangularcontrols-sac-common-13.0.0-rc.2.tgz +0 -0
@@ -2,47 +2,26 @@ import { Directive, Host, Input, } from '@angular/core';
2
2
  import { SacBaseSelectControl } from '../../common/baseselectcontrol';
3
3
  import { Validation } from '../../validation';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../form/form";
6
- /**
7
- * Function um ein Key Value Pair für das Dropdown zu erzeugen
8
- * @param id ID
9
- * @param value Wert der an das Element gebunden werden soll
10
- */
11
- export function _buildValueString(id, value) {
12
- // Wenn ID null ist Object zurückgeben
13
- if (id == null) {
14
- return `${value}`;
15
- }
16
- // Mapping Objekt zu String
17
- if (value && typeof value === 'object') {
18
- value = 'Object';
19
- }
20
- // String als ID
21
- return `${id}: ${value}`.slice(0, 50);
22
- }
5
+ import * as i1 from "../layout/formlayout";
6
+ // #region Classes
23
7
  /**
24
8
  * Base Dropdown Komponente
25
9
  */
26
10
  export class SacDropdownCommon extends SacBaseSelectControl {
11
+ // #endregion Properties
12
+ // #region Constructors
27
13
  /**
28
- * Konstruktor
29
- * @param parent Übergeordnetes HTML Element
30
- * @param injector Injector für Services
31
- * @param _renderer Render Engine
32
- * @param _elementRef Referenz von HTML Element
14
+ * Constructor
15
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
16
+ * @param injector Injector for injecting services
17
+ * @param renderer html rendering engine
18
+ * @param elementRef reference to html element
33
19
  */
34
- constructor(parent, injector, _renderer, _elementRef) {
35
- super(parent, injector);
36
- this._renderer = _renderer;
37
- this._elementRef = _elementRef;
38
- /**
39
- * Counter vom OptionID; default Wert = 0
40
- */
41
- this._optionIdCounter = 0;
42
- /**
43
- * OptionMap
44
- */
45
- this._optionMap = new Map();
20
+ constructor(formlayout, injector, renderer, elementRef) {
21
+ super(formlayout, injector);
22
+ this.renderer = renderer;
23
+ this.elementRef = elementRef;
24
+ // #region Properties
46
25
  /**
47
26
  * compareWith-Funktion
48
27
  */
@@ -63,7 +42,17 @@ export class SacDropdownCommon extends SacBaseSelectControl {
63
42
  * Resource Key für Validation Message Required in Validation Summary
64
43
  */
65
44
  this.validationmessagesummaryrequired = 'VALIDATION_ERROR_SUMMARY_REQUIRED';
45
+ /**
46
+ * Counter vom OptionID; default Wert = 0
47
+ */
48
+ this._optionIdCounter = 0;
49
+ /**
50
+ * OptionMap
51
+ */
52
+ this._optionMap = new Map();
66
53
  }
54
+ // #endregion Constructors
55
+ // #region Public Getters And Setters
67
56
  /**
68
57
  * compareWith-Funktion
69
58
  */
@@ -73,21 +62,8 @@ export class SacDropdownCommon extends SacBaseSelectControl {
73
62
  }
74
63
  this._compareWith = fn;
75
64
  }
76
- /**
77
- * Wert einstellen
78
- * @param value - Wert
79
- */
80
- setValue(value) {
81
- super.setValue(this.getOptionValue(value));
82
- }
83
- /**
84
- * Wert schreiben
85
- * @param value - Wert
86
- */
87
- writeValue(value) {
88
- this.setSelectedValue(value);
89
- super.writeValue(value);
90
- }
65
+ // #endregion Public Getters And Setters
66
+ // #region Public Methods
91
67
  /**
92
68
  * Registriert das OptionID-Counter als String
93
69
  */
@@ -107,23 +83,39 @@ export class SacDropdownCommon extends SacBaseSelectControl {
107
83
  }
108
84
  }
109
85
  /**
110
- * Setzt den Selected Value auf dem Control
111
- * @param value Value
86
+ * Wert einstellen
87
+ * @param value - Wert
112
88
  */
113
- setSelectedValue(value) {
114
- // Select Item aus Control lesen
115
- const selectItem = this._elementRef.nativeElement.getElementsByTagName('select')[0];
116
- /**
117
- * Id vom Select Item
118
- */
119
- const id = this.getOptionId(value);
120
- /**
121
- * Value String
122
- */
123
- const valueString = _buildValueString(id, value);
124
- if (selectItem !== undefined) {
125
- this._renderer.setProperty(selectItem, 'value', valueString);
89
+ setValue(value) {
90
+ super.setValue(this.getOptionValue(value));
91
+ }
92
+ /**
93
+ * Validator
94
+ * @param c Control Instanz
95
+ */
96
+ validateData(c) {
97
+ let error = null;
98
+ if (this.isrequired) {
99
+ error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
126
100
  }
101
+ return error;
102
+ }
103
+ /**
104
+ * Wert schreiben
105
+ * @param value - Wert
106
+ */
107
+ writeValue(value) {
108
+ this.setSelectedValue(value);
109
+ super.writeValue(value);
110
+ }
111
+ // #endregion Public Methods
112
+ // #region Private Methods
113
+ /**
114
+ * ID extrahieren
115
+ * @param valueString String bei welchem die ID Extrahiert werden soll
116
+ */
117
+ extractId(valueString) {
118
+ return valueString.split(':')[0];
127
119
  }
128
120
  /**
129
121
  * Nimmt das ID vom Option
@@ -146,45 +138,48 @@ export class SacDropdownCommon extends SacBaseSelectControl {
146
138
  return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
147
139
  }
148
140
  /**
149
- * ID extrahieren
150
- * @param valueString String bei welchem die ID Extrahiert werden soll
151
- */
152
- extractId(valueString) {
153
- return valueString.split(':')[0];
154
- }
155
- /**
156
- * Validator
157
- * @param c Control Instanz
141
+ * Setzt den Selected Value auf dem Control
142
+ * @param value Value
158
143
  */
159
- validateData(c) {
160
- let error = null;
161
- if (this.isrequired) {
162
- error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
144
+ setSelectedValue(value) {
145
+ // Select Item aus Control lesen
146
+ const selectItem = this.elementRef.nativeElement.getElementsByTagName('select')[0];
147
+ /**
148
+ * Id vom Select Item
149
+ */
150
+ const id = this.getOptionId(value);
151
+ /**
152
+ * Value String
153
+ */
154
+ const valueString = _buildValueString(id, value);
155
+ if (selectItem !== undefined) {
156
+ this.renderer.setProperty(selectItem, 'value', valueString);
163
157
  }
164
- return error;
165
158
  }
166
159
  }
167
- SacDropdownCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, deps: [{ token: i1.SacFormCommon, host: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
168
- SacDropdownCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue", comparewith: "comparewith", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired" }, usesInheritance: true, ngImport: i0 });
160
+ SacDropdownCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, deps: [{ token: i1.SacFormLayoutCommon, host: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
161
+ SacDropdownCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownCommon, inputs: { emptylabel: "emptylabel", emptyvalue: "emptyvalue", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", comparewith: "comparewith" }, usesInheritance: true, ngImport: i0 });
169
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownCommon, decorators: [{
170
163
  type: Directive
171
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon, decorators: [{
164
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutCommon, decorators: [{
172
165
  type: Host
173
166
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { emptylabel: [{
174
167
  type: Input
175
168
  }], emptyvalue: [{
176
169
  type: Input
177
- }], comparewith: [{
178
- type: Input
179
170
  }], validationmessagerequired: [{
180
171
  type: Input
181
172
  }], validationmessagesummaryrequired: [{
182
173
  type: Input
174
+ }], comparewith: [{
175
+ type: Input
183
176
  }] } });
184
177
  /**
185
178
  * SacDropdownOption-Klasse
186
179
  */
187
180
  export class SacDropdownOptionCommon {
181
+ // #endregion Properties
182
+ // #region Constructors
188
183
  /**
189
184
  * Konstruktor
190
185
  * @param _element Referenz auf HTML Element
@@ -195,6 +190,7 @@ export class SacDropdownOptionCommon {
195
190
  this._element = _element;
196
191
  this._renderer = _renderer;
197
192
  this._dropdown = _dropdown;
193
+ // #region Properties
198
194
  /**
199
195
  * ID-String
200
196
  */
@@ -203,6 +199,8 @@ export class SacDropdownOptionCommon {
203
199
  this.id = this._dropdown.registerOption();
204
200
  }
205
201
  }
202
+ // #endregion Constructors
203
+ // #region Public Getters And Setters
206
204
  /**
207
205
  * Option ngValue
208
206
  */
@@ -221,6 +219,8 @@ export class SacDropdownOptionCommon {
221
219
  set value(value) {
222
220
  this._setElementValue(value);
223
221
  }
222
+ // #endregion Public Getters And Setters
223
+ // #region Public Methods
224
224
  /**
225
225
  * Den Wert vom Option-Element einstellen
226
226
  * @param value Wert
@@ -246,4 +246,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
246
246
  }], value: [{
247
247
  type: Input
248
248
  }] } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9saXN0L2Ryb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsSUFBSSxFQUVKLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQWlCLEVBQUUsS0FBVTtJQUM3RCxzQ0FBc0M7SUFDdEMsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ2QsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO0tBQ25CO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUN0QyxLQUFLLEdBQUcsUUFBUSxDQUFDO0tBQ2xCO0lBRUQsZ0JBQWdCO0lBQ2hCLE9BQU8sR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQXlCO0lBOEM5RDs7Ozs7O09BTUc7SUFDSCxZQUNVLE1BQXFCLEVBQzdCLFFBQWtCLEVBQ1YsU0FBb0IsRUFDcEIsV0FBdUI7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhoQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBeERqQzs7V0FFRztRQUNILHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3Qjs7V0FFRztRQUNILGVBQVUsR0FB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dmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjQmFzZVNlbGVjdENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZXNlbGVjdGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHVtIGVpbiBLZXkgVmFsdWUgUGFpciBmw7xyIGRhcyBEcm9wZG93biB6dSBlcnpldWdlblxyXG4gKiBAcGFyYW0gaWQgSURcclxuICogQHBhcmFtIHZhbHVlIFdlcnQgZGVyIGFuIGRhcyBFbGVtZW50IGdlYnVuZGVuIHdlcmRlbiBzb2xsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX2J1aWxkVmFsdWVTdHJpbmcoaWQ6IHN0cmluZyB8IG51bGwsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gIC8vIFdlbm4gSUQgbnVsbCBpc3QgT2JqZWN0IHp1csO8Y2tnZWJlblxyXG4gIGlmIChpZCA9PSBudWxsKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICB9XHJcblxyXG4gIC8vIE1hcHBpbmcgT2JqZWt0IHp1IFN0cmluZ1xyXG4gIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICB2YWx1ZSA9ICdPYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RyaW5nIGFscyBJRFxyXG4gIHJldHVybiBgJHtpZH06ICR7dmFsdWV9YC5zbGljZSgwLCA1MCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNlIERyb3Bkb3duIEtvbXBvbmVudGVcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25Db21tb24gZXh0ZW5kcyBTYWNCYXNlU2VsZWN0Q29udHJvbDxhbnk+IHtcclxuICAvKipcclxuICAgKiBDb3VudGVyIHZvbSBPcHRpb25JRDsgZGVmYXVsdCBXZXJ0ID0gMFxyXG4gICAqL1xyXG4gIF9vcHRpb25JZENvdW50ZXI6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uTWFwXHJcbiAgICovXHJcbiAgX29wdGlvbk1hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIF9jb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4gPSBPYmplY3QuaXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIExhYmVsIFRleHQgZsO8ciBFbXB0eSBJdGVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgZW1wdHlsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGVtcHR5dmFsdWU6IHN0cmluZyA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBjb21wYXJld2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KGZuKX1gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gJ1ZBTElEQVRJT05fRVJST1JfUkVRVUlSRUQnO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIHBhcmVudCDDnGJlcmdlb3JkbmV0ZXMgSFRNTCBFbGVtZW50XHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGbDvHIgU2VydmljZXNcclxuICAgKiBAcGFyYW0gX3JlbmRlcmVyIFJlbmRlciBFbmdpbmVcclxuICAgKiBAcGFyYW0gX2VsZW1lbnRSZWYgUmVmZXJlbnogdm9uIEhUTUwgRWxlbWVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwYXJlbnQ6IFNhY0Zvcm1Db21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IGVpbnN0ZWxsZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBzY2hyZWliZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdHJpZXJ0IGRhcyBPcHRpb25JRC1Db3VudGVyIGFscyBTdHJpbmdcclxuICAgKi9cclxuICByZWdpc3Rlck9wdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLl9vcHRpb25JZENvdW50ZXIrKykudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIHZvbiBPcHRpb25zIGF1ZmdlcnVmZW4gd2lyZCwgdW0gZGFzIE1hcHBpbmcgendpc2NoZW4gRHJvcGRvd24gVmFsdWUgdW5kIFZhbHVlIGhlcnp1c3RlbGxlbi5cclxuICAgKiBAcGFyYW0gaWQ6IElkIGF1cyBPcHRpb25zXHJcbiAgICogQHBhcmFtIHZhbHVlOiBWYWx1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRPcHRpb25NYXAoaWQ6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3B0aW9uTWFwLnNldChpZCwgdmFsdWUpO1xyXG5cclxuICAgIC8vIFNlbGVjdGVkIFZhbHVlIGF1ZiBDb250cm9sIGFrdHVhbGlzaWVyZW4sIHdlbm4gVmFsdWUgZGVtIFNlbGVjdGVkVmFsdWUgZW50c3ByaWNodFxyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkZW4gU2VsZWN0ZWQgVmFsdWUgYXVmIGRlbSBDb250cm9sXHJcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFNlbGVjdCBJdGVtIGF1cyBDb250cm9sIGxlc2VuXHJcbiAgICBjb25zdCBzZWxlY3RJdGVtOiBhbnkgPVxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZCB2b20gU2VsZWN0IEl0ZW1cclxuICAgICAqL1xyXG4gICAgY29uc3QgaWQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLmdldE9wdGlvbklkKHZhbHVlKTtcclxuICAgIC8qKlxyXG4gICAgICogVmFsdWUgU3RyaW5nXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gX2J1aWxkVmFsdWVTdHJpbmcoaWQsIHZhbHVlKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0SXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5pbW10IGRhcyBJRCB2b20gT3B0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRPcHRpb25JZCh2YWx1ZTogYW55KTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBmb3IgKGNvbnN0IGlkIG9mIEFycmF5LmZyb20odGhpcy5fb3B0aW9uTWFwLmtleXMoKSkpIHtcclxuICAgICAgaWYgKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpLCB2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSUQgZXh0cmFoaWVyZW5cclxuICAgKiBAcGFyYW0gdmFsdWVTdHJpbmcgU3RyaW5nIGJlaSB3ZWxjaGVtIGRpZSBJRCBFeHRyYWhpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBleHRyYWN0SWQodmFsdWVTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdmFsdWVTdHJpbmcuc3BsaXQoJzonKVswXTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLnJlcXVpcmVkKFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2FjRHJvcGRvd25PcHRpb24tS2xhc3NlXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3Bkb3duT3B0aW9uQ29tbW9uIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBJRC1TdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGlkOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIF9lbGVtZW50IFJlZmVyZW56IGF1ZiBIVE1MIEVsZW1lbnRcclxuICAgKiBAcGFyYW0gX3JlbmRlcmVyIFJlbmRlciBFbmdpbmVcclxuICAgKiBAcGFyYW0gX2Ryb3Bkb3duIERyb3Bkb3duIEluc3RhbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfZHJvcGRvd246IFNhY0Ryb3Bkb3duQ29tbW9uXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24pIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuX2Ryb3Bkb3duLnJlZ2lzdGVyT3B0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcHRpb24gbmdWYWx1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgLy8gQ2FuY2VsIHdlbm4ga2VpbiBQYXJlbnQgRHJvcGRvd24gdm9yaGFuZGVuXHJcbiAgICBpZiAodGhpcy5fZHJvcGRvd24gPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZHJvcGRvd24uc2V0T3B0aW9uTWFwKHRoaXMuaWQsIHZhbHVlKTtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZShfYnVpbGRWYWx1ZVN0cmluZyh0aGlzLmlkLCB2YWx1ZSkpO1xyXG5cclxuICAgIHRoaXMuX2Ryb3Bkb3duLndyaXRlVmFsdWUodGhpcy5fZHJvcGRvd24udmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBXZXJ0LVNldHRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIERlbiBXZXJ0IHZvbSBPcHRpb24tRWxlbWVudCBlaW5zdGVsbGVuXHJcbiAgICogQHBhcmFtIHZhbHVlIFdlcnRcclxuICAgKi9cclxuICBfc2V0RWxlbWVudFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkRlc3Ryb3kgRXZlbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bi5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
249
+ // #endregion Classes
250
+ // #region Functions
251
+ /**
252
+ * Function um ein Key Value Pair für das Dropdown zu erzeugen
253
+ * @param id ID
254
+ * @param value Wert der an das Element gebunden werden soll
255
+ */
256
+ export function _buildValueString(id, value) {
257
+ // Wenn ID null ist Object zurückgeben
258
+ if (id == null) {
259
+ return `${value}`;
260
+ }
261
+ // Mapping Objekt zu String
262
+ if (value && typeof value === 'object') {
263
+ value = 'Object';
264
+ }
265
+ // String als ID
266
+ return `${id}: ${value}`.slice(0, 50);
267
+ }
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy9saXN0L2Ryb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsSUFBSSxFQUVKLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5QyxrQkFBa0I7QUFFbEI7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQXlCO0lBcUM5RCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ1UsVUFBK0IsRUFDdkMsUUFBa0IsRUFDVixRQUFtQixFQUNuQixVQUFzQjtRQUU5QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSHBCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQW5EaEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ssaUJBQVksR0FBa0MsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUVoRTs7V0FFRztRQUNhLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEM7O1dBRUc7UUFDYSxlQUFVLEdBQVcsSUFBSSxDQUFDO1FBQzFDOztXQUVHO1FBQ2EsOEJBQXlCLEdBQ3ZDLDJCQUEyQixDQUFDO1FBQzlCOztXQUVHO1FBRUkscUNBQWdDLEdBQ3JDLG1DQUFtQyxDQUFDO1FBRXRDOztXQUVHO1FBQ0kscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQ3BDOztXQUVHO1FBQ0ksZUFBVSxHQUFxQixJQUFJLEdBQUcsRUFBZSxDQUFDO0lBb0I3RCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7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LEdBQUcsS0FBSyxFQUFFLENBQUM7S0FDbkI7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ3RDLEtBQUssR0FBRyxRQUFRLENBQUM7S0FDbEI7SUFFRCxnQkFBZ0I7SUFDaEIsT0FBTyxHQUFHLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNCYXNlU2VsZWN0Q29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlc2VsZWN0Y29udHJvbCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcclxuXHJcbi8vICNyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgRHJvcGRvd24gS29tcG9uZW50ZVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNEcm9wZG93bkNvbW1vbiBleHRlbmRzIFNhY0Jhc2VTZWxlY3RDb250cm9sPGFueT4ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgVGV4dCBmw7xyIEVtcHR5IEl0ZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW1wdHlsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eXZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfUkVRVUlSRUQnO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUkVRVUlSRUQnO1xyXG5cclxuICAvKipcclxuICAgKiBDb3VudGVyIHZvbSBPcHRpb25JRDsgZGVmYXVsdCBXZXJ0ID0gMFxyXG4gICAqL1xyXG4gIHB1YmxpYyBfb3B0aW9uSWRDb3VudGVyOiBudW1iZXIgPSAwO1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbk1hcFxyXG4gICAqL1xyXG4gIHB1YmxpYyBfb3B0aW9uTWFwOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIGh0bWwgcmVuZGVyaW5nIGVuZ2luZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIHJlZmVyZW5jZSB0byBodG1sIGVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbixcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjb21wYXJld2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KGZuKX1gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdHJpZXJ0IGRhcyBPcHRpb25JRC1Db3VudGVyIGFscyBTdHJpbmdcclxuICAgKi9cclxuICBwdWJsaWMgcmVnaXN0ZXJPcHRpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5fb3B0aW9uSWRDb3VudGVyKyspLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGRpZSB2b24gT3B0aW9ucyBhdWZnZXJ1ZmVuIHdpcmQsIHVtIGRhcyBNYXBwaW5nIHp3aXNjaGVuIERyb3Bkb3duIFZhbHVlIHVuZCBWYWx1ZSBoZXJ6dXN0ZWxsZW4uXHJcbiAgICogQHBhcmFtIGlkOiBJZCBhdXMgT3B0aW9uc1xyXG4gICAqIEBwYXJhbSB2YWx1ZTogVmFsdWVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0T3B0aW9uTWFwKGlkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29wdGlvbk1hcC5zZXQoaWQsIHZhbHVlKTtcclxuXHJcbiAgICAvLyBTZWxlY3RlZCBWYWx1ZSBhdWYgQ29udHJvbCBha3R1YWxpc2llcmVuLCB3ZW5uIFZhbHVlIGRlbSBTZWxlY3RlZFZhbHVlIGVudHNwcmljaHRcclxuICAgIGlmICh0aGlzLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBlaW5zdGVsbGVuXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gV2VydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBzdXBlci5zZXRWYWx1ZSh0aGlzLmdldE9wdGlvblZhbHVlKHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3JcclxuICAgKiBAcGFyYW0gYyBDb250cm9sIEluc3RhbnpcclxuICAgKi9cclxuICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLnJlcXVpcmVkKFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZCxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkXHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IHNjaHJlaWJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIElEIGV4dHJhaGllcmVuXHJcbiAgICogQHBhcmFtIHZhbHVlU3RyaW5nIFN0cmluZyBiZWkgd2VsY2hlbSBkaWUgSUQgRXh0cmFoaWVydCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXh0cmFjdElkKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHZhbHVlU3RyaW5nLnNwbGl0KCc6JylbMF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOaW1tdCBkYXMgSUQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uSWQodmFsdWU6IGFueSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgZm9yIChjb25zdCBpZCBvZiBBcnJheS5mcm9tKHRoaXMuX29wdGlvbk1hcC5rZXlzKCkpKSB7XHJcbiAgICAgIGlmICh0aGlzLl9jb21wYXJlV2l0aCh0aGlzLl9vcHRpb25NYXAuZ2V0KGlkKSwgdmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGlkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5pbW10IGRlbiBTdHJpbmctV2VydCB2b20gT3B0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlU3RyaW5nXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRPcHRpb25WYWx1ZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgPSB0aGlzLmV4dHJhY3RJZCh2YWx1ZVN0cmluZyk7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uTWFwLmhhcyhpZCkgPyB0aGlzLl9vcHRpb25NYXAuZ2V0KGlkKSA6IHZhbHVlU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGVuIFNlbGVjdGVkIFZhbHVlIGF1ZiBkZW0gQ29udHJvbFxyXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAvLyBTZWxlY3QgSXRlbSBhdXMgQ29udHJvbCBsZXNlblxyXG4gICAgY29uc3Qgc2VsZWN0SXRlbTogYW55ID1cclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJZCB2b20gU2VsZWN0IEl0ZW1cclxuICAgICAqL1xyXG4gICAgY29uc3QgaWQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLmdldE9wdGlvbklkKHZhbHVlKTtcclxuICAgIC8qKlxyXG4gICAgICogVmFsdWUgU3RyaW5nXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gX2J1aWxkVmFsdWVTdHJpbmcoaWQsIHZhbHVlKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0SXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoc2VsZWN0SXRlbSwgJ3ZhbHVlJywgdmFsdWVTdHJpbmcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG5cclxuLyoqXHJcbiAqIFNhY0Ryb3Bkb3duT3B0aW9uLUtsYXNzZVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNEcm9wZG93bk9wdGlvbkNvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIElELVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaWQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBfZWxlbWVudCBSZWZlcmVueiBhdWYgSFRNTCBFbGVtZW50XHJcbiAgICogQHBhcmFtIF9yZW5kZXJlciBSZW5kZXIgRW5naW5lXHJcbiAgICogQHBhcmFtIF9kcm9wZG93biBEcm9wZG93biBJbnN0YW56XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX2Ryb3Bkb3duOiBTYWNEcm9wZG93bkNvbW1vblxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuX2Ryb3Bkb3duKSB7XHJcbiAgICAgIHRoaXMuaWQgPSB0aGlzLl9kcm9wZG93bi5yZWdpc3Rlck9wdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb24gbmdWYWx1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBuZ1ZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIC8vIENhbmNlbCB3ZW5uIGtlaW4gUGFyZW50IERyb3Bkb3duIHZvcmhhbmRlblxyXG4gICAgaWYgKHRoaXMuX2Ryb3Bkb3duID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2Ryb3Bkb3duLnNldE9wdGlvbk1hcCh0aGlzLmlkLCB2YWx1ZSk7XHJcbiAgICB0aGlzLl9zZXRFbGVtZW50VmFsdWUoX2J1aWxkVmFsdWVTdHJpbmcodGhpcy5pZCwgdmFsdWUpKTtcclxuXHJcbiAgICB0aGlzLl9kcm9wZG93bi53cml0ZVZhbHVlKHRoaXMuX2Ryb3Bkb3duLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQtU2V0dGVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogRGVuIFdlcnQgdm9tIE9wdGlvbi1FbGVtZW50IGVpbnN0ZWxsZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBfc2V0RWxlbWVudFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT25EZXN0cm95IEV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2Ryb3Bkb3duKSB7XHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duLl9vcHRpb25NYXAuZGVsZXRlKHRoaXMuaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcblxyXG4vLyAjZW5kcmVnaW9uIENsYXNzZXNcclxuXHJcbi8vICNyZWdpb24gRnVuY3Rpb25zXHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdW0gZWluIEtleSBWYWx1ZSBQYWlyIGbDvHIgZGFzIERyb3Bkb3duIHp1IGVyemV1Z2VuXHJcbiAqIEBwYXJhbSBpZCBJRFxyXG4gKiBAcGFyYW0gdmFsdWUgV2VydCBkZXIgYW4gZGFzIEVsZW1lbnQgZ2VidW5kZW4gd2VyZGVuIHNvbGxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfYnVpbGRWYWx1ZVN0cmluZyhpZDogc3RyaW5nIHwgbnVsbCwgdmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgLy8gV2VubiBJRCBudWxsIGlzdCBPYmplY3QgenVyw7xja2dlYmVuXHJcbiAgaWYgKGlkID09IG51bGwpIHtcclxuICAgIHJldHVybiBgJHt2YWx1ZX1gO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFwcGluZyBPYmpla3QgenUgU3RyaW5nXHJcbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgIHZhbHVlID0gJ09iamVjdCc7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJpbmcgYWxzIElEXHJcbiAgcmV0dXJuIGAke2lkfTogJHt2YWx1ZX1gLnNsaWNlKDAsIDUwKTtcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBGdW5jdGlvbnNcclxuIl19
@@ -1,20 +1,21 @@
1
1
  import { Directive, Host, Input } from '@angular/core';
2
2
  import { SacInputBase } from '../../common/baseinputcontrol';
3
3
  import { IconType } from '../../enums/IconType';
4
- import { SacDefaultLanguageService, SACLANGUAGE_SERVICE, } from '../../services/sac-language.service';
4
+ import { SACLANGUAGE_SERVICE, SacDefaultLanguageService, } from '../../services/sac-language.service';
5
5
  import { Validation } from '../../validation';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../form/form";
7
+ import * as i1 from "../layout/formlayout";
8
8
  /**
9
9
  * Base Klasse für Multi Language Input Control
10
10
  */
11
11
  export class SacMultilanguageInputCommon extends SacInputBase {
12
12
  /**
13
- * Konstruktor
14
- * Inject des Formulars
13
+ * Constructor
14
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
15
+ * @param injector Injector for injecting services
15
16
  */
16
- constructor(parent, injector) {
17
- super(parent, injector);
17
+ constructor(formlayout, injector) {
18
+ super(formlayout, injector);
18
19
  /**
19
20
  * Max länge an Zeichen für Eingabefeld
20
21
  */
@@ -204,11 +205,11 @@ export class SacMultilanguageInputCommon extends SacInputBase {
204
205
  return error;
205
206
  }
206
207
  }
207
- SacMultilanguageInputCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, deps: [{ token: i1.SacFormCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
208
+ SacMultilanguageInputCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, deps: [{ token: i1.SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
208
209
  SacMultilanguageInputCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacMultilanguageInputCommon, inputs: { maxlength: "maxlength", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 });
209
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputCommon, decorators: [{
210
211
  type: Directive
211
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon, decorators: [{
212
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutCommon, decorators: [{
212
213
  type: Host
213
214
  }] }, { type: i0.Injector }]; }, propDecorators: { maxlength: [{
214
215
  type: Input
@@ -225,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
225
226
  }], validationmessagesummaryrequiredany: [{
226
227
  type: Input
227
228
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5Qzs7R0FFRztBQUVILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxZQUFpQjtJQStDaEU7OztPQUdHO0lBQ0gsWUFBb0IsTUFBcUIsRUFBRSxRQUFrQjtRQUMzRCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBbkQxQjs7V0FFRztRQUNNLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUVyQzs7V0FFRztRQUNNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRXRDOztXQUVHO1FBQ00sOEJBQXlCLEdBQ2hDLHdDQUF3QyxDQUFDO1FBRTNDOztXQUVHO1FBRUgscUNBQWdDLEdBQzlCLGdEQUFnRCxDQUFDO1FBRW5EOztXQUVHO1FBQ00saUNBQTRCLEdBQ25DLDJDQUEyQyxDQUFDO1FBRTlDOztXQUVHO1FBRUgsd0NBQW1DLEdBQ2pDLG1EQUFtRCxDQUFDO1FBZ0N0RDs7V0FFRztRQUNLLGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ3hDOztXQUVHO1FBQ0sscUJB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QUksQ0FBQyxVQUFVLEtBQUssU0FBUztZQUM3QixJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFDeEI7WUFDQSxLQUFLLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUN0QyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLGdDQUFnQyxDQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUNFLEtBQUssS0FBSyxJQUFJO1lBQ2QsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJO1lBQ2hCLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUztZQUNyQixDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQ3pCO1lBQ0EsS0FBSyxHQUFHLFVBQVUsQ0FBQyx3QkFBd0IsQ0FDekMsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsNEJBQTRCLEVBQ2pDLElBQUksQ0FBQyxtQ0FBbUMsQ0FDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzt3SEF6UFUsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsU0FBUzs7MEJBb0RLLElBQUk7bUVBL0NSLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFPTixnQ0FBZ0M7c0JBRC9CLEtBQUs7Z0JBT0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQU9OLG1DQUFtQztzQkFEbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VpbnB1dGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL0ljb25UeXBlJztcclxuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XHJcbmltcG9ydCB7IExhbmd1YWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSxcclxuICBTQUNMQU5HVUFHRV9TRVJWSUNFLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtQ29tbW9uIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIEtsYXNzZSBmw7xyIE11bHRpIExhbmd1YWdlIElucHV0IENvbnRyb2xcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIE1heCBsw6RuZ2UgYW4gWmVpY2hlbiBmw7xyIEVpbmdhYmVmZWxkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBGaXggYnJlaXRlIGbDvHIgZGFzIENvbnRyb2wgZGVmaW5pZXJlbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sd2lkdGg6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdGl2aWVydCBkZW4gVmFsaWRhdG9yLCBkYXMgbWluLiBlaW5lIFNwcmFjaGUgZXJmYXNzdCBzZWluIG11c3NcclxuICAgKi9cclxuICBASW5wdXQoKSByZXF1aXJlZGFueTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEJztcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueTogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgZsO8ciBFcnJvciBMb2NhbGlzYXRpb25cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbG5nTGFuZ3VhZ2VTZXJ2aWNlOiBJU2FjTGFuZ3VhZ2VTZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwYXJlbnQ6IFNhY0Zvcm1Db21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlKClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2VcclxuICAgICAgLkdldExhbmd1YWdlcygpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlc1swXTtcclxuICAgICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cclxuICAgICAgICAgIHRoaXMuVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcHJhY2hlIGbDvHIgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gZGVyIFNwcmFjaGVuXHJcbiAgICovXHJcbiAgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gVHlwZSBkZXMgSWNvbnMgZsO8ciBkaWUgc2VsZWt0aWVydGUgU3ByYWNoZSB6dXLDvGNrXHJcbiAgICovXHJcbiAgZ2V0IFNlbGVjdGVkSWNvblR5cGUoKTogSWNvblR5cGUge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEljb25UeXBlLkltYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gV2VydCBkZXIgYWt0dWVsbCBhdXNnZXfDpGhsdGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBMYW5ndWFnZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBXZXJ0IGbDvHIgZGllIGFrdHVlbGwgZ2V3w6RobHRlIFNwcmFjaGVcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc2V0enQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2V0TGFuZ3VhZ2VWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxla3RpZXJ0IGRpZSBTcHJhY2hlXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlIFNwcmFjaGUgZGllIHNlbGVrdGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlTW9kZWwpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGluIGVpbmVyIGJlc3RpbW10ZW4gU3ByYWNoZSBlaW4gV2VydCB2b3JoYW5kZW4gaXN0LlxyXG4gICAqIEBwYXJhbSBzcHJhY2hlIFNwcmFjaGUgaW4gd2VsY2hlciBkZXIgV2VydCBnZXByw7xmdCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIFdlcnQgaXN0IHZvcmhhbmRlblxyXG4gICAqL1xyXG4gIHB1YmxpYyBJc0VtcHR5KHNwcmFjaGU6IExhbmd1YWdlTW9kZWwpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKHNwcmFjaGUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gJycgfHxcclxuICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IG51bGxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGluIGlyZ2VuZGVpbmVyIFNwcmFjaGUga2VpbiBXZXJ0IGRlZmluaWVydCB3dXJkZVxyXG4gICAqIEByZXR1cm5zIExlZXJ3ZXJ0IGlzdCB2b3JoYW5kZW5cclxuICAgKi9cclxuICBwdWJsaWMgSXNBbnlFbXB0eSgpOiBib29sZWFuIHtcclxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VzLmZvckVhY2goKGl0bTogTGFuZ3VhZ2VNb2RlbCkgPT4ge1xyXG4gICAgICAgIGlmIChpdG0gPT09IG51bGwpIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSAnJyB8fFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IG51bGxcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvdW5kO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB2YWxpZGllcnQsIG9iIGRlciBXZXJ0IGRlbiBnZWdlYmVuZW4gS3JpdGVyaWVuIGVudHNwcmljaHRcclxuICAgKiBAcGFyYW0gYyBDb250cm9sIGRhcyB2YWxpZGllcnQgd2lyZFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkID09PSB0cnVlXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgICAgICB0aGlzLmxhbmd1YWdlcyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5yZXF1aXJlZGFueSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMucmVxdWlyZWRhbnkgPT09IHRydWVcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55XHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxufVxyXG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5Qzs7R0FFRztBQUVILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxZQUFpQjtJQStDaEU7Ozs7T0FJRztJQUNILFlBQW9CLFVBQStCLEVBQUUsUUFBa0I7UUFDckUsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQXBEOUI7O1dBRUc7UUFDTSxjQUFTLEdBQVcsSUFBSSxDQUFDO1FBRWxDOztXQUVHO1FBQ00saUJBQVksR0FBVyxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDTSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV0Qzs7V0FFRztRQUNNLDhCQUF5QixHQUNoQyx3Q0FBd0MsQ0FBQztRQUUzQzs7V0FFRztRQUVILHFDQUFnQyxHQUM5QixnREFBZ0QsQ0FBQztRQUVuRDs7V0FFRztRQUNNLGlDQUE0QixHQUNuQywyQ0FBMkMsQ0FBQztRQUU5Qzs7V0FFRztRQUVILHdDQUFtQyxHQUNqQyxtREFBbUQsQ0FBQztRQWlDdEQ7O1dBRUc7UUFDSyxjQUFTLEdBQW9CLEVBQUUsQ0FBQztRQUN4Qzs7V0FFRztRQUNLLHFC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QUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQ3hCO1lBQ0EsS0FBSyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FDdEMsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFDRSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTO1lBQzlCLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUN6QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLDRCQUE0QixFQUNqQyxJQUFJLENBQUMsbUNBQW1DLENBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7d0hBMVBVLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7OzBCQXFESyxJQUFJO21FQWhEUixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBT04sZ0NBQWdDO3NCQUQvQixLQUFLO2dCQU9HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFPTixtQ0FBbUM7c0JBRGxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0QmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sJztcclxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9JY29uVHlwZSc7XHJcbmltcG9ydCB7IElTYWNMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMYW5ndWFnZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xhbmd1YWdlbW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIFNBQ0xBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSxcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIEtsYXNzZSBmw7xyIE11bHRpIExhbmd1YWdlIElucHV0IENvbnRyb2xcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIE1heCBsw6RuZ2UgYW4gWmVpY2hlbiBmw7xyIEVpbmdhYmVmZWxkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBGaXggYnJlaXRlIGbDvHIgZGFzIENvbnRyb2wgZGVmaW5pZXJlbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sd2lkdGg6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdGl2aWVydCBkZW4gVmFsaWRhdG9yLCBkYXMgbWluLiBlaW5lIFNwcmFjaGUgZXJmYXNzdCBzZWluIG11c3NcclxuICAgKi9cclxuICBASW5wdXQoKSByZXF1aXJlZGFueTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEJztcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueTogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgZsO8ciBFcnJvciBMb2NhbGlzYXRpb25cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbG5nTGFuZ3VhZ2VTZXJ2aWNlOiBJU2FjTGFuZ3VhZ2VTZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlKClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5sbmdMYW5ndWFnZVNlcnZpY2VcclxuICAgICAgLkdldExhbmd1YWdlcygpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlc1swXTtcclxuICAgICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cclxuICAgICAgICAgIHRoaXMuVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcHJhY2hlIGbDvHIgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gZGVyIFNwcmFjaGVuXHJcbiAgICovXHJcbiAgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gVHlwZSBkZXMgSWNvbnMgZsO8ciBkaWUgc2VsZWt0aWVydGUgU3ByYWNoZSB6dXLDvGNrXHJcbiAgICovXHJcbiAgZ2V0IFNlbGVjdGVkSWNvblR5cGUoKTogSWNvblR5cGUge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEljb25UeXBlLkltYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gV2VydCBkZXIgYWt0dWVsbCBhdXNnZXfDpGhsdGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBMYW5ndWFnZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBXZXJ0IGbDvHIgZGllIGFrdHVlbGwgZ2V3w6RobHRlIFNwcmFjaGVcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc2V0enQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2V0TGFuZ3VhZ2VWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnZhbHVlW2N1cnJlbnRJc29Db2RlXSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxla3RpZXJ0IGRpZSBTcHJhY2hlXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlIFNwcmFjaGUgZGllIHNlbGVrdGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlTW9kZWwpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGluIGVpbmVyIGJlc3RpbW10ZW4gU3ByYWNoZSBlaW4gV2VydCB2b3JoYW5kZW4gaXN0LlxyXG4gICAqIEBwYXJhbSBzcHJhY2hlIFNwcmFjaGUgaW4gd2VsY2hlciBkZXIgV2VydCBnZXByw7xmdCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIFdlcnQgaXN0IHZvcmhhbmRlblxyXG4gICAqL1xyXG4gIHB1YmxpYyBJc0VtcHR5KHNwcmFjaGU6IExhbmd1YWdlTW9kZWwpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKHNwcmFjaGUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gJycgfHxcclxuICAgICAgICB0aGlzLnZhbHVlW3NwcmFjaGUuSXNvQ29kZV0gPT09IG51bGxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHLDvGZ0IG9iIGluIGlyZ2VuZGVpbmVyIFNwcmFjaGUga2VpbiBXZXJ0IGRlZmluaWVydCB3dXJkZVxyXG4gICAqIEByZXR1cm5zIExlZXJ3ZXJ0IGlzdCB2b3JoYW5kZW5cclxuICAgKi9cclxuICBwdWJsaWMgSXNBbnlFbXB0eSgpOiBib29sZWFuIHtcclxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VzLmZvckVhY2goKGl0bTogTGFuZ3VhZ2VNb2RlbCkgPT4ge1xyXG4gICAgICAgIGlmIChpdG0gPT09IG51bGwpIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgIHRoaXMudmFsdWVbaXRtLklzb0NvZGVdID09PSAnJyB8fFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IG51bGxcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvdW5kO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB2YWxpZGllcnQsIG9iIGRlciBXZXJ0IGRlbiBnZWdlYmVuZW4gS3JpdGVyaWVuIGVudHNwcmljaHRcclxuICAgKiBAcGFyYW0gYyBDb250cm9sIGRhcyB2YWxpZGllcnQgd2lyZFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkID09PSB0cnVlXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgICAgICB0aGlzLmxhbmd1YWdlcyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5yZXF1aXJlZGFueSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMucmVxdWlyZWRhbnkgPT09IHRydWVcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55XHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,20 +1,21 @@
1
1
  import { Directive, Host, Input } from '@angular/core';
2
2
  import { SacInputBase } from '../../common/baseinputcontrol';
3
3
  import { IconType } from '../../enums/IconType';
4
- import { SacDefaultLanguageService, SACLANGUAGE_SERVICE, } from '../../services/sac-language.service';
4
+ import { SACLANGUAGE_SERVICE, SacDefaultLanguageService, } from '../../services/sac-language.service';
5
5
  import { Validation } from '../../validation';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../form/form";
7
+ import * as i1 from "../layout/formlayout";
8
8
  /**
9
9
  * Base Klasse für Multi Language Textarea Control
10
10
  */
11
11
  export class SacMultilanguageInputAreaCommon extends SacInputBase {
12
12
  /**
13
- * Konstruktor
14
- * Inject des Formulars
13
+ * Constructor
14
+ * @param formlayout SacFormLayoutCommon to define scoped layout settings
15
+ * @param injector Injector for injecting services
15
16
  */
16
- constructor(parent, injector) {
17
- super(parent, injector);
17
+ constructor(formlayout, injector) {
18
+ super(formlayout, injector);
18
19
  /**
19
20
  * Max länge an Zeichen für Eingabefeld
20
21
  */
@@ -204,11 +205,11 @@ export class SacMultilanguageInputAreaCommon extends SacInputBase {
204
205
  return error;
205
206
  }
206
207
  }
207
- SacMultilanguageInputAreaCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, deps: [{ token: i1.SacFormCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
208
+ SacMultilanguageInputAreaCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, deps: [{ token: i1.SacFormLayoutCommon, host: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
208
209
  SacMultilanguageInputAreaCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacMultilanguageInputAreaCommon, inputs: { maxlength: "maxlength", rows: "rows", controlwidth: "controlwidth", requiredany: "requiredany", validationmessagerequired: "validationmessagerequired", validationmessagesummaryrequired: "validationmessagesummaryrequired", validationmessagerequiredany: "validationmessagerequiredany", validationmessagesummaryrequiredany: "validationmessagesummaryrequiredany" }, usesInheritance: true, ngImport: i0 });
209
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacMultilanguageInputAreaCommon, decorators: [{
210
211
  type: Directive
211
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon, decorators: [{
212
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutCommon, decorators: [{
212
213
  type: Host
213
214
  }] }, { type: i0.Injector }]; }, propDecorators: { maxlength: [{
214
215
  type: Input
@@ -227,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
227
228
  }], validationmessagesummaryrequiredany: [{
228
229
  type: Input
229
230
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLG1CQUFtQixHQUNwQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRzlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLFlBQWlCO0lBZ0RwRTs7O09BR0c7SUFDSCxZQUFvQixNQUFxQixFQUFFLFFBQWtCO1FBQzNELEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFwRDFCOztXQUVHO1FBQ00sY0FBUyxHQUFXLElBQUksQ0FBQztRQUVsQzs7V0FFRztRQUNNLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFMUI7O1dBRUc7UUFDTSxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUVyQzs7V0FFRztRQUNNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRXRDOztXQUVHO1FBQ00sOEJBQXlCLEdBQ2hDLHdDQUF3QyxDQUFDO1FBQzNDOztXQUVHO1FBQ00scUNBQWdDLEdBQ3ZDLGdEQUFnRCxDQUFDO1FBRW5EOztXQUVHO1FBQ00saUNBQTRCLEdBQ25DLDJDQUEyQyxDQUFDO1FBQzlDOztXQUVHO1FBQ00sd0NBQW1DLEdBQzFDLG1EQUFtRCxDQUFDO1FBZ0N0RDs7V0FFRztR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QUFJLEVBQ3hCO1lBQ0EsS0FBSyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FDdEMsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFDRSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTO1lBQzlCLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUN6QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLDRCQUE0QixFQUNqQyxJQUFJLENBQUMsbUNBQW1DLENBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEhBdlBVLCtCQUErQjtnSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7OzBCQXFESyxJQUFJO21FQWhEUixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUtHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFNRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBS0csbUNBQW1DO3NCQUEzQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dEJhc2UgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZWlucHV0Y29udHJvbCc7XHJcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvSWNvblR5cGUnO1xyXG5pbXBvcnQgeyBJU2FjTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTGFuZ3VhZ2VTZXJ2aWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9sYW5ndWFnZW1vZGVsJztcclxuaW1wb3J0IHtcclxuICBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIFNBQ0xBTkdVQUdFX1NFUlZJQ0UsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWxhbmd1YWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgS2xhc3NlIGbDvHIgTXVsdGkgTGFuZ3VhZ2UgVGV4dGFyZWEgQ29udHJvbFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIE1heCBsw6RuZ2UgYW4gWmVpY2hlbiBmw7xyIEVpbmdhYmVmZWxkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBBbnphaGwgUm93cyBmw7xyIFRleHRBcmVhXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93czogbnVtYmVyID0gNztcclxuXHJcbiAgLyoqXHJcbiAgICogRml4IGJyZWl0ZSBmw7xyIGRhcyBDb250cm9sIGRlZmluaWVyZW4uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29udHJvbHdpZHRoOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgZGVuIFZhbGlkYXRvciwgZGFzIG1pbi4gZWluZSBTcHJhY2hlIGVyZmFzc3Qgc2VpbiBtdXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVxdWlyZWRhbnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRUQnO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUGF0dGVybiBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlknO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55OiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlknO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGxuZ0xhbmd1YWdlU2VydmljZTogSVNhY0xhbmd1YWdlU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBJbmplY3QgZGVzIEZvcm11bGFyc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcGFyZW50OiBTYWNGb3JtQ29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMubG5nTGFuZ3VhZ2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSgpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubG5nTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgIC5HZXRMYW5ndWFnZXMoKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IExhbmd1YWdlTW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gcmVzdWx0O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cclxuICAgICAgICB0aGlzLlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcHJhY2hlIGbDvHIgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gZGVyIFNwcmFjaGVuXHJcbiAgICovXHJcbiAgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gVHlwZSBkZXMgSWNvbnMgZsO8ciBkaWUgc2VsZWt0aWVydGUgU3ByYWNoZSB6dXLDvGNrXHJcbiAgICovXHJcbiAgZ2V0IFNlbGVjdGVkSWNvblR5cGUoKTogSWNvblR5cGUge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEljb25UeXBlLkltYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIHdlbGNoZXIgZGVuIFdlcnQgZGVyIENvbXBvbmVudCBpbiBkZXIgZ2V3w6RobHRlbiBTcHJhY2hlIHp1csO8Y2tnaWJ0LiBXZW5uIGtlaW5lIFNwcmFjaGUgc2VsZWt0aWVydCBpc3QsIHdpcmQgZWluIGxlZXJlciBXZXJ0IHp1csO8Y2tnZWdlYmVuLlxyXG4gICAqIElzdCBpbiBkZXIgQ29tcG9uZW50IGtlaW4gV2VydCBnZXNwZWljaGVydCB3aXJkIGVpbiBsZWVyZXIgV2VydCB6dXLDvGNrZ2VnZWJlblxyXG4gICAqL1xyXG4gIGdldCBMYW5ndWFnZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcGVpY2hlcnQgZWluZW4gV2VydCB6dXIgYWt0dWVsbCBnZXfDpGhsdGVuIFNwcmFjaGVcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIFNldExhbmd1YWdlVmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgY29uc3QgY3VycmVudElzb0NvZGU6IHN0cmluZyA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZVxyXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZExhbmd1YWdlLklzb0NvZGVcclxuICAgICAgICA6IG51bGw7XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBmYWxscyBrZWluZSBTZWxla3RpZXJ0ZSBTcHJhY2hlXHJcbiAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPSB2YWx1ZTtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydCBkaWUgU3ByYWNoZSBkZXIgS29tcG9uZW50ZVxyXG4gICAqIEBwYXJhbSBsYW5ndWFnZSBTcHJhY2hlIGRpZSBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIFNlbGVjdExhbmd1YWdlKGxhbmd1YWdlOiBMYW5ndWFnZU1vZGVsKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSBsYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdpYnQgYW4sIG9iIGluIGVpbmVyIGJlc3RpbW10ZW4gU3ByYWNoZSBlaW4gV2VydCBkZWZpbmllcnQgaXN0XHJcbiAgICogQHBhcmFtIHNwcmFjaGUgU3ByYWNoZSBpbiB3ZWxjaGVyIGRlciBXZXJ0IGdlcHLDvGZ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgV2VydCBpc3Qgdm9yaGFuZGVuXHJcbiAgICovXHJcbiAgcHVibGljIElzRW1wdHkoc3ByYWNoZTogTGFuZ3VhZ2VNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxyXG4gICAgICBpZiAoc3ByYWNoZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSAnJyB8fFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gbnVsbFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcsO8ZnQsIG9iIGluIGVpbmVyIGJlbGllYmlnZW4gU3ByYWNoZSBkZXIgS29tcG9udGVudGUga2VpbiBXZXJ0IGRlZmluaWVydCBpc3QuXHJcbiAgICogQHJldHVybnMgR2lidCBhbiBvYiBlaW4gTGVlcmVzIEVsZW1lbnQgdm9yaGFuZGVuIGlzdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBJc0FueUVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYW5ndWFnZXMuZm9yRWFjaCgoaXRtOiBMYW5ndWFnZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgaWYgKGl0bSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09ICcnIHx8XHJcbiAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gbnVsbFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHZhbGlkaWVydCwgb2IgZGVyIFdlcnQgZGVuIGdlZ2ViZW5lbiBLcml0ZXJpZW4gZW50c3ByaWNodFxyXG4gICAqIEBwYXJhbSBjIENvbnRyb2xzIGRhcyB2YWxpZGllcnQgd2lyZFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkID09PSB0cnVlXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgICAgICB0aGlzLmxhbmd1YWdlcyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5yZXF1aXJlZGFueSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMucmVxdWlyZWRhbnkgPT09IHRydWVcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55XHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxufVxyXG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHlCQUF5QixHQUMxQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRzlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLFlBQWlCO0lBZ0RwRTs7OztPQUlHO0lBQ0gsWUFBb0IsVUFBK0IsRUFBRSxRQUFrQjtRQUNyRSxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBckQ5Qjs7V0FFRztRQUNNLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRTFCOztXQUVHO1FBQ00saUJBQVksR0FBVyxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDTSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV0Qzs7V0FFRztRQUNNLDhCQUF5QixHQUNoQyx3Q0FBd0MsQ0FBQztRQUMzQzs7V0FFRztRQUNNLHFDQUFnQyxHQUN2QyxnREFBZ0QsQ0FBQztRQUVuRDs7V0FFRztRQUNNLGlDQUE0QixHQUNuQywyQ0FBMkMsQ0FBQztRQUM5Qzs7V0FFRztRQUNNLHdDQUFtQyxHQUMxQyxtREFBbUQsQ0FBQztRQWlDdEQ7O1dBRUc7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SUFBSSxFQUN4QjtZQUNBLEtBQUssR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLENBQUMsZ0NBQWdDLENBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQ0UsS0FBSyxLQUFLLElBQUk7WUFDZCxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUk7WUFDaEIsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ3JCLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUztZQUM5QixJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFDekI7WUFDQSxLQUFLLEdBQUcsVUFBVSxDQUFDLHdCQUF3QixDQUN6QyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyw0QkFBNEIsRUFDakMsSUFBSSxDQUFDLG1DQUFtQyxDQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzRIQXhQVSwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTOzswQkFzREssSUFBSTttRUFqRFIsU0FBUztzQkFBakIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFLRyxnQ0FBZ0M7c0JBQXhDLEtBQUs7Z0JBTUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUtHLG1DQUFtQztzQkFBM0MsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRCYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VpbnB1dGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL0ljb25UeXBlJztcclxuaW1wb3J0IHsgSVNhY0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xhbmd1YWdlU2VydmljZSc7XHJcbmltcG9ydCB7IExhbmd1YWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGFuZ3VhZ2Vtb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDTEFOR1VBR0VfU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgS2xhc3NlIGbDvHIgTXVsdGkgTGFuZ3VhZ2UgVGV4dGFyZWEgQ29udHJvbFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tbW9uIGV4dGVuZHMgU2FjSW5wdXRCYXNlPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIE1heCBsw6RuZ2UgYW4gWmVpY2hlbiBmw7xyIEVpbmdhYmVmZWxkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBBbnphaGwgUm93cyBmw7xyIFRleHRBcmVhXHJcbiAgICovXHJcbiAgQElucHV0KCkgcm93czogbnVtYmVyID0gNztcclxuXHJcbiAgLyoqXHJcbiAgICogRml4IGJyZWl0ZSBmw7xyIGRhcyBDb250cm9sIGRlZmluaWVyZW4uXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29udHJvbHdpZHRoOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgZGVuIFZhbGlkYXRvciwgZGFzIG1pbi4gZWluZSBTcHJhY2hlIGVyZmFzc3Qgc2VpbiBtdXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmVxdWlyZWRhbnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID1cclxuICAgICdWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCc7XHJcbiAgLyoqXHJcbiAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRUQnO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUGF0dGVybiBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRhbnk6IHN0cmluZyA9XHJcbiAgICAnVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlknO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBQYXR0ZXJuIGluIFZhbGlkYXRpb24gU3VtbWFyeVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55OiBzdHJpbmcgPVxyXG4gICAgJ1ZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlknO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGxuZ0xhbmd1YWdlU2VydmljZTogSVNhY0xhbmd1YWdlU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMubG5nTGFuZ3VhZ2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdExhbmd1YWdlU2VydmljZSgpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubG5nTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgIC5HZXRMYW5ndWFnZXMoKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IExhbmd1YWdlTW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gcmVzdWx0O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIENvbnRyb2wgVmFsaWRpZXJ1bmcgYXVzZsO8aHJlbiwgZGEgV2VydCBwb3RlbnRpZWxsIGJlcmVpdHMgZ2VzZXR6dCBzZWluIGthbm5cclxuICAgICAgICB0aGlzLlVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcHJhY2hlIGbDvHIgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIGxhbmd1YWdlczogTGFuZ3VhZ2VNb2RlbFtdID0gW107XHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydGUgU3ByYWNlIGRlcyBDb250cm9sc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5ndWFnZTogTGFuZ3VhZ2VNb2RlbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gZGVyIFNwcmFjaGVuXHJcbiAgICovXHJcbiAgZ2V0IExhbmd1YWdlcygpOiBMYW5ndWFnZU1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkYXMgSWNvbiBkZXIgc2VsZWt0aWVydGVuIFNwcmFjaGUgenVyw7xja1xyXG4gICAqL1xyXG4gIGdldCBTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5JY29uO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCBkZW4gVHlwZSBkZXMgSWNvbnMgZsO8ciBkaWUgc2VsZWt0aWVydGUgU3ByYWNoZSB6dXLDvGNrXHJcbiAgICovXHJcbiAgZ2V0IFNlbGVjdGVkSWNvblR5cGUoKTogSWNvblR5cGUge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmd1YWdlLkljb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEljb25UeXBlLkltYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIHdlbGNoZXIgZGVuIFdlcnQgZGVyIENvbXBvbmVudCBpbiBkZXIgZ2V3w6RobHRlbiBTcHJhY2hlIHp1csO8Y2tnaWJ0LiBXZW5uIGtlaW5lIFNwcmFjaGUgc2VsZWt0aWVydCBpc3QsIHdpcmQgZWluIGxlZXJlciBXZXJ0IHp1csO8Y2tnZWdlYmVuLlxyXG4gICAqIElzdCBpbiBkZXIgQ29tcG9uZW50IGtlaW4gV2VydCBnZXNwZWljaGVydCB3aXJkIGVpbiBsZWVyZXIgV2VydCB6dXLDvGNrZ2VnZWJlblxyXG4gICAqL1xyXG4gIGdldCBMYW5ndWFnZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNvQ29kZTogc3RyaW5nID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuSXNvQ29kZVxyXG4gICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgIC8vIEZhbGxiYWNrIGZhbGxzIGtlaW5lIFNlbGVrdGllcnRlIFNwcmFjaGVcclxuICAgICAgaWYgKGN1cnJlbnRJc29Db2RlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTcGVpY2hlcnQgZWluZW4gV2VydCB6dXIgYWt0dWVsbCBnZXfDpGhsdGVuIFNwcmFjaGVcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIFNldExhbmd1YWdlVmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgY29uc3QgY3VycmVudElzb0NvZGU6IHN0cmluZyA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZVxyXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZExhbmd1YWdlLklzb0NvZGVcclxuICAgICAgICA6IG51bGw7XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBmYWxscyBrZWluZSBTZWxla3RpZXJ0ZSBTcHJhY2hlXHJcbiAgICAgIGlmIChjdXJyZW50SXNvQ29kZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy52YWx1ZVtjdXJyZW50SXNvQ29kZV0gPSB2YWx1ZTtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VsZWt0aWVydCBkaWUgU3ByYWNoZSBkZXIgS29tcG9uZW50ZVxyXG4gICAqIEBwYXJhbSBsYW5ndWFnZSBTcHJhY2hlIGRpZSBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgcHVibGljIFNlbGVjdExhbmd1YWdlKGxhbmd1YWdlOiBMYW5ndWFnZU1vZGVsKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSBsYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdpYnQgYW4sIG9iIGluIGVpbmVyIGJlc3RpbW10ZW4gU3ByYWNoZSBlaW4gV2VydCBkZWZpbmllcnQgaXN0XHJcbiAgICogQHBhcmFtIHNwcmFjaGUgU3ByYWNoZSBpbiB3ZWxjaGVyIGRlciBXZXJ0IGdlcHLDvGZ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgV2VydCBpc3Qgdm9yaGFuZGVuXHJcbiAgICovXHJcbiAgcHVibGljIElzRW1wdHkoc3ByYWNoZTogTGFuZ3VhZ2VNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgLy8gRmFsbGJhY2sgZmFsbHMga2VpbmUgU2VsZWt0aWVydGUgU3ByYWNoZVxyXG4gICAgICBpZiAoc3ByYWNoZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgdGhpcy52YWx1ZVtzcHJhY2hlLklzb0NvZGVdID09PSAnJyB8fFxyXG4gICAgICAgIHRoaXMudmFsdWVbc3ByYWNoZS5Jc29Db2RlXSA9PT0gbnVsbFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcsO8ZnQsIG9iIGluIGVpbmVyIGJlbGllYmlnZW4gU3ByYWNoZSBkZXIgS29tcG9udGVudGUga2VpbiBXZXJ0IGRlZmluaWVydCBpc3QuXHJcbiAgICogQHJldHVybnMgR2lidCBhbiBvYiBlaW4gTGVlcmVzIEVsZW1lbnQgdm9yaGFuZGVuIGlzdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBJc0FueUVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYW5ndWFnZXMuZm9yRWFjaCgoaXRtOiBMYW5ndWFnZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgaWYgKGl0bSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAgICAgdGhpcy52YWx1ZVtpdG0uSXNvQ29kZV0gPT09ICcnIHx8XHJcbiAgICAgICAgICB0aGlzLnZhbHVlW2l0bS5Jc29Db2RlXSA9PT0gbnVsbFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHZhbGlkaWVydCwgb2IgZGVyIFdlcnQgZGVuIGdlZ2ViZW5lbiBLcml0ZXJpZW4gZW50c3ByaWNodFxyXG4gICAqIEBwYXJhbSBjIENvbnRyb2xzIGRhcyB2YWxpZGllcnQgd2lyZFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5pc3JlcXVpcmVkID09PSB0cnVlXHJcbiAgICApIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm11bHRpbGFuZ3VhZ2VSZXF1aXJlZChcclxuICAgICAgICB0aGlzLmxhbmd1YWdlcyxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgPT09IG51bGwgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxyXG4gICAgICBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgYy52YWx1ZSAhPT0gJycgJiZcclxuICAgICAgdGhpcy5yZXF1aXJlZGFueSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMucmVxdWlyZWRhbnkgPT09IHRydWVcclxuICAgICkge1xyXG4gICAgICBlcnJvciA9IFZhbGlkYXRpb24ubXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55KFxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VzLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZGFueSxcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkYW55XHJcbiAgICAgICkoYyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxufVxyXG4iXX0=