@simpleangularcontrols/sac-common 10.0.0-rc.29 → 10.0.0-rc.30

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 (267) hide show
  1. package/bundles/simpleangularcontrols-sac-common.umd.js +1848 -1249
  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 +47 -21
  6. package/common/baseinputcontrol.d.ts +10 -8
  7. package/common/baselistcontrol.d.ts +15 -15
  8. package/common/basemodelcontrol.d.ts +59 -43
  9. package/common/baseselectcontrol.d.ts +5 -5
  10. package/common/baseuploadcontrol.d.ts +77 -57
  11. package/components/browser/browser.d.ts +86 -89
  12. package/components/browser/models/browserfile.d.ts +6 -6
  13. package/components/browser/models/browserfiledeleterequest.d.ts +7 -7
  14. package/components/browser/models/browserfilerenamerequest.d.ts +10 -10
  15. package/components/browser/models/browserfileresponse.d.ts +2 -2
  16. package/components/browser/models/browserfilesaverequest.d.ts +7 -7
  17. package/components/browser/models/browsernode.d.ts +13 -13
  18. package/components/browser/models/browsernodedeleterequest.d.ts +6 -6
  19. package/components/browser/models/browsernodenewrequest.d.ts +7 -7
  20. package/components/browser/models/browsernoderenamerequest.d.ts +7 -7
  21. package/components/browser/models/browsernoderequest.d.ts +7 -7
  22. package/components/browser/models/browsernoderesponse.d.ts +1 -1
  23. package/controls/buttons/button.d.ts +25 -19
  24. package/controls/checkbox/checkbox.d.ts +3 -3
  25. package/controls/checkbox/radiobutton.d.ts +19 -13
  26. package/controls/checkbox/radiobuttons.d.ts +13 -10
  27. package/controls/confirm/confirm.button.d.ts +3 -3
  28. package/controls/confirm/confirm.d.ts +13 -12
  29. package/controls/confirm/confirm.service.d.ts +14 -14
  30. package/controls/contextmenu/contextmenu.d.ts +33 -27
  31. package/controls/contextmenu/contextmenu.interface.d.ts +6 -0
  32. package/controls/contextmenu/contextmenuanchor.d.ts +4 -4
  33. package/controls/contextmenu/contextmenucontainer.d.ts +4 -4
  34. package/controls/contextmenu/contextmenuitembutton.d.ts +12 -12
  35. package/controls/datetime/date.d.ts +11 -11
  36. package/controls/datetime/dateselector.d.ts +47 -40
  37. package/controls/datetime/datetime.d.ts +15 -14
  38. package/controls/datetime/time.d.ts +22 -12
  39. package/controls/dialog/dialog.d.ts +28 -22
  40. package/controls/form/form.d.ts +17 -12
  41. package/controls/grid/grid.d.ts +1 -0
  42. package/controls/grid/gridbutton.d.ts +1 -0
  43. package/controls/grid/gridcolumn.d.ts +5 -1
  44. package/controls/grid/gridcolumnaction.d.ts +1 -1
  45. package/controls/grid/gridcolumnbase.d.ts +8 -3
  46. package/controls/grid/model.d.ts +5 -2
  47. package/controls/grid/paging.d.ts +2 -3
  48. package/controls/input/input.d.ts +7 -7
  49. package/controls/input/inputarea.d.ts +8 -6
  50. package/controls/input/inputcurrency.d.ts +4 -1
  51. package/controls/input/inputdecimal.d.ts +14 -14
  52. package/controls/input/inputemail.d.ts +4 -4
  53. package/controls/input/inputinteger.d.ts +14 -14
  54. package/controls/input/inputpassword.d.ts +3 -3
  55. package/controls/input/inputsearch.d.ts +8 -5
  56. package/controls/layout/formlayout.d.ts +8 -5
  57. package/controls/list/buildvaluestring.d.ts +2 -2
  58. package/controls/list/dropdown.d.ts +23 -22
  59. package/controls/list/dropdownoptions.d.ts +10 -10
  60. package/controls/list/listbox.d.ts +25 -23
  61. package/controls/multilanguage/multilanguageinput.d.ts +25 -25
  62. package/controls/multilanguage/multilanguageinputarea.d.ts +27 -27
  63. package/controls/static/formcontainer.d.ts +8 -8
  64. package/controls/static/staticlabel.d.ts +5 -5
  65. package/controls/tabs/tab.d.ts +2 -2
  66. package/controls/tabs/tabitem.d.ts +7 -7
  67. package/controls/tinymce/tinymce.d.ts +37 -37
  68. package/controls/tinymce/tinymcedialogsettings.d.ts +6 -6
  69. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +2 -2
  70. package/controls/tinymce/tinymceinstance.d.ts +2 -2
  71. package/controls/tooltip/tooltip.d.ts +10 -5
  72. package/controls/treeview/treeview.d.ts +50 -5
  73. package/controls/upload/dropzonemultiple.d.ts +16 -16
  74. package/controls/upload/dropzonesingle.d.ts +11 -11
  75. package/controls/upload/uploadmultiple.d.ts +12 -12
  76. package/controls/upload/uploadsingle.d.ts +7 -7
  77. package/controls/validation/validationsummary.d.ts +12 -11
  78. package/controls/wizard/wizard.d.ts +25 -18
  79. package/controls/wizard/wizarditem.d.ts +5 -5
  80. package/enums/ButtonRoleType.d.ts +26 -1
  81. package/enums/ControlHeight.d.ts +1 -1
  82. package/enums/IconType.d.ts +1 -1
  83. package/esm2015/common/basedatetimecontrol.js +47 -22
  84. package/esm2015/common/baseinputcontrol.js +13 -11
  85. package/esm2015/common/baselistcontrol.js +21 -17
  86. package/esm2015/common/basemodelcontrol.js +72 -49
  87. package/esm2015/common/baseselectcontrol.js +11 -9
  88. package/esm2015/common/baseuploadcontrol.js +69 -49
  89. package/esm2015/components/browser/browser.js +93 -105
  90. package/esm2015/components/browser/models/browserfile.js +1 -1
  91. package/esm2015/components/browser/models/browserfiledeleterequest.js +6 -4
  92. package/esm2015/components/browser/models/browserfilerenamerequest.js +6 -4
  93. package/esm2015/components/browser/models/browserfileresponse.js +1 -1
  94. package/esm2015/components/browser/models/browserfilesaverequest.js +5 -3
  95. package/esm2015/components/browser/models/browsernode.js +1 -1
  96. package/esm2015/components/browser/models/browsernodedeleterequest.js +6 -4
  97. package/esm2015/components/browser/models/browsernodenewrequest.js +6 -4
  98. package/esm2015/components/browser/models/browsernoderenamerequest.js +6 -4
  99. package/esm2015/components/browser/models/browsernoderequest.js +6 -4
  100. package/esm2015/components/browser/models/browsernoderesponse.js +1 -1
  101. package/esm2015/controls/buttons/button.js +26 -20
  102. package/esm2015/controls/checkbox/checkbox.js +3 -3
  103. package/esm2015/controls/checkbox/radiobutton.js +21 -15
  104. package/esm2015/controls/checkbox/radiobuttons.js +14 -11
  105. package/esm2015/controls/confirm/confirm.button.js +4 -4
  106. package/esm2015/controls/confirm/confirm.js +14 -13
  107. package/esm2015/controls/confirm/confirm.service.js +21 -21
  108. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -1
  109. package/esm2015/controls/contextmenu/contextmenu.js +29 -23
  110. package/esm2015/controls/contextmenu/contextmenuanchor.js +4 -4
  111. package/esm2015/controls/contextmenu/contextmenucontainer.js +4 -4
  112. package/esm2015/controls/contextmenu/contextmenuitembutton.js +10 -10
  113. package/esm2015/controls/datetime/date.js +13 -13
  114. package/esm2015/controls/datetime/dateselector.js +55 -54
  115. package/esm2015/controls/datetime/datetime.js +17 -16
  116. package/esm2015/controls/datetime/time.js +24 -14
  117. package/esm2015/controls/dialog/dialog.js +31 -24
  118. package/esm2015/controls/form/form.js +18 -13
  119. package/esm2015/controls/grid/grid.js +2 -1
  120. package/esm2015/controls/grid/gridbutton.js +2 -1
  121. package/esm2015/controls/grid/gridcolumn.js +6 -2
  122. package/esm2015/controls/grid/gridcolumnaction.js +2 -2
  123. package/esm2015/controls/grid/gridcolumnbase.js +9 -4
  124. package/esm2015/controls/grid/model.js +5 -2
  125. package/esm2015/controls/grid/paging.js +6 -7
  126. package/esm2015/controls/input/input.js +8 -8
  127. package/esm2015/controls/input/inputarea.js +9 -7
  128. package/esm2015/controls/input/inputcurrency.js +6 -3
  129. package/esm2015/controls/input/inputdecimal.js +21 -27
  130. package/esm2015/controls/input/inputemail.js +5 -5
  131. package/esm2015/controls/input/inputinteger.js +19 -23
  132. package/esm2015/controls/input/inputpassword.js +4 -4
  133. package/esm2015/controls/input/inputsearch.js +9 -6
  134. package/esm2015/controls/layout/formlayout.js +10 -7
  135. package/esm2015/controls/list/buildvaluestring.js +6 -6
  136. package/esm2015/controls/list/dropdown.js +28 -27
  137. package/esm2015/controls/list/dropdownoptions.js +12 -12
  138. package/esm2015/controls/list/listbox.js +26 -24
  139. package/esm2015/controls/multilanguage/multilanguageinput.js +29 -29
  140. package/esm2015/controls/multilanguage/multilanguageinputarea.js +31 -31
  141. package/esm2015/controls/static/formcontainer.js +10 -10
  142. package/esm2015/controls/static/staticlabel.js +7 -7
  143. package/esm2015/controls/tabs/tab.js +2 -2
  144. package/esm2015/controls/tabs/tabitem.js +5 -5
  145. package/esm2015/controls/tinymce/tinymce.js +35 -35
  146. package/esm2015/controls/tinymce/tinymcedialogsettings.js +4 -4
  147. package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +1 -1
  148. package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
  149. package/esm2015/controls/tooltip/tooltip.js +13 -8
  150. package/esm2015/controls/treeview/treeview.js +52 -7
  151. package/esm2015/controls/upload/dropzonemultiple.js +18 -18
  152. package/esm2015/controls/upload/dropzonesingle.js +12 -12
  153. package/esm2015/controls/upload/uploadmultiple.js +14 -14
  154. package/esm2015/controls/upload/uploadsingle.js +8 -8
  155. package/esm2015/controls/validation/validationsummary.js +14 -13
  156. package/esm2015/controls/wizard/wizard.js +24 -17
  157. package/esm2015/controls/wizard/wizarditem.js +4 -4
  158. package/esm2015/enums/ButtonRoleType.js +1 -1
  159. package/esm2015/enums/ControlHeight.js +2 -2
  160. package/esm2015/enums/IconType.js +2 -2
  161. package/esm2015/interfaces/ISacConfigurationService.js +1 -1
  162. package/esm2015/interfaces/ISacFileBrowserService.js +1 -1
  163. package/esm2015/interfaces/ISacLabelSizes.js +1 -1
  164. package/esm2015/interfaces/ISacLanguageService.js +1 -1
  165. package/esm2015/interfaces/ISacLocalisationService.js +1 -1
  166. package/esm2015/interfaces/ISacUploadEventCompleteState.js +1 -1
  167. package/esm2015/interfaces/iabstractcontrollabel.js +1 -1
  168. package/esm2015/interfaces/iconfirmcomponent.js +1 -1
  169. package/esm2015/interfaces/idatetimecontrol.js +1 -1
  170. package/esm2015/interfaces/iuploadcontrol.js +1 -1
  171. package/esm2015/interfaces/treeviewaction.interface.js +1 -1
  172. package/esm2015/models/languagemodel.js +5 -3
  173. package/esm2015/public_api.js +3 -2
  174. package/esm2015/services/index.js +4 -4
  175. package/esm2015/services/sac-configuration.service.js +7 -1
  176. package/esm2015/services/sac-filebrowser.service.js +46 -38
  177. package/esm2015/services/sac-localisation.service.js +11 -7
  178. package/esm2015/services/sac-validationkey.service.js +148 -1
  179. package/esm2015/utilities/convertion.js +7 -5
  180. package/esm2015/utilities/datatypes.js +6 -4
  181. package/esm2015/utilities/enums.js +9 -8
  182. package/esm2015/utilities/guid.js +2 -2
  183. package/esm2015/utilities/interpolation.js +16 -9
  184. package/esm2015/utilities/popuphelper.js +62 -25
  185. package/esm2015/utilities/positioncalculator.js +209 -0
  186. package/esm2015/utilities/positioncalculator.ngfactory.js +7 -0
  187. package/esm2015/utilities/positionelements.js +108 -0
  188. package/esm2015/utilities/positionelements.ngfactory.js +7 -0
  189. package/esm2015/utilities/testingattribute.pipe.js +17 -2
  190. package/esm2015/validation/email.validator.js +11 -2
  191. package/esm2015/validation/equals.validator.js +11 -1
  192. package/esm2015/validation/index.js +1 -1
  193. package/esm2015/validation/invaliddate.validator.js +11 -2
  194. package/esm2015/validation/isDateValid.js +11 -10
  195. package/esm2015/validation/maxdate.validator.js +14 -4
  196. package/esm2015/validation/maxtime.validator.js +14 -4
  197. package/esm2015/validation/maxvalue.validator.js +12 -2
  198. package/esm2015/validation/mindate.validator.js +14 -4
  199. package/esm2015/validation/minfiles.validator.js +12 -2
  200. package/esm2015/validation/mintextlength.validator.js +9 -1
  201. package/esm2015/validation/mintime.validator.js +14 -4
  202. package/esm2015/validation/minvalue.validator.js +12 -2
  203. package/esm2015/validation/multilanguagerequired.validator.js +11 -1
  204. package/esm2015/validation/multilanguagerequiredany.validator.js +11 -1
  205. package/esm2015/validation/notequals.validator.js +11 -1
  206. package/esm2015/validation/pattern.validator.js +12 -2
  207. package/esm2015/validation/required.validator.js +11 -2
  208. package/esm2015/validation/validation.class.js +84 -101
  209. package/esm2015/validation/validationerrorcreator.js +12 -1
  210. package/esm2015/validation/validationerroritem.js +11 -9
  211. package/fesm2015/simpleangularcontrols-sac-common.js +1823 -1226
  212. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  213. package/interfaces/ISacConfigurationService.d.ts +9 -1
  214. package/interfaces/ISacFileBrowserService.d.ts +43 -43
  215. package/interfaces/ISacLabelSizes.d.ts +15 -12
  216. package/interfaces/ISacLanguageService.d.ts +3 -3
  217. package/interfaces/ISacLocalisationService.d.ts +2 -2
  218. package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
  219. package/interfaces/iabstractcontrollabel.d.ts +4 -1
  220. package/interfaces/iconfirmcomponent.d.ts +6 -6
  221. package/interfaces/idatetimecontrol.d.ts +10 -1
  222. package/interfaces/treeviewaction.interface.d.ts +9 -0
  223. package/models/languagemodel.d.ts +9 -9
  224. package/package.json +1 -1
  225. package/public_api.d.ts +2 -1
  226. package/services/index.d.ts +3 -3
  227. package/services/sac-configuration.service.d.ts +8 -0
  228. package/services/sac-filebrowser.service.d.ts +78 -70
  229. package/services/sac-localisation.service.d.ts +11 -7
  230. package/services/sac-validationkey.service.d.ts +147 -0
  231. package/simpleangularcontrols-sac-common-10.0.0-rc.30.tgz +0 -0
  232. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  233. package/utilities/convertion.d.ts +4 -4
  234. package/utilities/datatypes.d.ts +3 -3
  235. package/utilities/enums.d.ts +8 -1
  236. package/utilities/guid.d.ts +1 -1
  237. package/utilities/interpolation.d.ts +9 -8
  238. package/utilities/popuphelper.d.ts +47 -10
  239. package/utilities/positioncalculator.d.ts +82 -0
  240. package/utilities/positionelements.d.ts +30 -0
  241. package/utilities/positionelements.ngfactory.d.ts +1 -0
  242. package/utilities/testingattribute.pipe.d.ts +16 -1
  243. package/validation/email.validator.d.ts +7 -0
  244. package/validation/equals.validator.d.ts +8 -0
  245. package/validation/invaliddate.validator.d.ts +7 -0
  246. package/validation/isDateValid.d.ts +5 -2
  247. package/validation/maxdate.validator.d.ts +8 -0
  248. package/validation/maxtime.validator.d.ts +8 -0
  249. package/validation/maxvalue.validator.d.ts +8 -0
  250. package/validation/mindate.validator.d.ts +8 -0
  251. package/validation/minfiles.validator.d.ts +8 -0
  252. package/validation/mintextlength.validator.d.ts +8 -0
  253. package/validation/mintime.validator.d.ts +8 -0
  254. package/validation/minvalue.validator.d.ts +8 -0
  255. package/validation/multilanguagerequired.validator.d.ts +9 -1
  256. package/validation/multilanguagerequiredany.validator.d.ts +9 -1
  257. package/validation/notequals.validator.d.ts +8 -0
  258. package/validation/pattern.validator.d.ts +8 -0
  259. package/validation/required.validator.d.ts +7 -0
  260. package/validation/validation.class.d.ts +83 -100
  261. package/validation/validationerrorcreator.d.ts +9 -0
  262. package/validation/validationerroritem.d.ts +16 -16
  263. package/esm2015/utilities/positioning.js +0 -301
  264. package/esm2015/utilities/positioning.ngfactory.js +0 -7
  265. package/simpleangularcontrols-sac-common-10.0.0-rc.29.tgz +0 -0
  266. package/utilities/positioning.d.ts +0 -82
  267. /package/utilities/{positioning.ngfactory.d.ts → positioncalculator.ngfactory.d.ts} +0 -0
@@ -1,24 +1,24 @@
1
1
  import { SACICON_SERVICE, SacDefaultIconService } from '../../services';
2
2
  import { createGuid } from '../../utilities/guid';
3
- import { positionElements } from '../../utilities/positioning';
3
+ import { positionElements } from '../../utilities/positionelements';
4
4
  import { SacContextmenuAnchorCommon } from './contextmenuanchor';
5
5
  import { SacContextMenuContrainerCommon } from './contextmenucontainer';
6
6
  import { SacContextmenuItemCommon } from './contextmenuitem';
7
7
  import { DOCUMENT } from '@angular/common';
8
8
  import { ContentChild, ContentChildren, Directive, ElementRef, HostListener, Inject, Injector, Input, NgZone, QueryList, Renderer2, TemplateRef, ViewChild, } from '@angular/core';
9
9
  /**
10
- * Base Context Menü Element. Die Logik wurde aus NG-BOOTSTRAP übernommen.
10
+ * Base context menu element. The logic was taken from NG-BOOTSTRAP.
11
11
  */
12
12
  export class SacContextmenuCommon {
13
13
  // #endregion Properties
14
14
  // #region Constructors
15
15
  /**
16
- * Konstruktor
17
- * @param document HTML Document Element
18
- * @param ngZone Angular Zone Service
19
- * @param elementRef HTML Element des aktuellen Controls
20
- * @param renderer Angular Rendering Service
21
- * @param injector injector to resolve the icon service
16
+ * Constructor
17
+ * @param document HTML document element
18
+ * @param ngZone Angular zone service
19
+ * @param elementRef HTML element of the current control
20
+ * @param renderer Angular rendering service
21
+ * @param injector Injector to resolve the icon service
22
22
  */
23
23
  constructor(document, ngZone, elementRef, renderer, injector) {
24
24
  this.document = document;
@@ -30,11 +30,11 @@ export class SacContextmenuCommon {
30
30
  */
31
31
  this.bodyContainer = null;
32
32
  /**
33
- * Container an welchem die Position ausgerichtet wird. Aktuell wird nun Body Supported
33
+ * Container to which the position is aligned. Currently only body is supported.
34
34
  */
35
35
  this.container = 'body';
36
36
  /**
37
- * Extra CSS Klassen für das Control
37
+ * Extra CSS classes for the control
38
38
  */
39
39
  this.cssclass = '';
40
40
  /**
@@ -42,7 +42,7 @@ export class SacContextmenuCommon {
42
42
  */
43
43
  this.e2eidentifier = null;
44
44
  /**
45
- * Definiert ob das Dropdown offen ist.
45
+ * Defines whether the dropdown is open.
46
46
  */
47
47
  this.isopen = false;
48
48
  /**
@@ -71,7 +71,7 @@ export class SacContextmenuCommon {
71
71
  // #endregion Constructors
72
72
  // #region Public Getters And Setters
73
73
  /**
74
- * icon for default context menü button
74
+ * Icon for default context menu button
75
75
  */
76
76
  get IconContextMenu() {
77
77
  return this.iconService.ContextMenuOpenIcon;
@@ -79,17 +79,23 @@ export class SacContextmenuCommon {
79
79
  // #endregion Public Getters And Setters
80
80
  // #region Public Methods
81
81
  /**
82
- * Schliesst das Dropdown
82
+ * Closes the dropdown
83
83
  */
84
84
  close() {
85
85
  this._resetContainer();
86
86
  this.isopen = false;
87
87
  }
88
+ /**
89
+ * Lifecycle hook that is called after content projection is completed.
90
+ *
91
+ * Associates each menu item with this context menu instance so that item
92
+ * events can delegate to the parent menu.
93
+ */
88
94
  ngAfterContentInit() {
89
95
  this.menuitems.forEach((button) => (button.contextmenu = this));
90
96
  }
91
97
  /**
92
- * Event wenn Component entfernt wird.
98
+ * Event when component is destroyed.
93
99
  */
94
100
  ngOnDestroy() {
95
101
  if (this.isopen) {
@@ -98,7 +104,7 @@ export class SacContextmenuCommon {
98
104
  this.zoneSubscription.unsubscribe();
99
105
  }
100
106
  /**
101
- * HostListener um das Dropdown zu schliessen wenn nicht auf das Element geklickt wird.
107
+ * HostListener to close the dropdown when clicking outside the element.
102
108
  */
103
109
  onClick(targetElement) {
104
110
  const anchor = this._anchor || this._anchorTemplate;
@@ -109,14 +115,14 @@ export class SacContextmenuCommon {
109
115
  }
110
116
  }
111
117
  /**
112
- * Öffnet das Dropdown / Zeigt das Menü an.
118
+ * Opens the dropdown / shows the menu.
113
119
  */
114
120
  open() {
115
121
  this._applyContainer(this.container);
116
122
  this.isopen = true;
117
123
  }
118
124
  /**
119
- * Toggle von Dropdown
125
+ * Toggle dropdown
120
126
  */
121
127
  toggle() {
122
128
  if (this.isopen) {
@@ -129,7 +135,7 @@ export class SacContextmenuCommon {
129
135
  // #endregion Public Methods
130
136
  // #region Protected Methods
131
137
  /**
132
- * Setzt die Position des Menüs im Markup
138
+ * Sets the position of the menu in the markup
133
139
  */
134
140
  _positionMenu() {
135
141
  const anchor = this._anchor || this._anchorTemplate;
@@ -140,9 +146,9 @@ export class SacContextmenuCommon {
140
146
  // #endregion Protected Methods
141
147
  // #region Private Methods
142
148
  /**
143
- * Setzt die Position des Menüs innerhalb der Seite. Die Ausrichtung passiert innerhalb der Seite
144
- * damit das Menü innerhalb eines Dialogs sauber funktionioniert.
145
- * @param container Definiert wo das Menü ausgerichtet wird. Im Moment nur BODY Supported
149
+ * Sets the position of the menu within the page. The alignment happens within the page
150
+ * so that the menu works correctly inside a dialog.
151
+ * @param container Defines where the menu is aligned. Currently only BODY is supported
146
152
  */
147
153
  _applyContainer(container = null) {
148
154
  // Reset Classes on Container
@@ -160,7 +166,7 @@ export class SacContextmenuCommon {
160
166
  }
161
167
  }
162
168
  /**
163
- * Setzt die CSS Klassen auf dem Menü Container auf den Standard zurück
169
+ * Resets the CSS classes on the menu container to default
164
170
  */
165
171
  _resetContainer() {
166
172
  const renderer = this.renderer;
@@ -201,4 +207,4 @@ SacContextmenuCommon.propDecorators = {
201
207
  placement: [{ type: Input }],
202
208
  onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
203
209
  };
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUE2RjdCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7Ozs7T0FPRztJQUNILFlBQ3VDLFFBQWEsRUFDL0IsTUFBYyxFQUNkLFVBQW1DLEVBQ25DLFFBQW1CLEVBQ3BDLFFBQWtCO1FBSmlCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsV0FBTSxHQUFO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Jy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcbmltcG9ydCB7IFNBQ0lDT05fU0VSVklDRSwgU2FjRGVmYXVsdEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgY3JlYXRlR3VpZCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9ndWlkJztcbmltcG9ydCB7IFBsYWNlbWVudEFycmF5LCBwb3NpdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IElTYWNDb250ZXh0bWVudUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVpdGVtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBCYXNlIENvbnRleHQgTWVuw7wgRWxlbWVudC4gRGllIExvZ2lrIHd1cmRlIGF1cyBORy1CT09UU1RSQVAgw7xiZXJub21tZW4uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51Q29tbW9uIGltcGxlbWVudHMgSVNhY0NvbnRleHRtZW51Q29tbW9uLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGbDvHIgT3Blbi9DbG9zZSBFdmVudFxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvcjogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZsO8ciBPcGVuL0Nsb3NlIEV2ZW50IGF1cyBUZW1wbGF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24sIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FuY2hvclRlbXBsYXRlOiBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBFbGVtZW50IGbDvHIgRHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudTogU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogWm9uZSBTdWJzY3JpcHRpb24gZsO8ciBQb3N0aXRvbmllcnVuZyBkZXMgRWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEJvZHkgSFRNTCBFbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBib2R5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gSFRNTCBUZW1wbGF0ZSBmw7xyIERyb3Bkb3duIEJ1dHRvbi4gQnV0dG9uIG11c3MgZGVuIE1hcmtlciBcIm5nQ29udGV4dG1lbnVBbmNob3JcIiBiZWluaGFsdGVuLCBkYW1pdCBkYXMgQ29udHJvbCBrb3JyZWt0IGZ1bmt0aW9uaWVydC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciBhbiB3ZWxjaGVtIGRpZSBQb3NpdGlvbiBhdXNnZXJpY2h0ZXQgd2lyZC4gQWt0dWVsbCB3aXJkIG51biBCb2R5IFN1cHBvcnRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9ICdib2R5JztcblxuICAgIC8qKlxuICAgICAqIEV4dHJhIENTUyBLbGFzc2VuIGbDvHIgZGFzIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjc3NjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGFzIERyb3Bkb3duIG9mZmVuIGlzdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc29wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFsbCBkaXJlY3RseSBhc3NpZ25lZCBjb250ZXh0IG1lbnUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGUgZGlyZWN0IHRlbXBsYXRlIGZvciB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxuICAgIHB1YmxpYyBtZW51aXRlbXMhOiBRdWVyeUxpc3Q8U2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uPjtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxuICAgICAqIGBcImJvdHRvbS1yaWdodFwiYCwgYFwibGVmdFwiYCwgYFwibGVmdC10b3BcImAsIGBcImxlZnQtYm90dG9tXCJgLCBgXCJyaWdodFwiYCwgYFwicmlnaHQtdG9wXCJgLFxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxuICAgICAqXG4gICAgICogQWNjZXB0cyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc3RyaW5nIHdpdGggc3BhY2Ugc2VwYXJhdGVkIHBvc3NpYmxlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxuICAgICAqXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIERvY3VtZW50IEVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmdab25lIEFuZ3VsYXIgWm9uZSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBFbGVtZW50IGRlcyBha3R1ZWxsZW4gQ29udHJvbHNcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciBSZW5kZXJpbmcgU2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBpbmplY3RvciB0byByZXNvbHZlIHRoZSBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBpY29uIGZvciBkZWZhdWx0IGNvbnRleHQgbWVuw7wgYnV0dG9uXG4gICAgICovXG4gICAgcHVibGljIGdldCBJY29uQ29udGV4dE1lbnUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuQ29udGV4dE1lbnVPcGVuSWNvbjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBTY2hsaWVzc3QgZGFzIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNldENvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLmlzb3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudWl0ZW1zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5jb250ZXh0bWVudSA9IHRoaXMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3ZW5uIENvbXBvbmVudCBlbnRmZXJudCB3aXJkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXIgdW0gZGFzIERyb3Bkb3duIHp1IHNjaGxpZXNzZW4gd2VubiBuaWNodCBhdWYgZGFzIEVsZW1lbnQgZ2VrbGlja3Qgd2lyZC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcbiAgICAgICAgICAgICF0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIMOWZmZuZXQgZGFzIERyb3Bkb3duIC8gWmVpZ3QgZGFzIE1lbsO8IGFuLlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgdm9uIERyb3Bkb3duXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFNldHp0IGRpZSBQb3NpdGlvbiBkZXMgTWVuw7xzIGltIE1hcmt1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcG9zaXRpb25NZW51KCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIFBvc2l0aW9uIGRlcyBNZW7DvHMgaW5uZXJoYWxiIGRlciBTZWl0ZS4gRGllIEF1c3JpY2h0dW5nIHBhc3NpZXJ0IGlubmVyaGFsYiBkZXIgU2VpdGVcbiAgICAgKiBkYW1pdCBkYXMgTWVuw7wgaW5uZXJoYWxiIGVpbmVzIERpYWxvZ3Mgc2F1YmVyIGZ1bmt0aW9uaW9uaWVydC5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIERlZmluaWVydCB3byBkYXMgTWVuw7wgYXVzZ2VyaWNodGV0IHdpcmQuIEltIE1vbWVudCBudXIgQk9EWSBTdXBwb3J0ZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcHBseUNvbnRhaW5lcihjb250YWluZXI6IG51bGwgfCAnYm9keScgPSBudWxsKSB7XG4gICAgICAgIC8vIFJlc2V0IENsYXNzZXMgb24gQ29udGFpbmVyXG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lciA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgYm9keUNvbnRhaW5lciA9ICh0aGlzLmJvZHlDb250YWluZXIgPSB0aGlzLmJvZHlDb250YWluZXIgfHwgcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBzb21lIHN0eWxlcyB0byBoYXZlIHRoZSBwb3NpdGlvbmluZyB3b3JraW5nXG4gICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShib2R5Q29udGFpbmVyLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicsICdzdGF0aWMnKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICd6LWluZGV4JywgJzEwNTAnKTtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUNvbnRhaW5lciwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIGJvZHlDb250YWluZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0enQgZGllIENTUyBLbGFzc2VuIGF1ZiBkZW0gTWVuw7wgQ29udGFpbmVyIGF1ZiBkZW4gU3RhbmRhcmQgenVyw7xja1xuICAgICAqL1xuICAgIHByaXZhdGUgX3Jlc2V0Q29udGFpbmVyKCkge1xuICAgICAgICBjb25zdCByZW5kZXJlciA9IHRoaXMucmVuZGVyZXI7XG4gICAgICAgIGlmICh0aGlzLl9tZW51KSB7XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRyb3Bkb3duRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCk7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCAncG9zaXRpb24nKTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ib2R5Q29udGFpbmVyKSB7XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuYm9keUNvbnRhaW5lcik7XG4gICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUE2RjdCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7Ozs7T0FPRztJQUNILFlBQ3VDLFFBQWEsRUFDL0IsTUFBYyxFQUNkLFVBQW1DLEVBQ25DLFFBQW1CLEVBQ3BDLFFBQWtCO1FBSmlCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsV0FBTSxHQUFO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ZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xuaW1wb3J0IHsgU0FDSUNPTl9TRVJWSUNFLCBTYWNEZWZhdWx0SWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgUGxhY2VtZW50QXJyYXksIHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcG9zaXRpb25lbGVtZW50cyc7XG5pbXBvcnQgeyBJU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUFuY2hvckNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQmFzZSBjb250ZXh0IG1lbnUgZWxlbWVudC4gVGhlIGxvZ2ljIHdhcyB0YWtlbiBmcm9tIE5HLUJPT1RTVFJBUC5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVDb21tb24gaW1wbGVtZW50cyBJU2FjQ29udGV4dG1lbnVDb21tb24sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBCdXR0b24gZm9yIG9wZW4vY2xvc2UgZXZlbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogQnV0dG9uIGZvciBvcGVuL2Nsb3NlIGV2ZW50IGZyb20gdGVtcGxhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbmNob3JUZW1wbGF0ZTogU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb247XG5cbiAgICAvKipcbiAgICAgKiBDb250YWluZXIgZWxlbWVudCBmb3IgZHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudTogU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uO1xuXG4gICAgLyoqXG4gICAgICogWm9uZSBzdWJzY3JpcHRpb24gZm9yIHBvc2l0aW9uaW5nIHRoZSBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB6b25lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBCb2R5IEhUTUwgRWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgYm9keUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIGljb24gc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpY29uU2VydmljZTogSVNhY0ljb25TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIEhUTUwgdGVtcGxhdGUgZm9yIGRyb3Bkb3duIGJ1dHRvbi4gQnV0dG9uIG11c3QgY29udGFpbiB0aGUgbWFya2VyIFwibmdDb250ZXh0bWVudUFuY2hvclwiIGZvciB0aGUgY29udHJvbCB0byB3b3JrIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBidXR0b250ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lciB0byB3aGljaCB0aGUgcG9zaXRpb24gaXMgYWxpZ25lZC4gQ3VycmVudGx5IG9ubHkgYm9keSBpcyBzdXBwb3J0ZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGFpbmVyOiBudWxsIHwgJ2JvZHknID0gJ2JvZHknO1xuXG4gICAgLyoqXG4gICAgICogRXh0cmEgQ1NTIGNsYXNzZXMgZm9yIHRoZSBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3MgPSAnJztcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciB0aGUgZHJvcGRvd24gaXMgb3Blbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc29wZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFsbCBkaXJlY3RseSBhc3NpZ25lZCBjb250ZXh0IG1lbnUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGUgZGlyZWN0IHRlbXBsYXRlIGZvciB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uKVxuICAgIHB1YmxpYyBtZW51aXRlbXMhOiBRdWVyeUxpc3Q8U2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uPjtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFwidG9wXCJgLCBgXCJ0b3AtbGVmdFwiYCwgYFwidG9wLXJpZ2h0XCJgLCBgXCJib3R0b21cImAsIGBcImJvdHRvbS1sZWZ0XCJgLFxuICAgICAqIGBcImJvdHRvbS1yaWdodFwiYCwgYFwibGVmdFwiYCwgYFwibGVmdC10b3BcImAsIGBcImxlZnQtYm90dG9tXCJgLCBgXCJyaWdodFwiYCwgYFwicmlnaHQtdG9wXCJgLFxuICAgICAqIGBcInJpZ2h0LWJvdHRvbVwiYFxuICAgICAqXG4gICAgICogQWNjZXB0cyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc3RyaW5nIHdpdGggc3BhY2Ugc2VwYXJhdGVkIHBvc3NpYmxlIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IG9yZGVyIG9mIHByZWZlcmVuY2UgaXMgYFwiYm90dG9tLWxlZnQgYm90dG9tLXJpZ2h0IHRvcC1sZWZ0IHRvcC1yaWdodFwiYFxuICAgICAqXG4gICAgICogUGxlYXNlIHNlZSB0aGUgW3Bvc2l0aW9uaW5nIG92ZXJ2aWV3XSgjL3Bvc2l0aW9uaW5nKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudEFycmF5ID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBkb2N1bWVudCBIVE1MIGRvY3VtZW50IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmdab25lIEFuZ3VsYXIgem9uZSBzZXJ2aWNlXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgSFRNTCBlbGVtZW50IG9mIHRoZSBjdXJyZW50IGNvbnRyb2xcbiAgICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgc2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciB0byByZXNvbHZlIHRoZSBpY29uIHNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogYW55LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9zaXRpb25NZW51KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoU0FDSUNPTl9TRVJWSUNFLCBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKCkpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBJY29uIGZvciBkZWZhdWx0IGNvbnRleHQgbWVudSBidXR0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEljb25Db250ZXh0TWVudSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5Db250ZXh0TWVudU9wZW5JY29uO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2V0Q29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgY29udGVudCBwcm9qZWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAgICAgKlxuICAgICAqIEFzc29jaWF0ZXMgZWFjaCBtZW51IGl0ZW0gd2l0aCB0aGlzIGNvbnRleHQgbWVudSBpbnN0YW5jZSBzbyB0aGF0IGl0ZW1cbiAgICAgKiBldmVudHMgY2FuIGRlbGVnYXRlIHRvIHRoZSBwYXJlbnQgbWVudS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVpdGVtcy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uY29udGV4dG1lbnUgPSB0aGlzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnpvbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXIgdG8gY2xvc2UgdGhlIGRyb3Bkb3duIHdoZW4gY2xpY2tpbmcgb3V0c2lkZSB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50IGZyb20gdGhlIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX21lbnUgJiZcbiAgICAgICAgICAgICF0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICFhbmNob3IubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBkcm9wZG93biAvIHNob3dzIHRoZSBtZW51LlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hcHBseUNvbnRhaW5lcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuaXNvcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc29wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIG1lbnUgaW4gdGhlIG1hcmt1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcG9zaXRpb25NZW51KCkge1xuICAgICAgICBjb25zdCBhbmNob3I6IFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uID0gdGhpcy5fYW5jaG9yIHx8IHRoaXMuX2FuY2hvclRlbXBsYXRlO1xuXG4gICAgICAgIGlmIChhbmNob3IgJiYgdGhpcy5fbWVudSkge1xuICAgICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlDb250YWluZXIgfHwgdGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID09PSAnYm9keSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIG1lbnUgd2l0aGluIHRoZSBwYWdlLiBUaGUgYWxpZ25tZW50IGhhcHBlbnMgd2l0aGluIHRoZSBwYWdlXG4gICAgICogc28gdGhhdCB0aGUgbWVudSB3b3JrcyBjb3JyZWN0bHkgaW5zaWRlIGEgZGlhbG9nLlxuICAgICAqIEBwYXJhbSBjb250YWluZXIgRGVmaW5lcyB3aGVyZSB0aGUgbWVudSBpcyBhbGlnbmVkLiBDdXJyZW50bHkgb25seSBCT0RZIGlzIHN1cHBvcnRlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2FwcGx5Q29udGFpbmVyKGNvbnRhaW5lcjogbnVsbCB8ICdib2R5JyA9IG51bGwpIHtcbiAgICAgICAgLy8gUmVzZXQgQ2xhc3NlcyBvbiBDb250YWluZXJcbiAgICAgICAgdGhpcy5fcmVzZXRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAoY29udGFpbmVyID09PSAnYm9keScpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLl9tZW51Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBib2R5Q29udGFpbmVyID0gKHRoaXMuYm9keUNvbnRhaW5lciA9IHRoaXMuYm9keUNvbnRhaW5lciB8fCByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG5cbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIHNvbWUgc3R5bGVzIHRvIGhhdmUgdGhlIHBvc2l0aW9uaW5nIHdvcmtpbmdcbiAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGJvZHlDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3Bvc2l0aW9uJywgJ3N0YXRpYycpO1xuICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoYm9keUNvbnRhaW5lciwgJ3otaW5kZXgnLCAnMTA1MCcpO1xuXG4gICAgICAgICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChib2R5Q29udGFpbmVyLCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgYm9keUNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIENTUyBjbGFzc2VzIG9uIHRoZSBtZW51IGNvbnRhaW5lciB0byBkZWZhdWx0XG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVzZXRDb250YWluZXIoKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICAgICAgaWYgKHRoaXMuX21lbnUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuX21lbnUubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZHJvcGRvd25FbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50KTtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZVN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsICdwb3NpdGlvbicpO1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlU3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgJ3RyYW5zZm9ybScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJvZHlDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5ib2R5Q29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMuYm9keUNvbnRhaW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Directive, ElementRef } from '@angular/core';
2
2
  /**
3
- * Base Context Menu Anchor Component für Open/Close Event
3
+ * Base context menu anchor component for open/close event
4
4
  */
5
5
  export class SacContextmenuAnchorCommon {
6
6
  // #endregion Properties
7
7
  // #region Constructors
8
8
  /**
9
- * Konstruktor
10
- * @param elementRef Refernz auf das HTML welcher als Anker für das Context Menü verwendet wird
9
+ * Constructor
10
+ * @param elementRef Reference to the HTML element used as anchor for the context menu
11
11
  */
12
12
  constructor(elementRef) {
13
13
  this.nativeElement = elementRef.nativeElement;
@@ -19,4 +19,4 @@ SacContextmenuAnchorCommon.decorators = [
19
19
  SacContextmenuAnchorCommon.ctorParameters = () => [
20
20
  { type: ElementRef }
21
21
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWFuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFRbkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgQ29udGV4dCBNZW51IEFuY2hvciBDb21wb25lbnQgZsO8ciBPcGVuL0Nsb3NlIEV2ZW50XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51QW5jaG9yQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW56IGF1ZiBkYXMgTmF0aXZlIEhUTUwgRWxlbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIEtvbnN0cnVrdG9yXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJueiBhdWYgZGFzIEhUTUwgd2VsY2hlciBhbHMgQW5rZXIgZsO8ciBkYXMgQ29udGV4dCBNZW7DvCB2ZXJ3ZW5kZXQgd2lyZFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVhbmNob3IuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWFuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFRbkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgY29udGV4dCBtZW51IGFuY2hvciBjb21wb25lbnQgZm9yIG9wZW4vY2xvc2UgZXZlbnRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjQ29udGV4dG1lbnVBbmNob3JDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50XG4gICAgICovXG4gICAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gdGhlIEhUTUwgZWxlbWVudCB1c2VkIGFzIGFuY2hvciBmb3IgdGhlIGNvbnRleHQgbWVudVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Directive, ElementRef } from '@angular/core';
2
2
  /**
3
- * Common Marker Klasse für den Menü Container
3
+ * Common marker class for the menu container
4
4
  */
5
5
  export class SacContextMenuContrainerCommon {
6
6
  // #endregion Properties
7
7
  // #region Constructors
8
8
  /**
9
- * Konstruktor
10
- * @param elementRef Referenz auf das HTML Element mit der Marker Direktive
9
+ * Constructor
10
+ * @param elementRef Reference to the HTML element with the marker directive
11
11
  */
12
12
  constructor(elementRef) {
13
13
  this.nativeElement = elementRef.nativeElement;
@@ -19,4 +19,4 @@ SacContextMenuContrainerCommon.decorators = [
19
19
  SacContextMenuContrainerCommon.ctorParameters = () => [
20
20
  { type: ElementRef }
21
21
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFRdkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbW1vbiBNYXJrZXIgS2xhc3NlIGbDvHIgZGVuIE1lbsO8IENvbnRhaW5lclxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbnogYXVmIGRhcyBIVE1MIEVsZW1lbnQgZGVzIE1lbsO8IENvbnRhaW5lcnNcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW56IGF1ZiBkYXMgSFRNTCBFbGVtZW50IG1pdCBkZXIgTWFya2VyIERpcmVrdGl2ZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFRdkMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLFVBQW1DO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7WUFuQkosU0FBUzs7O1lBTFUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbW1vbiBtYXJrZXIgY2xhc3MgZm9yIHRoZSBtZW51IGNvbnRhaW5lclxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBIVE1MIGVsZW1lbnQgb2YgdGhlIG1lbnUgY29udGFpbmVyXG4gICAgICovXG4gICAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gdGhlIEhUTUwgZWxlbWVudCB3aXRoIHRoZSBtYXJrZXIgZGlyZWN0aXZlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
@@ -13,15 +13,15 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
13
13
  super();
14
14
  // #region Properties
15
15
  /**
16
- * Menu Item ist deaktiviert
16
+ * Menu item is disabled
17
17
  */
18
18
  this._isdisabled = false;
19
19
  /**
20
- * Icon Column in Menü ist deaktiviert
20
+ * Icon column in menu is disabled
21
21
  */
22
22
  this._isicondisabled = false;
23
23
  /**
24
- * Event wenn auf den Button geklickt wird
24
+ * Event when the button is clicked
25
25
  */
26
26
  this.clicked = new EventEmitter();
27
27
  /**
@@ -29,7 +29,7 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
29
29
  */
30
30
  this.cssclass = '';
31
31
  /**
32
- * Input Property für Styling des Buttons. Definiert die Css Klassen des Buttons
32
+ * Input property for button styling. Defines the CSS classes of the button
33
33
  */
34
34
  this.iconstyle = '';
35
35
  /**
@@ -40,13 +40,13 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
40
40
  // #endregion Constructors
41
41
  // #region Public Getters And Setters
42
42
  /**
43
- * Menu Item ist deaktiviert
43
+ * Menu item is disabled
44
44
  */
45
45
  get isdisabled() {
46
46
  return this._isdisabled;
47
47
  }
48
48
  /**
49
- * Menu Item ist deaktiviert
49
+ * Menu item is disabled
50
50
  */
51
51
  set isdisabled(v) {
52
52
  if (v === null || v === undefined || typeof v === 'boolean') {
@@ -57,13 +57,13 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
57
57
  }
58
58
  }
59
59
  /**
60
- * Icon Column in Menü ist deaktiviert
60
+ * Icon column in menu is disabled
61
61
  */
62
62
  get isicondisabled() {
63
63
  return this._isicondisabled;
64
64
  }
65
65
  /**
66
- * Icon Column in Menü ist deaktiviert
66
+ * Icon column in menu is disabled
67
67
  */
68
68
  set isicondisabled(v) {
69
69
  if (v === null || v === undefined || typeof v === 'boolean') {
@@ -76,7 +76,7 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
76
76
  // #endregion Public Getters And Setters
77
77
  // #region Public Methods
78
78
  /**
79
- * Die Methode wird das cklickaction Emitter aktivieren
79
+ * This method will trigger the click action emitter
80
80
  */
81
81
  callaction(event) {
82
82
  if (!this._isdisabled) {
@@ -103,4 +103,4 @@ SacContextmenuItemButtonCommon.propDecorators = {
103
103
  isdisabled: [{ type: Input }],
104
104
  isicondisabled: [{ type: Input }]
105
105
  };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBdUR4RSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOztPQUVHO0lBQ0g7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTlEWixxQkFBcUI7UUFFckI7O1dBRUc7UUFDTyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV2Qzs7V0FFRztRQUNPLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRTNDOztXQUVHO1FBRUksWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBRUksYUFBUSxHQUFXLEVBQUUsQ0FBQztRQVE3Qjs7V0FFRztRQUVJLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFROUI7O1dBRUc7UUFFSSxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBaUJ6QixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxVQUFVLENBQUMsQ0FBbUI7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBWSxDQUFDO1NBQ25DO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csY0FBYyxDQUFDLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQVksQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVwQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7O1lBN0hKLFNBQVM7Ozs7c0JBaUJMLE1BQU07dUJBTU4sS0FBSzttQkFNTCxLQUFLO3dCQU1MLEtBQUs7b0JBTUwsS0FBSzttQkFNTCxLQUFLO21CQU1MLEtBQUs7eUJBNEJMLEtBQUs7NkJBbUJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgQ29udGV4dCBNZW51IEJ1dHRvbiBJdGVtXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBNZW51IEl0ZW0gaXN0IGRlYWt0aXZpZXJ0XG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9pc2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJY29uIENvbHVtbiBpbiBNZW7DvCBpc3QgZGVha3RpdmllcnRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2lzaWNvbmRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3ZW5uIGF1ZiBkZW4gQnV0dG9uIGdla2xpY2t0IHdpcmRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogY3NzIGNsYXNzIGZvciBidXR0b24gc3R5bGluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNzc2NsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEljb24gZsO8ciBNZW7DvFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIElucHV0IFByb3BlcnR5IGbDvHIgU3R5bGluZyBkZXMgQnV0dG9ucy4gRGVmaW5pZXJ0IGRpZSBDc3MgS2xhc3NlbiBkZXMgQnV0dG9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25zdHlsZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBJbWFnZSBmw7xyIE1lbsO8LiBXaXJkIGJlbsO2dGlndCB3ZW5uIGRhcyBJY29uIGbDvHIgZGVuIEJ1dHRvbiBlaW4gRmlsZSB1bmQgbmljaHQgZWluIEljb24gRm9udCBpc3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgYnV0dG9uLiB1c2VkIGZvciBnZW5lcmF0ZSBpZCBhbmQgbmFtZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBmw7xyIE1lbsO8IEl0ZW0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtIGlzdCBkZWFrdGl2aWVydFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtIGlzdCBkZWFrdGl2aWVydFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc2Rpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzZGlzYWJsZWQgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWNvbiBDb2x1bW4gaW4gTWVuw7wgaXN0IGRlYWt0aXZpZXJ0XG4gICAgICovXG4gICAgcHVibGljIGdldCBpc2ljb25kaXNhYmxlZCgpOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzaWNvbmRpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEljb24gQ29sdW1uIGluIE1lbsO8IGlzdCBkZWFrdGl2aWVydFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc2ljb25kaXNhYmxlZCh2OiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aGlzLl9pc2ljb25kaXNhYmxlZCA9IHYgYXMgYm9vbGVhbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2lzaWNvbmRpc2FibGVkID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogRGllIE1ldGhvZGUgd2lyZCBkYXMgY2tsaWNrYWN0aW9uIEVtaXR0ZXIgYWt0aXZpZXJlblxuICAgICAqL1xuICAgIHB1YmxpYyBjYWxsYWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5faXNkaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja2VkLmVtaXQoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dG1lbnUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRtZW51LmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsd0JBQXdCO0lBdUR4RSx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOztPQUVHO0lBQ0g7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTlEWixxQkFBcUI7UUFFckI7O1dBRUc7UUFDTyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNPLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBRUksWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlEOztXQUVHO1FBRUksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQVFyQjs7V0FFRztRQUVJLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFRdEI7O1dBRUc7UUFFSSxTQUFJLEdBQUcsRUFBRSxDQUFDO0lBaUJqQixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxVQUFVLENBQUMsQ0FBbUI7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBWSxDQUFDO1NBQ25DO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csY0FBYyxDQUFDLENBQW1CO1FBQ3pDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQVksQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVwQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7O1lBN0hKLFNBQVM7Ozs7c0JBaUJMLE1BQU07dUJBTU4sS0FBSzttQkFNTCxLQUFLO3dCQU1MLEtBQUs7b0JBTUwsS0FBSzttQkFNTCxLQUFLO21CQU1MLEtBQUs7eUJBNEJMLEtBQUs7NkJBbUJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24gfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEJhc2UgQ29udGV4dCBNZW51IEJ1dHRvbiBJdGVtXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBNZW51IGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2lzZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEljb24gY29sdW1uIGluIG1lbnUgaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2lzaWNvbmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBjc3MgY2xhc3MgZm9yIGJ1dHRvbiBzdHlsaW5nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3NzY2xhc3MgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEljb24gZm9yIG1lbnVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3IgYnV0dG9uIHN0eWxpbmcuIERlZmluZXMgdGhlIENTUyBjbGFzc2VzIG9mIHRoZSBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uc3R5bGUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEltYWdlIGZvciBtZW51LiBSZXF1aXJlZCBpZiB0aGUgaWNvbiBmb3IgdGhlIGJ1dHRvbiBpcyBhIGZpbGUgYW5kIG5vdCBhbiBpY29uIGZvbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgYnV0dG9uLiB1c2VkIGZvciBnZW5lcmF0ZSBpZCBhbmQgbmFtZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZm9yIG1lbnUgaXRlbS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBNZW51IGl0ZW0gaXMgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc2Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lbnUgaXRlbSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc2Rpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzZGlzYWJsZWQgPSB2IGFzIGJvb2xlYW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkID0gdiA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWNvbiBjb2x1bW4gaW4gbWVudSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaXNpY29uZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc2ljb25kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJY29uIGNvbHVtbiBpbiBtZW51IGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzaWNvbmRpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzaWNvbmRpc2FibGVkID0gdiBhcyBib29sZWFuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNpY29uZGlzYWJsZWQgPSB2ID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHRyaWdnZXIgdGhlIGNsaWNrIGFjdGlvbiBlbWl0dGVyXG4gICAgICovXG4gICAgcHVibGljIGNhbGxhY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc2Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0bWVudSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dG1lbnUuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
@@ -5,7 +5,7 @@ import { ChangeDetectorRef, Directive, ElementRef, HostListener, Injector, Input
5
5
  import * as IMask from 'imask';
6
6
  import * as moment_ from 'moment';
7
7
  /**
8
- * Komponente für SacDateCommon. Extends SacBaseDateTimeControl
8
+ * Component for SacDateCommon. Extends SacBaseDateTimeControl
9
9
  */
10
10
  export class SacDateCommon extends SacBaseDateTimeControl {
11
11
  // #endregion Properties
@@ -15,18 +15,18 @@ export class SacDateCommon extends SacBaseDateTimeControl {
15
15
  * @param formlayout SacFormLayoutCommon to define scoped layout settings
16
16
  * @param injector Injector for injecting services
17
17
  * @param elementRef reference to html element
18
- * @param cdRef Change Dectection Servie
18
+ * @param cdRef Change Detection Service
19
19
  */
20
20
  constructor(formlayout, injector, elementRef, cdRef) {
21
21
  super(formlayout, injector, elementRef, cdRef);
22
22
  this.elementRef = elementRef;
23
23
  // #region Properties
24
24
  /**
25
- * Format des Datums
25
+ * Date format
26
26
  */
27
27
  this.DATEFORMAT = 'DD.MM.YYYY';
28
28
  /**
29
- * Maske
29
+ * Mask
30
30
  */
31
31
  this.imaskDate = {
32
32
  mask: this.DATEFORMAT,
@@ -67,19 +67,19 @@ export class SacDateCommon extends SacBaseDateTimeControl {
67
67
  */
68
68
  this.moment = moment_['default'];
69
69
  /**
70
- * Resource Key für Validation Message MaxDate bei Control
70
+ * Resource key for validation message MaxDate at control
71
71
  */
72
72
  this.validationmessagemaxdate = this.validationKeyService.ValidationErrorMaxDate;
73
73
  /**
74
- * Resource Key für Validation Message MinDate bei Control
74
+ * Resource key for validation message MinDate at control
75
75
  */
76
76
  this.validationmessagemindate = this.validationKeyService.ValidationErrorMinDate;
77
77
  /**
78
- * Resource Key für Validation Message MaxDate in Validation Summary
78
+ * Resource key for validation message MaxDate in validation summary
79
79
  */
80
80
  this.validationmessagesummarymaxdate = this.validationKeyService.ValidationErrorSummaryMaxDate;
81
81
  /**
82
- * Resource Key für Validation Message MinDate in Validation Summary
82
+ * Resource key for validation message MinDate in validation summary
83
83
  */
84
84
  this.validationmessagesummarymindate = this.validationKeyService.ValidationErrorSummaryMinDate;
85
85
  }
@@ -118,13 +118,13 @@ export class SacDateCommon extends SacBaseDateTimeControl {
118
118
  // #endregion Public Getters And Setters
119
119
  // #region Public Methods
120
120
  /**
121
- * Methode ergibt Datum-Format vom String
121
+ * Method returns date format from string
122
122
  */
123
123
  GetDateTimeFormatString() {
124
124
  return this.DATEFORMAT;
125
125
  }
126
126
  /**
127
- * Methode ergibt Datum - Moment
127
+ * Method returns date - moment
128
128
  */
129
129
  ModifyParsedDateTimeValue(v) {
130
130
  return v;
@@ -155,10 +155,10 @@ export class SacDateCommon extends SacBaseDateTimeControl {
155
155
  }
156
156
  }
157
157
  /**
158
- * Zeigt Date Selector an
158
+ * Shows date selector
159
159
  */
160
160
  showDateSelector() {
161
- // Touch Event auslösen
161
+ // Trigger a touch event
162
162
  this.onTouch();
163
163
  if (this._showselector) {
164
164
  this._showselector = false;
@@ -210,4 +210,4 @@ SacDateCommon.propDecorators = {
210
210
  mindate: [{ type: Input }],
211
211
  onClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
212
212
  };
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixhQUFjLFNBQVEsc0JBQXNCO0lBeUU5RCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ0ksVUFBK0IsRUFDL0IsUUFBa0IsRUFDUixVQUFzQixFQUNoQyxLQUF3QjtRQUV4QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFIckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXRGcEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUVsRDs7V0FFRztRQUNhLGNBQVMsR0FBRztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFO2dCQUNKLEVBQUUsRUFBRTtvQkFDQSxJQUFJLEVBQUUs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QUNkLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUMzQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFDeEI7WUFDRSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FDdEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQywrQkFBK0IsQ0FDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFDSSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN4QjtZQUNFLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsSUFBSSxDQUFDLCtCQUErQixDQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7WUE1T0osU0FBUzs7O1lBVEQsbUJBQW1CO1lBQ3FDLFFBQVE7WUFBbEMsVUFBVTtZQUF4QyxpQkFBaUI7Ozt1Q0FpRXJCLEtBQUs7dUNBS0wsS0FBSzs4Q0FLTCxLQUFLOzhDQUtMLEtBQUs7c0JBb0NMLEtBQUs7c0JBY0wsS0FBSztzQkE2Q0wsWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgSU1hc2sgZnJvbSAnaW1hc2snO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIEtvbXBvbmVudGUgZsO8ciBTYWNEYXRlQ29tbW9uLiBFeHRlbmRzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2xcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjRGF0ZUNvbW1vbiBleHRlbmRzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2wge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRm9ybWF0IGRlcyBEYXR1bXNcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgREFURUZPUk1BVDogc3RyaW5nID0gJ0RELk1NLllZWVknO1xuXG4gICAgLyoqXG4gICAgICogTWFza2VcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hc2tEYXRlID0ge1xuICAgICAgICBtYXNrOiB0aGlzLkRBVEVGT1JNQVQsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgREQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdfJyxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21heGRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21pbmRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIG1vZHVsZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgTWF4RGF0ZSBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZW1heGRhdGU6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4RGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBNaW5EYXRlIGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlbWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNaW5EYXRlO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIE1heERhdGUgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1heGRhdGU6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heERhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgTWluRGF0ZSBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluRGF0ZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxuICAgICAqIEBwYXJhbSBjZFJlZiAgQ2hhbmdlIERlY3RlY3Rpb24gU2VydmllXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3RvciwgZWxlbWVudFJlZiwgY2RSZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBpY29uIGZvciBkYXRlIHNlbGVjdG9yIGJ1dHRvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgSWNvblNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkRhdGVDb21wb25lbnRTZWxlY3Rvckljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWF4ZGF0ZSh2OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQodiwgW3RoaXMuREFURUZPUk1BVF0sIHRydWUpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSA9IHN1cGVyLmdldERhdGUoZGF0ZSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1pbiBEYXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG1pbmRhdGUodjogc3RyaW5nIHwgRGF0ZSB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50KHYsIFt0aGlzLkRBVEVGT1JNQVRdLCB0cnVlKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX21pbmRhdGUgPSBzdXBlci5nZXREYXRlKGRhdGUpLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBNZXRob2RlIGVyZ2lidCBEYXR1bS1Gb3JtYXQgdm9tIFN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBHZXREYXRlVGltZUZvcm1hdFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5EQVRFRk9STUFUO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgZXJnaWJ0IERhdHVtIC0gTW9tZW50XG4gICAgICovXG4gICAgcHVibGljIE1vZGlmeVBhcnNlZERhdGVUaW1lVmFsdWUodjogbW9tZW50Xy5Nb21lbnQpOiBtb21lbnRfLk1vbWVudCB7XG4gICAgICAgIHJldHVybiB2O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhdGUgU2VsZWN0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0ZXNlbGVjdCh2OiBhbnkpIHtcbiAgICAgICAgaWYgKHYuZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZVN0cmluZygnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tb21lbnQodi5kYXRlKS51dGMoKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhvc3RMaXN0ZW5lclxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgLyoqXG4gICAgICogQ2xpY2sgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5waWNrZXJjb250YWluZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVDb250YWluZXIgPSB0aGlzLnBpY2tlcmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlUmVmZXJlbmNlID0gdGhpcy5waWNrZXJidXR0b24ubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlQ29udGFpbmVyICYmICFjbGlja2VkSW5zaWRlUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFplaWd0IERhdGUgU2VsZWN0b3IgYW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0RhdGVTZWxlY3RvcigpOiB2b2lkIHtcbiAgICAgICAgLy8gVG91Y2ggRXZlbnQgYXVzbMO2c2VuXG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuXG4gICAgICAgIGlmICh0aGlzLl9zaG93c2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2hvd3NlbGVjdG9yID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvclxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBsZXQgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBlcnJvciA9IHN1cGVyLnZhbGlkYXRlRGF0YShjKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLl9taW5kYXRlICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1pbkRhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWluZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1pbmRhdGVcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBlcnJvciA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLm1heERhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlbWF4ZGF0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeW1heGRhdGVcbiAgICAgICAgICAgICkoYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixhQUFjLFNBQVEsc0JBQXNCO0lBeUU5RCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ0ksVUFBK0IsRUFDL0IsUUFBa0IsRUFDUixVQUFzQixFQUNoQyxLQUF3QjtRQUV4QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFIckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXRGcEMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUVsRDs7V0FFRztRQUNhLGNBQVMsR0FBRztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFO2dCQUNKLEVBQUUsRUFBRTtvQkFDQSxJQUFJLEVBQUUs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QUNkLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUMzQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFDeEI7WUFDRSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FDdEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQywrQkFBK0IsQ0FDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFDSSxLQUFLLEtBQUssSUFBSTtZQUNkLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSTtZQUNoQixDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDckIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQzNCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUN4QjtZQUNFLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN0QixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsSUFBSSxDQUFDLCtCQUErQixDQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7WUE3T0osU0FBUzs7O1lBVEQsbUJBQW1CO1lBQ3FDLFFBQVE7WUFBbEMsVUFBVTtZQUF4QyxpQkFBaUI7Ozt1Q0FpRXJCLEtBQUs7dUNBS0wsS0FBSzs4Q0FLTCxLQUFLOzhDQUtMLEtBQUs7c0JBb0NMLEtBQUs7c0JBY0wsS0FBSztzQkE2Q0wsWUFBWSxTQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgSU1hc2sgZnJvbSAnaW1hc2snO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgU2FjRGF0ZUNvbW1vbi4gRXh0ZW5kcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0RhdGVDb21tb24gZXh0ZW5kcyBTYWNCYXNlRGF0ZVRpbWVDb250cm9sIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIERhdGUgZm9ybWF0XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IERBVEVGT1JNQVQ6IHN0cmluZyA9ICdERC5NTS5ZWVlZJztcblxuICAgIC8qKlxuICAgICAqIE1hc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW1hc2tEYXRlID0ge1xuICAgICAgICBtYXNrOiB0aGlzLkRBVEVGT1JNQVQsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgREQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdfJyxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21heGRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgX21pbmRhdGU6IERhdGUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIG1vZHVsZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNYXhEYXRlIGF0IGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VtYXhkYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heERhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNaW5EYXRlIGF0IGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VtaW5kYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pbkRhdGU7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBrZXkgZm9yIHZhbGlkYXRpb24gbWVzc2FnZSBNYXhEYXRlIGluIHZhbGlkYXRpb24gc3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXhkYXRlOiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhEYXRlO1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2Uga2V5IGZvciB2YWxpZGF0aW9uIG1lc3NhZ2UgTWluRGF0ZSBpbiB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5bWluZGF0ZTogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluRGF0ZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxuICAgICAqIEBwYXJhbSBjZFJlZiBDaGFuZ2UgRGV0ZWN0aW9uIFNlcnZpY2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZm9ybWxheW91dDogU2FjRm9ybUxheW91dENvbW1vbixcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIGljb24gZm9yIGRhdGUgc2VsZWN0b3IgYnV0dG9uXG4gICAgICovXG4gICAgcHVibGljIGdldCBJY29uU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuRGF0ZUNvbXBvbmVudFNlbGVjdG9ySWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNaW4gRGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBtYXhkYXRlKHY6IHN0cmluZyB8IERhdGUgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5EQVRFRk9STUFUXSwgdHJ1ZSk7XG5cbiAgICAgICAgaWYgKGRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9tYXhkYXRlID0gc3VwZXIuZ2V0RGF0ZShkYXRlKS50b0RhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX21heGRhdGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWluIERhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWluZGF0ZSh2OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5tb21lbnQodiwgW3RoaXMuREFURUZPUk1BVF0sIHRydWUpO1xuXG4gICAgICAgIGlmIChkYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSA9IHN1cGVyLmdldERhdGUoZGF0ZSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9taW5kYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCByZXR1cm5zIGRhdGUgZm9ybWF0IGZyb20gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLkRBVEVGT1JNQVQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHJldHVybnMgZGF0ZSAtIG1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQge1xuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXRlIFNlbGVjdG9yXG4gICAgICovXG4gICAgcHVibGljIGRhdGVzZWxlY3QodjogYW55KSB7XG4gICAgICAgIGlmICh2LmRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVTdHJpbmcoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubW9tZW50KHYuZGF0ZSkudXRjKCkudG9EYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIb3N0TGlzdGVuZXJcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIC8qKlxuICAgICAqIENsaWNrIEV2ZW50XG4gICAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgVGhlIHRhcmdldCBlbGVtZW50IGZyb20gdGhlIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2sodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICBpZiAoIXRoaXMucGlja2VyY29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlQ29udGFpbmVyID0gdGhpcy5waWNrZXJjb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZVJlZmVyZW5jZSA9IHRoaXMucGlja2VyYnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIGlmICghY2xpY2tlZEluc2lkZUNvbnRhaW5lciAmJiAhY2xpY2tlZEluc2lkZVJlZmVyZW5jZSkge1xuICAgICAgICAgICAgdGhpcy5fc2hvd3NlbGVjdG9yID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBkYXRlIHNlbGVjdG9yXG4gICAgICovXG4gICAgcHVibGljIHNob3dEYXRlU2VsZWN0b3IoKTogdm9pZCB7XG4gICAgICAgIC8vIFRyaWdnZXIgYSB0b3VjaCBldmVudFxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcblxuICAgICAgICBpZiAodGhpcy5fc2hvd3NlbGVjdG9yKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93c2VsZWN0b3IgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dzZWxlY3RvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgZXJyb3IgPSBzdXBlci52YWxpZGF0ZURhdGEoYyk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuX21pbmRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5fbWluZGF0ZSAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5taW5EYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuX21pbmRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1pbmRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltaW5kYXRlXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXJyb3IgPT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGMudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgYy52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIHRoaXMuX21heGRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5fbWF4ZGF0ZSAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5tYXhEYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuX21heGRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZW1heGRhdGUsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnltYXhkYXRlXG4gICAgICAgICAgICApKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==