@simpleangularcontrols/sac-common 10.0.0-rc.11 → 10.0.0-rc.13

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 (86) hide show
  1. package/bundles/simpleangularcontrols-sac-common.umd.js +1425 -1088
  2. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
  5. package/common/basedatetimecontrol.d.ts +99 -13
  6. package/common/basemodelcontrol.d.ts +33 -29
  7. package/controls/checkbox/radiobutton.d.ts +61 -26
  8. package/controls/contextmenu/contextmenu.d.ts +26 -19
  9. package/controls/contextmenu/contextmenu.interface.d.ts +3 -0
  10. package/controls/contextmenu/contextmenuitem.d.ts +5 -0
  11. package/controls/contextmenu/contextmenuitembutton.d.ts +21 -20
  12. package/controls/datetime/date.d.ts +28 -27
  13. package/controls/datetime/datetime.d.ts +27 -27
  14. package/controls/datetime/time.d.ts +26 -26
  15. package/controls/dialog/dialog.d.ts +31 -43
  16. package/controls/layout/formlayout.d.ts +4 -0
  17. package/controls/list/buildvaluestring.d.ts +6 -0
  18. package/controls/list/dropdown.d.ts +9 -51
  19. package/controls/list/dropdownoptions.d.ts +38 -0
  20. package/controls/list/dropdownoptions.ngfactory.d.ts +1 -0
  21. package/controls/static/formcontainer.d.ts +11 -3
  22. package/controls/tooltip/tooltip.d.ts +33 -51
  23. package/controls/treeview/treeview.d.ts +87 -121
  24. package/esm2015/common/basedatetimecontrol.js +178 -30
  25. package/esm2015/common/basemodelcontrol.js +71 -56
  26. package/esm2015/controls/checkbox/radiobutton.js +94 -45
  27. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -0
  28. package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -0
  29. package/esm2015/controls/contextmenu/contextmenu.js +22 -23
  30. package/esm2015/controls/contextmenu/contextmenuitem.js +13 -2
  31. package/esm2015/controls/contextmenu/contextmenuitembutton.js +34 -25
  32. package/esm2015/controls/datetime/date.js +43 -41
  33. package/esm2015/controls/datetime/datetime.js +42 -41
  34. package/esm2015/controls/datetime/time.js +42 -41
  35. package/esm2015/controls/dialog/dialog.js +41 -83
  36. package/esm2015/controls/layout/formlayout.js +7 -6
  37. package/esm2015/controls/list/buildvaluestring.js +18 -0
  38. package/esm2015/controls/{treeview/ngtreeitemaction.ngfactory.js → list/buildvaluestring.ngfactory.js} +1 -1
  39. package/esm2015/controls/list/dropdown.js +16 -114
  40. package/esm2015/controls/list/dropdownoptions.js +72 -0
  41. package/esm2015/controls/{treeview/treeviewchild.ngfactory.js → list/dropdownoptions.ngfactory.js} +1 -1
  42. package/esm2015/controls/static/formcontainer.js +16 -6
  43. package/esm2015/controls/tooltip/tooltip.js +60 -250
  44. package/esm2015/controls/treeview/treeview.js +232 -247
  45. package/esm2015/interfaces/ISacConfigurationService.js +1 -1
  46. package/esm2015/interfaces/ISacIconService.js +1 -1
  47. package/esm2015/interfaces/treeviewaction.interface.js +1 -0
  48. package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -0
  49. package/esm2015/public_api.js +6 -6
  50. package/esm2015/services/sac-configuration.service.js +7 -5
  51. package/esm2015/services/sac-icon.service.js +25 -1
  52. package/esm2015/utilities/enums.js +5 -1
  53. package/esm2015/utilities/popuphelper.js +343 -0
  54. package/esm2015/utilities/popuphelper.ngfactory.js +7 -0
  55. package/esm2015/validation/equals.validator.js +14 -0
  56. package/esm2015/validation/equals.validator.ngfactory.js +7 -0
  57. package/esm2015/validation/notequals.validator.js +14 -0
  58. package/esm2015/validation/notequals.validator.ngfactory.js +7 -0
  59. package/esm2015/validation/validation.class.js +30 -6
  60. package/fesm2015/simpleangularcontrols-sac-common.js +1398 -1075
  61. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  62. package/interfaces/ISacConfigurationService.d.ts +4 -0
  63. package/interfaces/ISacIconService.d.ts +16 -0
  64. package/interfaces/treeviewaction.interface.d.ts +4 -0
  65. package/interfaces/treeviewaction.interface.ngfactory.d.ts +1 -0
  66. package/package.json +1 -1
  67. package/public_api.d.ts +5 -5
  68. package/services/sac-configuration.service.d.ts +8 -0
  69. package/services/sac-icon.service.d.ts +33 -1
  70. package/simpleangularcontrols-sac-common-10.0.0-rc.13.tgz +0 -0
  71. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  72. package/utilities/enums.d.ts +3 -1
  73. package/utilities/popuphelper.d.ts +83 -0
  74. package/utilities/popuphelper.ngfactory.d.ts +1 -0
  75. package/validation/equals.validator.d.ts +2 -0
  76. package/validation/equals.validator.ngfactory.d.ts +1 -0
  77. package/validation/notequals.validator.d.ts +2 -0
  78. package/validation/notequals.validator.ngfactory.d.ts +1 -0
  79. package/validation/validation.class.d.ts +19 -0
  80. package/controls/treeview/ngtreeitemaction.d.ts +0 -40
  81. package/controls/treeview/treeviewchild.d.ts +0 -12
  82. package/esm2015/controls/treeview/ngtreeitemaction.js +0 -60
  83. package/esm2015/controls/treeview/treeviewchild.js +0 -18
  84. package/simpleangularcontrols-sac-common-10.0.0-rc.11.tgz +0 -0
  85. /package/controls/{treeview/ngtreeitemaction.ngfactory.d.ts → contextmenu/contextmenu.interface.ngfactory.d.ts} +0 -0
  86. /package/controls/{treeview/treeviewchild.ngfactory.d.ts → list/buildvaluestring.ngfactory.d.ts} +0 -0
@@ -1,10 +1,8 @@
1
- import { ChangeDetectorRef, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, Directive, } from '@angular/core';
1
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
2
  /**
3
3
  * Base Komponente für Dialog
4
4
  */
5
5
  export class SacDialogCommon {
6
- // #endregion
7
- // #region Constructor
8
6
  /**
9
7
  * Konstruktor
10
8
  * Inject des Formulars
@@ -21,11 +19,6 @@ export class SacDialogCommon {
21
19
  * Die akzeptabel keywordssind: 'small', 'large', 'extralarge', 'medium', ''.
22
20
  */
23
21
  this._size = '';
24
- // #region Properties
25
- /**
26
- * Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
27
- */
28
- this.title = 'Dialog';
29
22
  /**
30
23
  * Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch ESC geschlossen werden. Default ist true.
31
24
  */
@@ -34,26 +27,22 @@ export class SacDialogCommon {
34
27
  * Das input property akzeptiert boolen Wert. Definiert ob das Dialog darf durch click außerhalb des Dialog-Fenster geschlossen werden. Default ist true.
35
28
  */
36
29
  this.backdrop = true;
37
- /**
38
- * Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
39
- */
40
- this.name = '';
41
30
  /**
42
31
  * Steuert ob im Header des Dialogs ein Button angezeigt wird.
43
32
  */
44
33
  this.closebutton = true;
45
34
  /**
46
- * Input Property. Erhält die Breite des Dialog
35
+ * Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
47
36
  */
48
- this.width = null;
37
+ this.isvisibleChange = new EventEmitter();
49
38
  /**
50
- * Definiert eine feste Höhe beim Dialog.
39
+ * Input Property. Erhält den Namen des Dialog - benutzt für das ID. Default Value: ''
51
40
  */
52
- this.height = null;
41
+ this.name = '';
53
42
  /**
54
- * Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
43
+ * Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
55
44
  */
56
- this.isvisibleChange = new EventEmitter();
45
+ this.title = 'Dialog';
57
46
  }
58
47
  /**
59
48
  * Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
@@ -62,14 +51,10 @@ export class SacDialogCommon {
62
51
  this.dialogElement = content;
63
52
  }
64
53
  /**
65
- * Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
66
- * case insensitive.
67
- * Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
68
- * Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
54
+ * Getter. Ergibt das boolen Wert des _show property
69
55
  */
70
- set size(v) {
71
- v = v.toLowerCase();
72
- this._size = v;
56
+ get isvisible() {
57
+ return this._show;
73
58
  }
74
59
  /**
75
60
  * Setter. Erhält das boolen Wert des _show property
@@ -90,77 +75,40 @@ export class SacDialogCommon {
90
75
  this._show = v;
91
76
  }
92
77
  /**
93
- * Getter. Ergibt das boolen Wert des _show property
78
+ * Das Input akzeptiert sowohl default size-css-Klassen als auch custom Klassen.
79
+ * case insensitive.
80
+ * Die akzeptabel default-size-Klassen sind: 'small', 'large', 'extralarge', 'medium', ''.
81
+ * Wenn size ist NICHT gesetzt (oder 'medium' oder ''), default ist in medium size: max-width 500px.
94
82
  */
95
- get isvisible() {
96
- return this._show;
83
+ set size(v) {
84
+ this._size = v;
97
85
  }
98
86
  /**
99
- * Die Funktion prüft ob es ein default css classe für Size des Dialog durch den size Input gesetzt wurde.
87
+ * Getter for ChangeDetector.
100
88
  */
101
- issetdefaultsize() {
102
- let result = false;
103
- switch (this._size) {
104
- case 'small':
105
- result = true;
106
- break;
107
- case 'medium':
108
- result = true;
109
- break;
110
- case 'large':
111
- result = true;
112
- break;
113
- case 'extralarge':
114
- result = true;
115
- break;
116
- case '':
117
- result = true;
118
- break;
119
- }
120
- return result;
89
+ get ChangeDetector() {
90
+ return this.cdRef;
121
91
  }
122
- // #endregion
123
92
  /**
124
- * Methode wenn Componente entfernt wird
93
+ * Die Methode setz den Wert des _show property auf false
125
94
  */
126
- ngOnDestroy() {
95
+ hide() {
127
96
  if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
128
97
  document.body.classList.remove('modal-open');
129
98
  this.hasSetBodyTag = false;
130
99
  }
131
- }
132
- // #region Methods
133
- /**
134
- * Die Methode setz den Wert des _show property auf true
135
- */
136
- show() {
137
- this._show = true;
138
- if (!this.hasSetBodyTag &&
139
- !document.body.classList.contains('modal-open')) {
140
- document.body.classList.add('modal-open');
141
- this.hasSetBodyTag = true;
142
- }
100
+ this._show = false;
143
101
  this.isvisibleChange.emit(this._show);
144
102
  }
145
103
  /**
146
- * Die Methode setz den Wert des _show property auf false
104
+ * Methode wenn Componente entfernt wird
147
105
  */
148
- hide() {
106
+ ngOnDestroy() {
149
107
  if (this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
150
108
  document.body.classList.remove('modal-open');
151
109
  this.hasSetBodyTag = false;
152
110
  }
153
- this._show = false;
154
- this.isvisibleChange.emit(this._show);
155
111
  }
156
- /**
157
- * Getter for ChangeDetector.
158
- */
159
- get ChangeDetector() {
160
- return this.cdRef;
161
- }
162
- // #endregion
163
- // #region Host Actions
164
112
  /**
165
113
  * Allow Close by Click outside Dialog
166
114
  */
@@ -182,6 +130,18 @@ export class SacDialogCommon {
182
130
  this.hide();
183
131
  }
184
132
  }
133
+ /**
134
+ * Die Methode setz den Wert des _show property auf true
135
+ */
136
+ show() {
137
+ this._show = true;
138
+ if (!this.hasSetBodyTag &&
139
+ !document.body.classList.contains('modal-open')) {
140
+ document.body.classList.add('modal-open');
141
+ this.hasSetBodyTag = true;
142
+ }
143
+ this.isvisibleChange.emit(this._show);
144
+ }
185
145
  }
186
146
  SacDialogCommon.decorators = [
187
147
  { type: Directive }
@@ -190,18 +150,16 @@ SacDialogCommon.ctorParameters = () => [
190
150
  { type: ChangeDetectorRef }
191
151
  ];
192
152
  SacDialogCommon.propDecorators = {
193
- dialogElementSetter: [{ type: ViewChild, args: ['dialog', { static: false },] }],
194
- title: [{ type: Input }],
195
153
  allowesc: [{ type: Input }],
196
154
  backdrop: [{ type: Input }],
197
- name: [{ type: Input }],
198
155
  closebutton: [{ type: Input }],
199
- width: [{ type: Input }],
200
- height: [{ type: Input }],
201
- size: [{ type: Input }],
202
156
  isvisibleChange: [{ type: Output }],
157
+ name: [{ type: Input }],
158
+ title: [{ type: Input }],
159
+ dialogElementSetter: [{ type: ViewChild, args: ['dialog', { static: false },] }],
203
160
  isvisible: [{ type: Input }],
161
+ size: [{ type: Input }],
204
162
  onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
205
163
  onKeydownHandler: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
206
164
  };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQXFKMUIsYUFBYTtJQUViLHNCQUFzQjtJQUV0Qjs7O09BR0c7SUFDSCxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQXZKcEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVOUI7O1dBRUc7UUFDSCxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNILFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIscUJBQXFCO1FBRXJCOztXQUVHO1FBRUksVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUVoQzs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUVJLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRW5DOztXQUVHO1FBRUksVUFBSyxHQUFXLElBQUksQ0FBQztRQUU1Qjs7V0FFRztRQUVJLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFjN0I7O1dBRUc7UUFFSCxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBc0V0QixDQUFDO0lBckpoRDs7T0FFRztJQUNILElBQ0ksbUJBQW1CLENBQUMsT0FBbUI7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQXlERDs7Ozs7T0FLRztJQUNILElBQ0ksSUFBSSxDQUFDLENBQVM7UUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxDQUFVO1FBQ3RCLElBQ0UsQ0FBQztZQUNELENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQy9DO1lBQ0EsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFDRSxDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYTtZQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQzlDO1lBQ0EsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQztRQUU1QixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2QsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDZCxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2QsTUFBTTtZQUNSLEtBQUssRUFBRTtnQkFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNkLE1BQU07U0FDVDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFZRCxhQUFhO0lBRWI7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN4RSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBRWxCOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQ0UsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUNuQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFDL0M7WUFDQSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWMsY0FBYztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELGFBQWE7SUFFYix1QkFBdUI7SUFFdkI7O09BRUc7SUFFSCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUNFLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSztZQUN2QixDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSTtnQkFDMUIsSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTO2dCQUNoQyxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQ3BEO1lBQ0EsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBRUgsZ0JBQWdCLENBQUMsS0FBb0I7UUFDbkMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBRWhDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxjQUFjLEVBQUU7WUFDMUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7WUFqUEYsU0FBUzs7O1lBZFIsaUJBQWlCOzs7a0NBMEJoQixTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtvQkFxQnJDLEtBQUs7dUJBTUwsS0FBSzt1QkFNTCxLQUFLO21CQU1MLEtBQUs7MEJBTUwsS0FBSztvQkFNTCxLQUFLO3FCQU1MLEtBQUs7bUJBU0wsS0FBSzs4QkFTTCxNQUFNO3dCQU1OLEtBQUs7c0JBNkhMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBEaWFsb2dcclxuICAgKi9cclxuICBkaWFsb2dFbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIGhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gYWxzIFNldHRlciwgZGEgbWl0IG5nSWYgZGFzIEVsZW1lbnQgYmVpIFVuc2ljaHRiYXJrZWl0IFVOREVGSU5FRCBpc3QuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgc2V0IGRpYWxvZ0VsZW1lbnRTZXR0ZXIoY29udGVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5kaWFsb2dFbGVtZW50ID0gY29udGVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBfc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgcHJvcGVydHkgZW50aGllbHQgKHdlbm4gw7xiZXJoYXVwdCBnZXNldHp0KSBlbnR3ZWRlciBrZXl3b3JkcyBmw7xyIHNpemluZyBvZGVyIGN1c3RvbSBjc3MgS2xhc3Nlbi5cclxuICAgKiBEaWUgYWt6ZXB0YWJlbCBrZXl3b3Jkc3NpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxyXG4gICAqL1xyXG4gIF9zaXplOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5LiBFcmjDpGx0IGRlbiBUaXRsZSBkZXMgRGlhbG9nLiBEZWZhdWx0IFZhbHVlOiAnRGlhbG9nJy5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ0RpYWxvZyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBpbnB1dCBwcm9wZXJ0eSBha3plcHRpZXJ0IGJvb2xlbiBXZXJ0LiBEZWZpbmllcnQgb2IgZGFzIERpYWxvZyBkYXJmIGR1cmNoIEVTQyBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsb3dlc2M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBjbGljayBhdcOfZXJoYWxiIGRlcyBEaWFsb2ctRmVuc3RlciBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gTmFtZW4gZGVzIERpYWxvZyAtIGJlbnV0enQgZsO8ciBkYXMgSUQuIERlZmF1bHQgVmFsdWU6ICcnXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0ZXVlcnQgb2IgaW0gSGVhZGVyIGRlcyBEaWFsb2dzIGVpbiBCdXR0b24gYW5nZXplaWd0IHdpcmQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xvc2VidXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkaWUgQnJlaXRlIGRlcyBEaWFsb2dcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGVpbmUgZmVzdGUgSMO2aGUgYmVpbSBEaWFsb2cuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgSW5wdXQgYWt6ZXB0aWVydCBzb3dvaGwgZGVmYXVsdCBzaXplLWNzcy1LbGFzc2VuIGFscyBhdWNoIGN1c3RvbSBLbGFzc2VuLlxyXG4gICAqIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICogRGllIGFremVwdGFiZWwgZGVmYXVsdC1zaXplLUtsYXNzZW4gc2luZDogJ3NtYWxsJywgJ2xhcmdlJywgJ2V4dHJhbGFyZ2UnLCAnbWVkaXVtJywgJycuXHJcbiAgICogV2VubiBzaXplIGlzdCBOSUNIVCBnZXNldHp0IChvZGVyICdtZWRpdW0nIG9kZXIgJycpLCBkZWZhdWx0IGlzdCBpbiBtZWRpdW0gc2l6ZTogbWF4LXdpZHRoIDUwMHB4LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNpemUodjogc3RyaW5nKSB7XHJcbiAgICB2ID0gdi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5fc2l6ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgRW1pdHRlci4gV2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGRhcyBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBnZcOkbmRlcnQgaXN0IC0gZGFtYWl0IGRhcyBEaWFsb2cgZ2XDtmZuZXQvZ2VzY2hsb3NzZW4gd2lyZC5cclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyLiBFcmjDpGx0IGRhcyBib29sZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpc3Zpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKFxyXG4gICAgICB2ICYmXHJcbiAgICAgICF0aGlzLmhhc1NldEJvZHlUYWcgJiZcclxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcclxuICAgICkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF2ICYmXHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyAmJlxyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyLiBFcmdpYnQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIGdldCBpc3Zpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvdztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBGdW5rdGlvbiBwcsO8ZnQgb2IgZXMgZWluIGRlZmF1bHQgY3NzIGNsYXNzZSBmw7xyIFNpemUgZGVzIERpYWxvZyBkdXJjaCBkZW4gc2l6ZSBJbnB1dCBnZXNldHp0IHd1cmRlLlxyXG4gICAqL1xyXG4gIGlzc2V0ZGVmYXVsdHNpemUoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLl9zaXplKSB7XHJcbiAgICAgIGNhc2UgJ3NtYWxsJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtZWRpdW0nOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdleHRyYWxhcmdlJzpcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvclxyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3ZW5uIENvbXBvbmVudGUgZW50ZmVybnQgd2lyZFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXR6IGRlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBhdWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5oYXNTZXRCb2R5VGFnICYmXHJcbiAgICAgICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc3Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl9zaG93KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiBmYWxzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0IENoYW5nZURldGVjdG9yKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIEhvc3QgQWN0aW9uc1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyBDbG9zZSBieSBDbGljayBvdXRzaWRlIERpYWxvZ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hbGxvd2VzYyA9PT0gZmFsc2UgfHxcclxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxyXG4gICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IEVTQ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IEVTQ0FQRV9LRVlDT0RFID0gJ0VzY2FwZSc7XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3dlc2MgPT09IHRydWUgJiYgZXZlbnQua2V5ID09PSBFU0NBUEVfS0VZQ09ERSkge1xyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxufVxyXG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQXVEMUI7OztPQUdHO0lBQ0gsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUExRHBDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTlCOztXQUVHO1FBQ0ksVUFBSyxHQUFZLEtBQUssQ0FBQztRQUU5Qjs7O1dBR0c7UUFDSSxVQUFLLEdBQXFELEVBQUUsQ0FBQztRQUVwRTs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFPbkM7O1dBRUc7UUFFSSxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVFOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7V0FFRztRQUVJLFVBQUssR0FBVyxRQUFRLENBQUM7SUFNZSxDQUFDO0lBRWhEOztPQUVHO0lBQ0gsSUFDVyxtQkFBbUIsQ0FBQyxPQUFtQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BC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SSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7O1lBM0xGLFNBQVM7OztZQWRSLGlCQUFpQjs7O3VCQWdDaEIsS0FBSzt1QkFNTCxLQUFLOzBCQU1MLEtBQUs7OEJBV0wsTUFBTTttQkFNTixLQUFLO29CQU1MLEtBQUs7a0NBWUwsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBZXJDLEtBQUs7bUJBNkJMLEtBQUs7c0JBc0NMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBoYXNTZXRCb2R5VGFnID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcclxuICAgKi9cclxuICBwdWJsaWMgX3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIHByb3BlcnR5IGVudGhpZWx0ICh3ZW5uIMO8YmVyaGF1cHQgZ2VzZXR6dCkgZW50d2VkZXIga2V5d29yZHMgZsO8ciBzaXppbmcgb2RlciBjdXN0b20gY3NzIEtsYXNzZW4uXHJcbiAgICogRGllIGFremVwdGFiZWwga2V5d29yZHNzaW5kOiAnc21hbGwnLCAnbGFyZ2UnLCAnZXh0cmFsYXJnZScsICdtZWRpdW0nLCAnJy5cclxuICAgKi9cclxuICBwdWJsaWMgX3NpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgJ2V4dHJhbGFyZ2UnIHwgJ21lZGl1bScgfCAnJyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBFU0MgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbG93ZXNjOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIGlucHV0IHByb3BlcnR5IGFremVwdGllcnQgYm9vbGVuIFdlcnQuIERlZmluaWVydCBvYiBkYXMgRGlhbG9nIGRhcmYgZHVyY2ggY2xpY2sgYXXDn2VyaGFsYiBkZXMgRGlhbG9nLUZlbnN0ZXIgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RldWVydCBvYiBpbSBIZWFkZXIgZGVzIERpYWxvZ3MgZWluIEJ1dHRvbiBhbmdlemVpZ3Qgd2lyZC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjbG9zZWJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRhaW5lcnMgZsO8ciBkZW4gRGlhbG9nXHJcbiAgICovXHJcbiAgcHVibGljIGRpYWxvZ0VsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFbWl0dGVyLiBXaXJkIGF1ZmdlcnVmZW4sIHdlbm4gZGFzIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGdlw6RuZGVydCBpc3QgLSBkYW1haXQgZGFzIERpYWxvZyBnZcO2Zm5ldC9nZXNjaGxvc3NlbiB3aXJkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkuIEVyaMOkbHQgZGVuIE5hbWVuIGRlcyBEaWFsb2cgLSBiZW51dHp0IGbDvHIgZGFzIElELiBEZWZhdWx0IFZhbHVlOiAnJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gVGl0bGUgZGVzIERpYWxvZy4gRGVmYXVsdCBWYWx1ZTogJ0RpYWxvZycuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICdEaWFsb2cnO1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIGFscyBTZXR0ZXIsIGRhIG1pdCBuZ0lmIGRhcyBFbGVtZW50IGJlaSBVbnNpY2h0YmFya2VpdCBVTkRFRklORUQgaXN0LlxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBzZXQgZGlhbG9nRWxlbWVudFNldHRlcihjb250ZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0VsZW1lbnQgPSBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyLiBFcmdpYnQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaXN2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3c7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIuIEVyaMOkbHQgZGFzIGJvb2xlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpc3Zpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKFxyXG4gICAgICB2ICYmXHJcbiAgICAgICF0aGlzLmhhc1NldEJvZHlUYWcgJiZcclxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcclxuICAgICkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF2ICYmXHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyAmJlxyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGFzIElucHV0IGFremVwdGllcnQgc293b2hsIGRlZmF1bHQgc2l6ZS1jc3MtS2xhc3NlbiBhbHMgYXVjaCBjdXN0b20gS2xhc3Nlbi5cclxuICAgKiBjYXNlIGluc2Vuc2l0aXZlLlxyXG4gICAqIERpZSBha3plcHRhYmVsIGRlZmF1bHQtc2l6ZS1LbGFzc2VuIHNpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxyXG4gICAqIFdlbm4gc2l6ZSBpc3QgTklDSFQgZ2VzZXR6dCAob2RlciAnbWVkaXVtJyBvZGVyICcnKSwgZGVmYXVsdCBpc3QgaW4gbWVkaXVtIHNpemU6IG1heC13aWR0aCA1MDBweC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2l6ZSh2OiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdleHRyYWxhcmdlJyB8ICdtZWRpdW0nIHwgJycpIHtcclxuICAgIHRoaXMuX3NpemUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0IENoYW5nZURldGVjdG9yKCk6IENoYW5nZURldGVjdG9yUmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNkUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgc2V0eiBkZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHkgYXVmIGZhbHNlXHJcbiAgICovXHJcbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNTZXRCb2R5VGFnICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcclxuICAgIHRoaXMuaXN2aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fc2hvdyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdlbm4gQ29tcG9uZW50ZSBlbnRmZXJudCB3aXJkXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xyXG4gICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IENsaWNrIG91dHNpZGUgRGlhbG9nXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hbGxvd2VzYyA9PT0gZmFsc2UgfHxcclxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxyXG4gICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IENsb3NlIGJ5IEVTQ1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBFU0NBUEVfS0VZQ09ERSA9ICdFc2NhcGUnO1xyXG5cclxuICAgIGlmICh0aGlzLmFsbG93ZXNjID09PSB0cnVlICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWUNPREUpIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXR6IGRlbiBXZXJ0IGRlcyBfc2hvdyBwcm9wZXJ0eSBhdWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdyA9IHRydWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5oYXNTZXRCb2R5VGFnICYmXHJcbiAgICAgICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXHJcbiAgICApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XHJcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc3Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl9zaG93KTtcclxuICB9XHJcbn1cclxuIl19
@@ -5,7 +5,6 @@ import { ControlHeight } from '../../enums/ControlHeight';
5
5
  */
6
6
  export class SacFormLayoutCommon {
7
7
  constructor() {
8
- // #region Properties
9
8
  /**
10
9
  * Defines the default display for a checkbox. You can choose between a checkbox and a switch. If no style is defined, the global style or the style on the control is used.
11
10
  */
@@ -50,10 +49,11 @@ export class SacFormLayoutCommon {
50
49
  * default label size for extra extra large devices
51
50
  */
52
51
  this.labelSizeXxl = null;
53
- // #endregion Public Getters And Setters
52
+ /**
53
+ * Detach label text and tooltip from each other in Label so that label and tooltip can be aligned differently. This is in Bootstrap 3 not supported!
54
+ */
55
+ this.splitlabelandhelptext = null;
54
56
  }
55
- // #endregion Properties
56
- // #region Public Getters And Setters
57
57
  /**
58
58
  * Returns whether the inline error messages for the form are active.
59
59
  */
@@ -76,6 +76,7 @@ SacFormLayoutCommon.propDecorators = {
76
76
  labelSizeSm: [{ type: Input }],
77
77
  labelSizeXl: [{ type: Input }],
78
78
  labelSizeXs: [{ type: Input }],
79
- labelSizeXxl: [{ type: Input }]
79
+ labelSizeXxl: [{ type: Input }],
80
+ splitlabelandhelptext: [{ type: Input }]
80
81
  };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9sYXlvdXQvZm9ybWxheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRUUscUJBQXFCO1FBRXJCOztXQUVHO1FBRUksa0JBQWEsR0FBaUMsSUFBSSxDQUFDO1FBQzFEOztXQUVHO1FBQ2Esb0JBQWUsR0FBeUIsSUFBSSxDQUFDO1FBTTdEOztXQUVHO1FBQ2EsZ0JBQVcsR0FBbUIsSUFBSSxDQUFDO1FBQ25EOztXQUVHO1FBRUksd0JBQW1CLEdBQXFDLElBQUksQ0FBQztRQUNwRTs7V0FFRztRQUNhLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pEOztXQUVHO1FBRUksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pDOztXQUVHO1FBRUksaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBYTFDLHdDQUF3QztJQUMxQyxDQUFDO0lBWkMsd0JBQXdCO0lBRXhCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOzs7WUF2RUYsU0FBUzs7OzRCQU9QLEtBQUs7OEJBS0wsS0FBSzsyQkFJTCxLQUFLOzBCQUtMLEtBQUs7a0NBSUwsS0FBSzs4QkFLTCxLQUFLOzBCQUlMLEtBQUs7MEJBS0wsS0FBSzswQkFLTCxLQUFLOzBCQUtMLEtBQUs7MEJBS0wsS0FBSzsyQkFLTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnLi4vLi4vZW51bXMvQ29udHJvbEhlaWdodCc7XHJcblxyXG4vKioqXHJcbiAqIGJhc2UgY29tcG9uZW50IGZvciBmb3JtIG9wdGlvbnNcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRm9ybUxheW91dENvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGRlZmF1bHQgZGlzcGxheSBmb3IgYSBjaGVja2JveC4gWW91IGNhbiBjaG9vc2UgYmV0d2VlbiBhIGNoZWNrYm94IGFuZCBhIHN3aXRjaC4gSWYgbm8gc3R5bGUgaXMgZGVmaW5lZCwgdGhlIGdsb2JhbCBzdHlsZSBvciB0aGUgc3R5bGUgb24gdGhlIGNvbnRyb2wgaXMgdXNlZC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjaGVja2JveHN0eWxlOiAnY2hlY2tib3gnIHwgJ3N3aXRjaCcgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBzdGFuZGFyZCBoZWlnaHQgb2YgdGhlIGNvbXBvbmVudHNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY29tcG9uZW50SGVpZ2h0OiBDb250cm9sSGVpZ2h0IHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogTW9kZSBmb3IgZGlzcGxheSBoZWxwdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlbHB0ZXh0bW9kZTogJ3Rvb2x0aXAnIHwgJ3RleHQnIHwgbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZpbmVzIHRoYXQgZXJyb3IgbWVzc2FnZXMgYXJlIGRpc3BsYXllZCB1bmRlciB0aGUgY29udHJvbHNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lRXJyb3I6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIGlmIElucHV0U2VhcmNoIHVzZXMgYW4gaWNvbiBhdCB0aGUgYnV0dG9uIG9yIHRoZSB0ZXh0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5wdXRzZWFyY2hpY29ubW9kZTogJ3RleHQnIHwgJ2ljb24nIHwgJ21peGVkJyB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmluZXMgdGhhdCB0aGUgbGFiZWxzIGFyZSBkaXNwbGF5ZWQgYXMgYWRhcHRpdmUgbGFiZWxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlzQWRhcHRpdmVMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZSBzaXplIGZvciBsYXJnZSBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplTGc6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgbWVkaXVtIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVNZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBzbWFsbCBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplU206IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVhsOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIGNvbHVtbiBzaXplXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplWHM6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgZXh0cmEgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVh4bDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgaW5saW5lIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgZm9ybSBhcmUgYWN0aXZlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgSXNJbmxpbmVFcnJvckVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbmxpbmVFcnJvcjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxufVxyXG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9sYXlvdXQvZm9ybWxheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRUU7O1dBRUc7UUFFSSxrQkFBYSxHQUFpQyxJQUFJLENBQUM7UUFFMUQ7O1dBRUc7UUFDYSxvQkFBZSxHQUF5QixJQUFJLENBQUM7UUFRN0Q7O1dBRUc7UUFDYSxnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFFbkQ7O1dBRUc7UUFFSSx3QkFBbUIsR0FBcUMsSUFBSSxDQUFDO1FBRXBFOztXQUVHO1FBQ2Esb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakQ7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFFSSxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFFMUM7O1dBRUc7UUFFSSwwQkFBcUIsR0FBbUIsSUFBSSxDQUFDO0lBUXRELENBQUM7SUFOQzs7T0FFRztJQUNILElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOzs7WUFsRkYsU0FBUzs7OzRCQUtQLEtBQUs7OEJBTUwsS0FBSzsyQkFLTCxLQUFLOzBCQU1MLEtBQUs7a0NBS0wsS0FBSzs4QkFNTCxLQUFLOzBCQUtMLEtBQUs7MEJBTUwsS0FBSzswQkFNTCxLQUFLOzBCQU1MLEtBQUs7MEJBTUwsS0FBSzsyQkFNTCxLQUFLO29DQU1MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xIZWlnaHQgfSBmcm9tICcuLi8uLi9lbnVtcy9Db250cm9sSGVpZ2h0JztcclxuXHJcbi8qKipcclxuICogYmFzZSBjb21wb25lbnQgZm9yIGZvcm0gb3B0aW9uc1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNGb3JtTGF5b3V0Q29tbW9uIHtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBkZWZhdWx0IGRpc3BsYXkgZm9yIGEgY2hlY2tib3guIFlvdSBjYW4gY2hvb3NlIGJldHdlZW4gYSBjaGVja2JveCBhbmQgYSBzd2l0Y2guIElmIG5vIHN0eWxlIGlzIGRlZmluZWQsIHRoZSBnbG9iYWwgc3R5bGUgb3IgdGhlIHN0eWxlIG9uIHRoZSBjb250cm9sIGlzIHVzZWQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2hlY2tib3hzdHlsZTogJ2NoZWNrYm94JyB8ICdzd2l0Y2gnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIHN0YW5kYXJkIGhlaWdodCBvZiB0aGUgY29tcG9uZW50c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb21wb25lbnRIZWlnaHQ6IENvbnRyb2xIZWlnaHQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogTW9kZSBmb3IgZGlzcGxheSBoZWxwdGV4dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlbHB0ZXh0bW9kZTogJ3Rvb2x0aXAnIHwgJ3RleHQnIHwgbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB0aGF0IGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIGNvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlubGluZUVycm9yOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgaWYgSW5wdXRTZWFyY2ggdXNlcyBhbiBpY29uIGF0IHRoZSBidXR0b24gb3IgdGhlIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dHNlYXJjaGljb25tb2RlOiAndGV4dCcgfCAnaWNvbicgfCAnbWl4ZWQnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmluZXMgdGhhdCB0aGUgbGFiZWxzIGFyZSBkaXNwbGF5ZWQgYXMgYWRhcHRpdmUgbGFiZWxzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlzQWRhcHRpdmVMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmUgc2l6ZSBmb3IgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZUxnOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBtZWRpdW0gZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZU1kOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBsYWJlbCBzaXplIGZvciBzbWFsbCBkZXZpY2VzXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWxTaXplU206IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBkZWZhdWx0IGxhYmVsIHNpemUgZm9yIGV4dHJhIGxhcmdlIGRldmljZXNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgY29sdW1uIHNpemVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbFNpemVYczogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIGRlZmF1bHQgbGFiZWwgc2l6ZSBmb3IgZXh0cmEgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZVh4bDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGFjaCBsYWJlbCB0ZXh0IGFuZCB0b29sdGlwIGZyb20gZWFjaCBvdGhlciBpbiBMYWJlbCBzbyB0aGF0IGxhYmVsIGFuZCB0b29sdGlwIGNhbiBiZSBhbGlnbmVkIGRpZmZlcmVudGx5LiBUaGlzIGlzIGluIEJvb3RzdHJhcCAzIG5vdCBzdXBwb3J0ZWQhXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3BsaXRsYWJlbGFuZGhlbHB0ZXh0OiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgaW5saW5lIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgZm9ybSBhcmUgYWN0aXZlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgSXNJbmxpbmVFcnJvckVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbmxpbmVFcnJvcjtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Function um ein Key Value Pair für das Dropdown zu erzeugen
3
+ * @param id ID
4
+ * @param value Wert der an das Element gebunden werden soll
5
+ */
6
+ export function _buildValueString(id, value) {
7
+ // Wenn ID null ist Object zurückgeben
8
+ if (id == null) {
9
+ return `${value}`;
10
+ }
11
+ // Mapping Objekt zu String
12
+ if (value && typeof value === 'object') {
13
+ value = 'Object';
14
+ }
15
+ // String als ID
16
+ return `${id}: ${value}`.slice(0, 50);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGR2YWx1ZXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2J1aWxkdmFsdWVzdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUFpQixFQUFFLEtBQVU7SUFDN0Qsc0NBQXNDO0lBQ3RDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNkLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztLQUNuQjtJQUVELDJCQUEyQjtJQUMzQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDdEMsS0FBSyxHQUFHLFFBQVEsQ0FBQztLQUNsQjtJQUVELGdCQUFnQjtJQUNoQixPQUFPLEdBQUcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBGdW5jdGlvbiB1bSBlaW4gS2V5IFZhbHVlIFBhaXIgZsO8ciBkYXMgRHJvcGRvd24genUgZXJ6ZXVnZW5cclxuICogQHBhcmFtIGlkIElEXHJcbiAqIEBwYXJhbSB2YWx1ZSBXZXJ0IGRlciBhbiBkYXMgRWxlbWVudCBnZWJ1bmRlbiB3ZXJkZW4gc29sbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmcgfCBudWxsLCB2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAvLyBXZW5uIElEIG51bGwgaXN0IE9iamVjdCB6dXLDvGNrZ2ViZW5cclxuICBpZiAoaWQgPT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGAke3ZhbHVlfWA7XHJcbiAgfVxyXG5cclxuICAvLyBNYXBwaW5nIE9iamVrdCB6dSBTdHJpbmdcclxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgdmFsdWUgPSAnT2JqZWN0JztcclxuICB9XHJcblxyXG4gIC8vIFN0cmluZyBhbHMgSURcclxuICByZXR1cm4gYCR7aWR9OiAke3ZhbHVlfWAuc2xpY2UoMCwgNTApO1xyXG59XHJcbiJdfQ==
@@ -4,4 +4,4 @@
4
4
  * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
5
  * tslint:disable
6
6
  */
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0cmVlaXRlbWFjdGlvbi5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvdHJlZXZpZXcvbmd0cmVlaXRlbWFjdGlvbi5uZ2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGR2YWx1ZXN0cmluZy5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9idWlsZHZhbHVlc3RyaW5nLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
@@ -2,13 +2,11 @@ import { Directive, ElementRef, Host, Injector, Input, Renderer2, } from '@angul
2
2
  import { SacBaseSelectControl } from '../../common/baseselectcontrol';
3
3
  import { Validation } from '../../validation';
4
4
  import { SacFormLayoutCommon } from '../layout/formlayout';
5
- // #region Classes
5
+ import { _buildValueString } from './buildvaluestring';
6
6
  /**
7
7
  * Base Dropdown Komponente
8
8
  */
9
9
  export class SacDropdownCommon extends SacBaseSelectControl {
10
- // #endregion Properties
11
- // #region Constructors
12
10
  /**
13
11
  * Constructor
14
12
  * @param formlayout SacFormLayoutCommon to define scoped layout settings
@@ -20,11 +18,18 @@ export class SacDropdownCommon extends SacBaseSelectControl {
20
18
  super(formlayout, injector);
21
19
  this.renderer = renderer;
22
20
  this.elementRef = elementRef;
23
- // #region Properties
24
21
  /**
25
22
  * compareWith-Funktion
26
23
  */
27
24
  this._compareWith = Object.is;
25
+ /**
26
+ * Counter vom OptionID; default Wert = 0
27
+ */
28
+ this._optionIdCounter = 0;
29
+ /**
30
+ * OptionMap
31
+ */
32
+ this._optionMap = new Map();
28
33
  /**
29
34
  * Label Text für Empty Item
30
35
  */
@@ -41,17 +46,7 @@ export class SacDropdownCommon extends SacBaseSelectControl {
41
46
  * Resource Key für Validation Message Required in Validation Summary
42
47
  */
43
48
  this.validationmessagesummaryrequired = this.validationKeyService.ValidationErrorSummaryRequired;
44
- /**
45
- * Counter vom OptionID; default Wert = 0
46
- */
47
- this._optionIdCounter = 0;
48
- /**
49
- * OptionMap
50
- */
51
- this._optionMap = new Map();
52
49
  }
53
- // #endregion Constructors
54
- // #region Public Getters And Setters
55
50
  /**
56
51
  * compareWith-Funktion
57
52
  */
@@ -61,8 +56,6 @@ export class SacDropdownCommon extends SacBaseSelectControl {
61
56
  }
62
57
  this._compareWith = fn;
63
58
  }
64
- // #endregion Public Getters And Setters
65
- // #region Public Methods
66
59
  /**
67
60
  * Registriert das OptionID-Counter als String
68
61
  */
@@ -97,6 +90,12 @@ export class SacDropdownCommon extends SacBaseSelectControl {
97
90
  if (this.isrequired) {
98
91
  error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
99
92
  }
93
+ if (error) {
94
+ return error;
95
+ }
96
+ if (this.isrequired && this.emptyvalue !== null) {
97
+ error = Validation.notequals(this.emptyvalue, this.validationmessagerequired, this.validationmessagesummaryrequired)(c);
98
+ }
100
99
  return error;
101
100
  }
102
101
  /**
@@ -107,8 +106,6 @@ export class SacDropdownCommon extends SacBaseSelectControl {
107
106
  this.setSelectedValue(value);
108
107
  super.writeValue(value);
109
108
  }
110
- // #endregion Public Methods
111
- // #region Private Methods
112
109
  /**
113
110
  * ID extrahieren
114
111
  * @param valueString String bei welchem die ID Extrahiert werden soll
@@ -172,99 +169,4 @@ SacDropdownCommon.propDecorators = {
172
169
  validationmessagesummaryrequired: [{ type: Input }],
173
170
  comparewith: [{ type: Input }]
174
171
  };
175
- /**
176
- * SacDropdownOption-Klasse
177
- */
178
- export class SacDropdownOptionCommon {
179
- // #endregion Properties
180
- // #region Constructors
181
- /**
182
- * Konstruktor
183
- * @param _element Referenz auf HTML Element
184
- * @param _renderer Render Engine
185
- * @param _dropdown Dropdown Instanz
186
- */
187
- constructor(_element, _renderer, _dropdown) {
188
- this._element = _element;
189
- this._renderer = _renderer;
190
- this._dropdown = _dropdown;
191
- // #region Properties
192
- /**
193
- * ID-String
194
- */
195
- this.id = null;
196
- if (this._dropdown) {
197
- this.id = this._dropdown.registerOption();
198
- }
199
- }
200
- // #endregion Constructors
201
- // #region Public Getters And Setters
202
- /**
203
- * Option ngValue
204
- */
205
- set ngValue(value) {
206
- // Cancel wenn kein Parent Dropdown vorhanden
207
- if (this._dropdown == null) {
208
- return;
209
- }
210
- this._dropdown.setOptionMap(this.id, value);
211
- this._setElementValue(_buildValueString(this.id, value));
212
- this._dropdown.writeValue(this._dropdown.value);
213
- }
214
- /**
215
- * Wert-Setter
216
- */
217
- set value(value) {
218
- this._setElementValue(value);
219
- }
220
- // #endregion Public Getters And Setters
221
- // #region Public Methods
222
- /**
223
- * Den Wert vom Option-Element einstellen
224
- * @param value Wert
225
- */
226
- _setElementValue(value) {
227
- this._renderer.setProperty(this._element.nativeElement, 'value', value);
228
- }
229
- /**
230
- * OnDestroy Event
231
- */
232
- ngOnDestroy() {
233
- if (this._dropdown) {
234
- this._dropdown._optionMap.delete(this.id);
235
- }
236
- }
237
- }
238
- SacDropdownOptionCommon.decorators = [
239
- { type: Directive }
240
- ];
241
- SacDropdownOptionCommon.ctorParameters = () => [
242
- { type: ElementRef },
243
- { type: Renderer2 },
244
- { type: SacDropdownCommon }
245
- ];
246
- SacDropdownOptionCommon.propDecorators = {
247
- ngValue: [{ type: Input }],
248
- value: [{ type: Input }]
249
- };
250
- // #endregion Classes
251
- // #region Functions
252
- /**
253
- * Function um ein Key Value Pair für das Dropdown zu erzeugen
254
- * @param id ID
255
- * @param value Wert der an das Element gebunden werden soll
256
- */
257
- export function _buildValueString(id, value) {
258
- // Wenn ID null ist Object zurückgeben
259
- if (id == null) {
260
- return `${value}`;
261
- }
262
- // Mapping Objekt zu String
263
- if (value && typeof value === 'object') {
264
- value = 'Object';
265
- }
266
- // String als ID
267
- return `${id}: ${value}`.slice(0, 50);
268
- }
269
- // #endregion Functions
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELGtCQUFrQjtBQUVsQjs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBeUI7SUFxQzlELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDVSxVQUErQixFQUN2QyxRQUFrQixFQUNWLFFBQW1CLEVBQ25CLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkRoQyxxQkFBcUI7UUFFckI7O1dBRUc7UUFDSyxpQkFBWSxHQUFrQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRWhFOztXQUVHO1FBQ2EsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4Qzs7V0FFRztRQUNhLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUM7O1dBRUc7UUFDYSw4QkFBeUIsR0FDdkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDO1FBQ3BEOztXQUVHO1FBRUkscUNBQWdDLEdBQ3JD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QzdELHNDQUFzQztJQUN0QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDZCxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7S0FDbkI7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ3RDLEtBQUssR0FBRyxRQUFRLENBQUM7S0FDbEI7SUFFRCxnQkFBZ0I7SUFDaEIsT0FBTyxHQUFHLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNCYXNlU2VsZWN0Q29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlc2VsZWN0Y29udHJvbCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcclxuXHJcbi8vICNyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgRHJvcGRvd24gS29tcG9uZW50ZVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNEcm9wZG93bkNvbW1vbiBleHRlbmRzIFNhY0Jhc2VTZWxlY3RDb250cm9sPGFueT4ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgVGV4dCBmw7xyIEVtcHR5IEl0ZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZW1wdHlsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eXZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBiZWkgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkOiBzdHJpbmcgPVxyXG4gICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQ6IHN0cmluZyA9XHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ291bnRlciB2b20gT3B0aW9uSUQ7IGRlZmF1bHQgV2VydCA9IDBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbklkQ291bnRlcjogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBPcHRpb25NYXBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbk1hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBodG1sIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogY29tcGFyZVdpdGgtRnVua3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29tcGFyZXdpdGgoZm46IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB7XHJcbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShmbil9YFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY29tcGFyZVdpdGggPSBmbjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyaWVydCBkYXMgT3B0aW9uSUQtQ291bnRlciBhbHMgU3RyaW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuX29wdGlvbklkQ291bnRlcisrKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgdm9uIE9wdGlvbnMgYXVmZ2VydWZlbiB3aXJkLCB1bSBkYXMgTWFwcGluZyB6d2lzY2hlbiBEcm9wZG93biBWYWx1ZSB1bmQgVmFsdWUgaGVyenVzdGVsbGVuLlxyXG4gICAqIEBwYXJhbSBpZDogSWQgYXVzIE9wdGlvbnNcclxuICAgKiBAcGFyYW0gdmFsdWU6IFZhbHVlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE9wdGlvbk1hcChpZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgLy8gU2VsZWN0ZWQgVmFsdWUgYXVmIENvbnRyb2wgYWt0dWFsaXNpZXJlbiwgd2VubiBWYWx1ZSBkZW0gU2VsZWN0ZWRWYWx1ZSBlbnRzcHJpY2h0XHJcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQgZWluc3RlbGxlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2VydCBzY2hyZWliZW5cclxuICAgKiBAcGFyYW0gdmFsdWUgLSBXZXJ0XHJcbiAgICovXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBJRCBleHRyYWhpZXJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZyBTdHJpbmcgYmVpIHdlbGNoZW0gZGllIElEIEV4dHJhaGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RJZCh2YWx1ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZVN0cmluZy5zcGxpdCgnOicpWzBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmltbXQgZGFzIElEIHZvbSBPcHRpb25cclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIGdldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGZvciAoY29uc3QgaWQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAua2V5cygpKSkge1xyXG4gICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgodGhpcy5fb3B0aW9uTWFwLmdldChpZCksIHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBTZWxlY3RlZCBWYWx1ZSBhdWYgZGVtIENvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU2VsZWN0IEl0ZW0gYXVzIENvbnRyb2wgbGVzZW5cclxuICAgIGNvbnN0IHNlbGVjdEl0ZW06IGFueSA9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTtcclxuICAgIC8qKlxyXG4gICAgICogSWQgdm9tIFNlbGVjdCBJdGVtXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgfCBudWxsID0gdGhpcy5nZXRPcHRpb25JZCh2YWx1ZSk7XHJcbiAgICAvKipcclxuICAgICAqIFZhbHVlIFN0cmluZ1xyXG4gICAgICovXHJcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IF9idWlsZFZhbHVlU3RyaW5nKGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHNlbGVjdEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTYWNEcm9wZG93bk9wdGlvbi1LbGFzc2VcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25PcHRpb25Db21tb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBJRC1TdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGlkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gX2VsZW1lbnQgUmVmZXJlbnogYXVmIEhUTUwgRWxlbWVudFxyXG4gICAqIEBwYXJhbSBfcmVuZGVyZXIgUmVuZGVyIEVuZ2luZVxyXG4gICAqIEBwYXJhbSBfZHJvcGRvd24gRHJvcGRvd24gSW5zdGFuelxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIF9kcm9wZG93bjogU2FjRHJvcGRvd25Db21tb25cclxuICApIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLmlkID0gdGhpcy5fZHJvcGRvd24ucmVnaXN0ZXJPcHRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIG5nVmFsdWVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbmdWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAvLyBDYW5jZWwgd2VubiBrZWluIFBhcmVudCBEcm9wZG93biB2b3JoYW5kZW5cclxuICAgIGlmICh0aGlzLl9kcm9wZG93biA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kcm9wZG93bi5zZXRPcHRpb25NYXAodGhpcy5pZCwgdmFsdWUpO1xyXG4gICAgdGhpcy5fc2V0RWxlbWVudFZhbHVlKF9idWlsZFZhbHVlU3RyaW5nKHRoaXMuaWQsIHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5fZHJvcGRvd24ud3JpdGVWYWx1ZSh0aGlzLl9kcm9wZG93bi52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0LVNldHRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9zZXRFbGVtZW50VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbiBXZXJ0IHZvbSBPcHRpb24tRWxlbWVudCBlaW5zdGVsbGVuXHJcbiAgICogQHBhcmFtIHZhbHVlIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uRGVzdHJveSBFdmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kcm9wZG93bikge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bi5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBDbGFzc2VzXHJcblxyXG4vLyAjcmVnaW9uIEZ1bmN0aW9uc1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHVtIGVpbiBLZXkgVmFsdWUgUGFpciBmw7xyIGRhcyBEcm9wZG93biB6dSBlcnpldWdlblxyXG4gKiBAcGFyYW0gaWQgSURcclxuICogQHBhcmFtIHZhbHVlIFdlcnQgZGVyIGFuIGRhcyBFbGVtZW50IGdlYnVuZGVuIHdlcmRlbiBzb2xsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX2J1aWxkVmFsdWVTdHJpbmcoaWQ6IHN0cmluZyB8IG51bGwsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gIC8vIFdlbm4gSUQgbnVsbCBpc3QgT2JqZWN0IHp1csO8Y2tnZWJlblxyXG4gIGlmIChpZCA9PSBudWxsKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWV9YDtcclxuICB9XHJcblxyXG4gIC8vIE1hcHBpbmcgT2JqZWt0IHp1IFN0cmluZ1xyXG4gIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICB2YWx1ZSA9ICdPYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RyaW5nIGFscyBJRFxyXG4gIHJldHVybiBgJHtpZH06ICR7dmFsdWV9YC5zbGljZSgwLCA1MCk7XHJcbn1cclxuXHJcbi8vICNlbmRyZWdpb24gRnVuY3Rpb25zXHJcbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUF5QjtJQXVDOUQ7Ozs7OztPQU1HO0lBQ0gsWUFDVSxVQUErQixFQUN2QyxRQUFrQixFQUNWLFFBQW1CLEVBQ25CLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBakRoQzs7V0FFRztRQUNLLGlCQUFZLEdBQWtDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFaEU7O1dBRUc7UUFDSSxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFcEM7O1dBRUc7UUFDSSxlQUFVLEdBQXFCLElBQUksR0FBRyxFQUFlLENBQUM7UUFFN0Q7O1dBRUc7UUFDYSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXhDOztXQUVHO1FBQ2EsZUFBVSxHQUFXLElBQUksQ0FBQztRQUUxQzs7V0FFRztR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Q0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLEtBQVU7UUFDakMsZ0NBQWdDO1FBQ2hDLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFOztXQUVHO1FBQ0gsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQ7O1dBRUc7UUFDSCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakQsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOzs7WUExTEYsU0FBUzs7O1lBTkQsbUJBQW1CLHVCQXNEdkIsSUFBSTtZQTdEUCxRQUFRO1lBRVIsU0FBUztZQUpULFVBQVU7Ozt5QkFtQ1QsS0FBSzt5QkFLTCxLQUFLO3dDQUtMLEtBQUs7K0NBTUwsS0FBSzswQkF1QkwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjQmFzZVNlbGVjdENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZXNlbGVjdGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XHJcbmltcG9ydCB7IF9idWlsZFZhbHVlU3RyaW5nIH0gZnJvbSAnLi9idWlsZHZhbHVlc3RyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIERyb3Bkb3duIEtvbXBvbmVudGVcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjRHJvcGRvd25Db21tb24gZXh0ZW5kcyBTYWNCYXNlU2VsZWN0Q29udHJvbDxhbnk+IHtcclxuICAvKipcclxuICAgKiBjb21wYXJlV2l0aC1GdW5rdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbiA9IE9iamVjdC5pcztcclxuXHJcbiAgLyoqXHJcbiAgICogQ291bnRlciB2b20gT3B0aW9uSUQ7IGRlZmF1bHQgV2VydCA9IDBcclxuICAgKi9cclxuICBwdWJsaWMgX29wdGlvbklkQ291bnRlcjogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uTWFwXHJcbiAgICovXHJcbiAgcHVibGljIF9vcHRpb25NYXA6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBMYWJlbCBUZXh0IGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eWxhYmVsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uIFZhbHVlIGbDvHIgRW1wdHkgSXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbXB0eXZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID1cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtbGF5b3V0IFNhY0Zvcm1MYXlvdXRDb21tb24gdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSByZW5kZXJlciBodG1sIHJlbmRlcmluZyBlbmdpbmVcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbXBhcmVXaXRoLUZ1bmt0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNvbXBhcmV3aXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyaWVydCBkYXMgT3B0aW9uSUQtQ291bnRlciBhbHMgU3RyaW5nXHJcbiAgICovXHJcbiAgcHVibGljIHJlZ2lzdGVyT3B0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuX29wdGlvbklkQ291bnRlcisrKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBkaWUgdm9uIE9wdGlvbnMgYXVmZ2VydWZlbiB3aXJkLCB1bSBkYXMgTWFwcGluZyB6d2lzY2hlbiBEcm9wZG93biBWYWx1ZSB1bmQgVmFsdWUgaGVyenVzdGVsbGVuLlxyXG4gICAqIEBwYXJhbSBpZDogSWQgYXVzIE9wdGlvbnNcclxuICAgKiBAcGFyYW0gdmFsdWU6IFZhbHVlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE9wdGlvbk1hcChpZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgLy8gU2VsZWN0ZWQgVmFsdWUgYXVmIENvbnRyb2wgYWt0dWFsaXNpZXJlbiwgd2VubiBWYWx1ZSBkZW0gU2VsZWN0ZWRWYWx1ZSBlbnRzcHJpY2h0XHJcbiAgICBpZiAodGhpcy52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdlcnQgZWluc3RlbGxlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgc3VwZXIuc2V0VmFsdWUodGhpcy5nZXRPcHRpb25WYWx1ZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICogQHBhcmFtIGMgQ29udHJvbCBJbnN0YW56XHJcbiAgICovXHJcbiAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XHJcbiAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZFxyXG4gICAgICApKGMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNyZXF1aXJlZCAmJiB0aGlzLmVtcHR5dmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm5vdGVxdWFscyhcclxuICAgICAgICB0aGlzLmVtcHR5dmFsdWUsXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWRcclxuICAgICAgKShjKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXZXJ0IHNjaHJlaWJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdlcnRcclxuICAgKi9cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodmFsdWUpO1xyXG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJRCBleHRyYWhpZXJlblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZyBTdHJpbmcgYmVpIHdlbGNoZW0gZGllIElEIEV4dHJhaGllcnQgd2VyZGVuIHNvbGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4dHJhY3RJZCh2YWx1ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZVN0cmluZy5zcGxpdCgnOicpWzBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmltbXQgZGFzIElEIHZvbSBPcHRpb25cclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIGdldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGZvciAoY29uc3QgaWQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAua2V5cygpKSkge1xyXG4gICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgodGhpcy5fb3B0aW9uTWFwLmdldChpZCksIHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOaW1tdCBkZW4gU3RyaW5nLVdlcnQgdm9tIE9wdGlvblxyXG4gICAqIEBwYXJhbSB2YWx1ZVN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBpZDogc3RyaW5nID0gdGhpcy5leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRlbiBTZWxlY3RlZCBWYWx1ZSBhdWYgZGVtIENvbnRyb2xcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU2VsZWN0IEl0ZW0gYXVzIENvbnRyb2wgbGVzZW5cclxuICAgIGNvbnN0IHNlbGVjdEl0ZW06IGFueSA9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTtcclxuICAgIC8qKlxyXG4gICAgICogSWQgdm9tIFNlbGVjdCBJdGVtXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGlkOiBzdHJpbmcgfCBudWxsID0gdGhpcy5nZXRPcHRpb25JZCh2YWx1ZSk7XHJcbiAgICAvKipcclxuICAgICAqIFZhbHVlIFN0cmluZ1xyXG4gICAgICovXHJcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IF9idWlsZFZhbHVlU3RyaW5nKGlkLCB2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHNlbGVjdEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEl0ZW0sICd2YWx1ZScsIHZhbHVlU3RyaW5nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19