cmat 0.0.3 → 0.0.5

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 (266) hide show
  1. package/components/breadcrumb/breadcrumb.component.d.ts +18 -20
  2. package/components/card/card.component.d.ts +0 -5
  3. package/components/cascade/cascade-list/cascade-list.component.d.ts +12 -9
  4. package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
  5. package/components/chip-input/chip-input.component.d.ts +34 -0
  6. package/components/chip-input/index.d.ts +5 -0
  7. package/components/chip-input/public-api.d.ts +1 -0
  8. package/components/date-range/date-range.component.d.ts +3 -2
  9. package/components/json-editor/index.d.ts +5 -0
  10. package/components/json-editor/json-editor.component.d.ts +25 -0
  11. package/components/json-editor/public-api.d.ts +1 -0
  12. package/components/navigation/vertical/components/aside/aside.component.d.ts +2 -2
  13. package/components/navigation/vertical/components/basic/basic.component.d.ts +2 -2
  14. package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +2 -2
  15. package/components/navigation/vertical/components/divider/divider.component.d.ts +2 -2
  16. package/components/navigation/vertical/components/group/group.component.d.ts +2 -2
  17. package/components/navigation/vertical/components/spacer/spacer.component.d.ts +2 -2
  18. package/components/navigation/vertical/vertical.component.d.ts +2 -2
  19. package/components/progress-bar/progress-bar.component.d.ts +3 -2
  20. package/components/rating/rating.component.d.ts +3 -2
  21. package/components/select-search/select-search.component.d.ts +1 -2
  22. package/components/select-tree/select-tree.component.d.ts +5 -12
  23. package/components/timeline/timeline-item/timeline-item.component.d.ts +1 -1
  24. package/components/transfer-picker/interface.d.ts +1 -1
  25. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +4 -4
  26. package/components/transfer-picker/transfer-picker.service.d.ts +2 -1
  27. package/directives/autofocus/autofocus.directive.d.ts +1 -3
  28. package/directives/debounce/debounce-keyup.directive.d.ts +1 -1
  29. package/directives/digit-only/digit-only.directive.d.ts +2 -0
  30. package/esm2022/animations/dropdown.mjs +26 -0
  31. package/esm2022/animations/public-api.mjs +2 -2
  32. package/esm2022/components/adapter/dayjs-date-adapter.mjs +3 -3
  33. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +3 -3
  34. package/esm2022/components/adapter/native-datetime-adapter.mjs +3 -3
  35. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  36. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +16 -17
  37. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
  38. package/esm2022/components/card/card.component.mjs +5 -14
  39. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -6
  40. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +65 -39
  41. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -9
  42. package/esm2022/components/chip-input/chip-input.component.mjs +144 -0
  43. package/esm2022/components/chip-input/cmat-components-chip-input.mjs +5 -0
  44. package/esm2022/components/chip-input/public-api.mjs +2 -0
  45. package/esm2022/components/date-range/date-range.component.mjs +13 -9
  46. package/esm2022/components/drawer/drawer.component.mjs +4 -4
  47. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  48. package/esm2022/components/fullscreen/fullscreen.component.mjs +3 -3
  49. package/esm2022/components/highlight/highlight.component.mjs +3 -3
  50. package/esm2022/components/highlight/highlight.service.mjs +3 -3
  51. package/esm2022/components/json-editor/cmat-components-json-editor.mjs +5 -0
  52. package/esm2022/components/json-editor/json-editor.component.mjs +176 -0
  53. package/esm2022/components/json-editor/public-api.mjs +2 -0
  54. package/esm2022/components/masonry/masonry.component.mjs +3 -3
  55. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +6 -6
  56. package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -6
  57. package/esm2022/components/material-datetimepicker/calendar.mjs +7 -8
  58. package/esm2022/components/material-datetimepicker/clock.mjs +6 -6
  59. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +3 -3
  60. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  61. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +8 -9
  62. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +7 -7
  63. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -6
  64. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +3 -3
  65. package/esm2022/components/material-datetimepicker/time.mjs +8 -9
  66. package/esm2022/components/material-datetimepicker/year-view.mjs +3 -3
  67. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +6 -6
  68. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +7 -8
  69. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
  70. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
  71. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -6
  72. package/esm2022/components/navigation/navigation.service.mjs +3 -3
  73. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +9 -9
  74. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +8 -7
  75. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +9 -11
  76. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +6 -6
  77. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +10 -11
  78. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +7 -7
  79. package/esm2022/components/navigation/vertical/vertical.component.mjs +9 -11
  80. package/esm2022/components/pagination/pagination.component.mjs +6 -7
  81. package/esm2022/components/pagination/pagination.directive.mjs +3 -3
  82. package/esm2022/components/pagination/pagination.pipe.mjs +5 -5
  83. package/esm2022/components/pagination/pagination.service.mjs +3 -3
  84. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
  85. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +6 -6
  86. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +8 -9
  87. package/esm2022/components/popover/popover.component.mjs +5 -5
  88. package/esm2022/components/progress-bar/progress-bar.component.mjs +11 -8
  89. package/esm2022/components/rating/rating.component.mjs +14 -6
  90. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  91. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  92. package/esm2022/components/select-search/select-search.component.mjs +8 -11
  93. package/esm2022/components/select-tree/select-tree.component.mjs +13 -29
  94. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +18 -16
  95. package/esm2022/components/timeline/timeline.component.mjs +3 -3
  96. package/esm2022/components/toast/toast-modal.component.mjs +7 -7
  97. package/esm2022/components/toast/toast.component.mjs +6 -6
  98. package/esm2022/components/toast/toast.service.mjs +3 -3
  99. package/esm2022/components/transfer-picker/filter/filter.component.mjs +17 -8
  100. package/esm2022/components/transfer-picker/interface.mjs +1 -1
  101. package/esm2022/components/transfer-picker/search/search.component.mjs +9 -5
  102. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +44 -21
  103. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +7 -6
  104. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +9 -7
  105. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +10 -7
  106. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +3 -3
  107. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  108. package/esm2022/directives/autofocus/autofocus.directive.mjs +7 -7
  109. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  110. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  111. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +5 -5
  112. package/esm2022/directives/digit-only/digit-only.directive.mjs +20 -4
  113. package/esm2022/directives/digit-only/mask.directive.mjs +3 -3
  114. package/esm2022/directives/digit-only/public-api.mjs +1 -1
  115. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +3 -3
  116. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +3 -3
  117. package/esm2022/lib/mock-api/mock-api.service.mjs +3 -3
  118. package/esm2022/pipes/bytes/bytes.pipe.mjs +3 -3
  119. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  120. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +3 -3
  121. package/esm2022/pipes/group-by/group-by.pipe.mjs +3 -3
  122. package/esm2022/pipes/keys/keys.pipe.mjs +3 -3
  123. package/esm2022/pipes/secure/secure-pipe.mjs +5 -5
  124. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  125. package/esm2022/services/alert/alert.service.mjs +16 -16
  126. package/esm2022/services/config/config.constants.mjs +1 -1
  127. package/esm2022/services/config/config.service.mjs +3 -3
  128. package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
  129. package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
  130. package/esm2022/services/confirmation/dialog/dialog.component.mjs +6 -6
  131. package/esm2022/services/data/data.service.mjs +4 -4
  132. package/esm2022/services/loading/loading.interceptor.mjs +3 -3
  133. package/esm2022/services/loading/loading.service.mjs +3 -3
  134. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  135. package/esm2022/services/media-watcher/media-watcher.service.mjs +3 -3
  136. package/esm2022/services/platform/platform.service.mjs +3 -3
  137. package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
  138. package/esm2022/services/title/title.service.mjs +3 -3
  139. package/esm2022/services/translation/translation.service.mjs +3 -3
  140. package/esm2022/services/utils/utils.service.mjs +3 -3
  141. package/fesm2022/cmat-animations.mjs.map +1 -1
  142. package/fesm2022/cmat-components-adapter.mjs +9 -9
  143. package/fesm2022/cmat-components-breadcrumb.mjs +21 -22
  144. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  145. package/fesm2022/cmat-components-card.mjs +4 -13
  146. package/fesm2022/cmat-components-card.mjs.map +1 -1
  147. package/fesm2022/cmat-components-cascade.mjs +72 -49
  148. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  149. package/fesm2022/cmat-components-chip-input.mjs +151 -0
  150. package/fesm2022/cmat-components-chip-input.mjs.map +1 -0
  151. package/fesm2022/cmat-components-date-range.mjs +12 -8
  152. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  153. package/fesm2022/cmat-components-drawer.mjs +7 -7
  154. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  155. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  156. package/fesm2022/cmat-components-highlight.mjs +6 -6
  157. package/fesm2022/cmat-components-json-editor.mjs +183 -0
  158. package/fesm2022/cmat-components-json-editor.mjs.map +1 -0
  159. package/fesm2022/cmat-components-masonry.mjs +3 -3
  160. package/fesm2022/cmat-components-material-color-picker.mjs +5 -5
  161. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  162. package/fesm2022/cmat-components-material-datetimepicker.mjs +51 -52
  163. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  164. package/fesm2022/cmat-components-navigation.mjs +70 -74
  165. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  166. package/fesm2022/cmat-components-pagination.mjs +15 -16
  167. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  168. package/fesm2022/cmat-components-password-strength.mjs +14 -15
  169. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  170. package/fesm2022/cmat-components-popover.mjs +4 -4
  171. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  172. package/fesm2022/cmat-components-progress-bar.mjs +10 -7
  173. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  174. package/fesm2022/cmat-components-rating.mjs +13 -5
  175. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  176. package/fesm2022/cmat-components-select-search.mjs +13 -16
  177. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  178. package/fesm2022/cmat-components-select-tree.mjs +12 -28
  179. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  180. package/fesm2022/cmat-components-timeline.mjs +21 -19
  181. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  182. package/fesm2022/cmat-components-toast.mjs +13 -13
  183. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  184. package/fesm2022/cmat-components-transfer-picker.mjs +81 -45
  185. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  186. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  187. package/fesm2022/cmat-directives-autofocus.mjs +6 -6
  188. package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
  189. package/fesm2022/cmat-directives-debounce.mjs +10 -10
  190. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  191. package/fesm2022/cmat-directives-digit-only.mjs +22 -6
  192. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  193. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  194. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  195. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  196. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  197. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  198. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  199. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  200. package/fesm2022/cmat-pipes-secure.mjs +4 -4
  201. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  202. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  203. package/fesm2022/cmat-services-alert.mjs +15 -15
  204. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  205. package/fesm2022/cmat-services-config.mjs +7 -7
  206. package/fesm2022/cmat-services-config.mjs.map +1 -1
  207. package/fesm2022/cmat-services-confirmation.mjs +8 -8
  208. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  209. package/fesm2022/cmat-services-data.mjs +3 -3
  210. package/fesm2022/cmat-services-data.mjs.map +1 -1
  211. package/fesm2022/cmat-services-loading.mjs +6 -6
  212. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  213. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  214. package/fesm2022/cmat-services-platform.mjs +3 -3
  215. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  216. package/fesm2022/cmat-services-title.mjs +3 -3
  217. package/fesm2022/cmat-services-translation.mjs +3 -3
  218. package/fesm2022/cmat-services-utils.mjs +3 -3
  219. package/package.json +46 -36
  220. package/pipes/secure/secure-pipe.d.ts +1 -1
  221. package/services/alert/alert.service.d.ts +4 -4
  222. package/services/config/config.constants.d.ts +1 -1
  223. package/services/config/urlStateConfig.service.d.ts +3 -2
  224. package/styles/components/bundle.scss +559 -0
  225. package/styles/overrides/angular-material.scss +16 -16
  226. package/styles/styles.scss +6 -1
  227. package/styles/tailwind.scss +4 -2
  228. package/components/breadcrumb/breadcrumb.component.scss +0 -18
  229. package/components/card/card.component.scss +0 -63
  230. package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.scss +0 -43
  231. package/components/cascade/cascade-list/cascade-list.component.scss +0 -22
  232. package/components/cascade/cascade-menu/cascade-menu.component.scss +0 -48
  233. package/components/date-range/date-range.component.scss +0 -232
  234. package/components/drawer/drawer.component.scss +0 -133
  235. package/components/highlight/highlight.component.scss +0 -3
  236. package/components/material-color-picker/material-color-picker.component.scss +0 -5
  237. package/components/material-datetimepicker/calendar-body.scss +0 -58
  238. package/components/material-datetimepicker/calendar.scss +0 -194
  239. package/components/material-datetimepicker/clock.scss +0 -90
  240. package/components/material-datetimepicker/datetimepicker-content.scss +0 -151
  241. package/components/material-datetimepicker/datetimepicker.scss +0 -145
  242. package/components/material-datetimepicker/time.scss +0 -82
  243. package/components/navigation/horizontal/horizontal.component.scss +0 -167
  244. package/components/navigation/vertical/styles/appearances/compact.scss +0 -103
  245. package/components/navigation/vertical/styles/appearances/default.scss +0 -550
  246. package/components/navigation/vertical/styles/appearances/dense.scss +0 -171
  247. package/components/navigation/vertical/styles/appearances/thin.scss +0 -91
  248. package/components/navigation/vertical/vertical.component.scss +0 -4
  249. package/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.scss +0 -19
  250. package/components/popover/popover.component.scss +0 -174
  251. package/components/progress-bar/progress-bar.component.scss +0 -7
  252. package/components/rating/rating.component.scss +0 -33
  253. package/components/select-search/select-search.component.scss +0 -126
  254. package/components/select-tree/select-tree.component.scss +0 -54
  255. package/components/timeline/timeline-item/timeline-item.component.scss +0 -329
  256. package/components/timeline/timeline.component.scss +0 -42
  257. package/components/toast/toast-modal.component.scss +0 -119
  258. package/components/toast/toast.component.scss +0 -62
  259. package/components/transfer-picker/filter/filter.component.scss +0 -40
  260. package/components/transfer-picker/search/search.component.scss +0 -7
  261. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.scss +0 -25
  262. package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.scss +0 -27
  263. package/components/transfer-picker/transfer-picker.component.scss +0 -8
  264. package/esm2022/animations/drop.mjs +0 -26
  265. package/styles/main.scss +0 -9
  266. /package/animations/{drop.d.ts → dropdown.d.ts} +0 -0
@@ -9,7 +9,7 @@ import { CmatVerticalNavigationDividerItemComponent } from '../divider/divider.c
9
9
  import { CmatVerticalNavigationBasicItemComponent } from '../basic/basic.component';
10
10
  import { MatIconModule } from '@angular/material/icon';
11
11
  import { MatTooltipModule } from '@angular/material/tooltip';
12
- import { NgClass, NgIf, NgFor } from '@angular/common';
12
+ import { NgClass } from '@angular/common';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/router";
15
15
  import * as i2 from "../../../navigation.service";
@@ -20,7 +20,7 @@ export class CmatVerticalNavigationCollapsableItemComponent {
20
20
  this._changeDetectorRef = _changeDetectorRef;
21
21
  this._router = _router;
22
22
  this._cmatNavigationService = _cmatNavigationService;
23
- this.editMode = false;
23
+ this.editState = false;
24
24
  this.editSelectedItemChanged = new EventEmitter();
25
25
  this.isCollapsed = true;
26
26
  this.isExpanded = false;
@@ -252,23 +252,21 @@ export class CmatVerticalNavigationCollapsableItemComponent {
252
252
  }
253
253
  return false;
254
254
  }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationCollapsableItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i2.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CmatVerticalNavigationCollapsableItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-collapsable-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name", editMode: "editMode" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, host: { properties: { "class": "this.classList" } }, ngImport: i0, template: "<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\r\n [ngClass]=\"item.classes?.wrapper\">\r\n\r\n <div class=\"cmat-vertical-navigation-item\" role=\"presentation\" [ngClass]=\"{'cmat-vertical-navigation-item-disabled': item.disabled}\"\r\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable();selectItem(item);\">\r\n\r\n <!-- Icon -->\r\n <ng-container *ngIf=\"item.icon\">\r\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <!-- Title & Subtitle -->\r\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\r\n <div class=\"cmat-vertical-navigation-item-title\">\r\n <span [ngClass]=\"item.classes?.title\">\r\n {{item.title}}\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"item.subTitle\">\r\n <div class=\"cmat-vertical-navigation-item-subtitle\">\r\n <span [ngClass]=\"item.classes?.subtitle\">\r\n {{item.subTitle}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Badge -->\r\n <ng-container *ngIf=\"item.badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\r\n {{item.badge.title}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Arrow -->\r\n <mat-icon class=\"cmat-vertical-navigation-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_solid:chevron-right'\">\r\n </mat-icon>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"cmat-vertical-navigation-item-children\" *ngIf=\"!isCollapsed\" @expandCollapse>\r\n\r\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\r\n\r\n <!-- Skip the hidden items -->\r\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\r\n\r\n <!-- Basic -->\r\n <ng-container *ngIf=\"item.type === 'basic'\">\r\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\r\n </ng-container>\r\n\r\n <!-- Collapsable -->\r\n <ng-container *ngIf=\"item.type === 'collapsable'\">\r\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-collapsable-item>\r\n </ng-container>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"item.type === 'divider'\">\r\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-divider-item>\r\n </ng-container>\r\n\r\n <!-- Group -->\r\n <ng-container *ngIf=\"item.type === 'group'\">\r\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\r\n </ng-container>\r\n\r\n <!-- Spacer -->\r\n <ng-container *ngIf=\"item.type === 'spacer'\">\r\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-spacer-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</div>", dependencies: [{ kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationCollapsableItemComponent), selector: "cmat-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTooltipModule) }, { kind: "directive", type: i0.forwardRef(() => i3.MatTooltip), selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i0.forwardRef(() => NgFor), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationBasicItemComponent), selector: "cmat-vertical-navigation-basic-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationDividerItemComponent), selector: "cmat-vertical-navigation-divider-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationGroupItemComponent), selector: "cmat-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationSpacerItemComponent), selector: "cmat-vertical-navigation-spacer-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }], animations: cmatAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationCollapsableItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i2.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatVerticalNavigationCollapsableItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-collapsable-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name", editState: "editState" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, host: { properties: { "class": "this.classList" } }, ngImport: i0, template: "<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\n [ngClass]=\"item.classes?.wrapper\">\n\n <div class=\"cmat-vertical-navigation-item\" role=\"presentation\" [ngClass]=\"{'cmat-vertical-navigation-item-disabled': item.disabled}\"\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable();selectItem(item);\">\n\n <!-- Icon -->\n @if (item.icon) {\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n }\n\n <!-- Title & Subtitle -->\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\n <div class=\"cmat-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n @if (item.subTitle) {\n <div class=\"cmat-vertical-navigation-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subTitle}}\n </span>\n </div>\n }\n </div>\n\n <!-- Badge -->\n @if (item.badge) {\n <div class=\"cmat-vertical-navigation-item-badge\">\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n }\n\n <!-- Arrow -->\n <mat-icon class=\"cmat-vertical-navigation-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_outline:chevron-right'\">\n </mat-icon>\n\n </div>\n\n</div>\n\n@if (!isCollapsed) {\n <div class=\"cmat-vertical-navigation-item-children\" @expandCollapse>\n @for (item of item.children; track trackByFn($index, item)) {\n <!-- Skip the hidden items -->\n @if ((item.hidden && !item.hidden(item)) || !item.hidden) {\n <!-- Basic -->\n @if (item.type === 'basic') {\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\n }\n <!-- Collapsable -->\n @if (item.type === 'collapsable') {\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-collapsable-item>\n }\n <!-- Divider -->\n @if (item.type === 'divider') {\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-divider-item>\n }\n <!-- Group -->\n @if (item.type === 'group') {\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\n }\n <!-- Spacer -->\n @if (item.type === 'spacer') {\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-spacer-item>\n }\n }\n }\n </div>\n}", dependencies: [{ kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationCollapsableItemComponent), selector: "cmat-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTooltipModule) }, { kind: "directive", type: i0.forwardRef(() => i3.MatTooltip), selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationBasicItemComponent), selector: "cmat-vertical-navigation-basic-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationGroupItemComponent), selector: "cmat-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationDividerItemComponent), selector: "cmat-vertical-navigation-divider-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationSpacerItemComponent), selector: "cmat-vertical-navigation-spacer-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }], animations: cmatAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationCollapsableItemComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationCollapsableItemComponent, decorators: [{
259
259
  type: Component,
260
- args: [{ selector: 'cmat-vertical-navigation-collapsable-item', animations: cmatAnimations, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, MatTooltipModule, NgIf, MatIconModule, NgFor,
261
- CmatVerticalNavigationBasicItemComponent,
260
+ args: [{ selector: 'cmat-vertical-navigation-collapsable-item', animations: cmatAnimations, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, MatTooltipModule, MatIconModule, CmatVerticalNavigationBasicItemComponent,
262
261
  forwardRef(() => CmatVerticalNavigationCollapsableItemComponent),
263
- CmatVerticalNavigationDividerItemComponent, CmatVerticalNavigationGroupItemComponent,
264
- CmatVerticalNavigationSpacerItemComponent], template: "<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\r\n [ngClass]=\"item.classes?.wrapper\">\r\n\r\n <div class=\"cmat-vertical-navigation-item\" role=\"presentation\" [ngClass]=\"{'cmat-vertical-navigation-item-disabled': item.disabled}\"\r\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable();selectItem(item);\">\r\n\r\n <!-- Icon -->\r\n <ng-container *ngIf=\"item.icon\">\r\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <!-- Title & Subtitle -->\r\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\r\n <div class=\"cmat-vertical-navigation-item-title\">\r\n <span [ngClass]=\"item.classes?.title\">\r\n {{item.title}}\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"item.subTitle\">\r\n <div class=\"cmat-vertical-navigation-item-subtitle\">\r\n <span [ngClass]=\"item.classes?.subtitle\">\r\n {{item.subTitle}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Badge -->\r\n <ng-container *ngIf=\"item.badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\r\n {{item.badge.title}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Arrow -->\r\n <mat-icon class=\"cmat-vertical-navigation-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_solid:chevron-right'\">\r\n </mat-icon>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"cmat-vertical-navigation-item-children\" *ngIf=\"!isCollapsed\" @expandCollapse>\r\n\r\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\r\n\r\n <!-- Skip the hidden items -->\r\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\r\n\r\n <!-- Basic -->\r\n <ng-container *ngIf=\"item.type === 'basic'\">\r\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\r\n </ng-container>\r\n\r\n <!-- Collapsable -->\r\n <ng-container *ngIf=\"item.type === 'collapsable'\">\r\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-collapsable-item>\r\n </ng-container>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"item.type === 'divider'\">\r\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-divider-item>\r\n </ng-container>\r\n\r\n <!-- Group -->\r\n <ng-container *ngIf=\"item.type === 'group'\">\r\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\r\n </ng-container>\r\n\r\n <!-- Spacer -->\r\n <ng-container *ngIf=\"item.type === 'spacer'\">\r\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-spacer-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</div>" }]
262
+ forwardRef(() => CmatVerticalNavigationGroupItemComponent), CmatVerticalNavigationDividerItemComponent, CmatVerticalNavigationSpacerItemComponent], template: "<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\n [ngClass]=\"item.classes?.wrapper\">\n\n <div class=\"cmat-vertical-navigation-item\" role=\"presentation\" [ngClass]=\"{'cmat-vertical-navigation-item-disabled': item.disabled}\"\n [matTooltip]=\"item.tooltip || ''\" (click)=\"toggleCollapsable();selectItem(item);\">\n\n <!-- Icon -->\n @if (item.icon) {\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n }\n\n <!-- Title & Subtitle -->\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\n <div class=\"cmat-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n @if (item.subTitle) {\n <div class=\"cmat-vertical-navigation-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subTitle}}\n </span>\n </div>\n }\n </div>\n\n <!-- Badge -->\n @if (item.badge) {\n <div class=\"cmat-vertical-navigation-item-badge\">\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n }\n\n <!-- Arrow -->\n <mat-icon class=\"cmat-vertical-navigation-item-arrow icon-size-4\" [svgIcon]=\"'heroicons_outline:chevron-right'\">\n </mat-icon>\n\n </div>\n\n</div>\n\n@if (!isCollapsed) {\n <div class=\"cmat-vertical-navigation-item-children\" @expandCollapse>\n @for (item of item.children; track trackByFn($index, item)) {\n <!-- Skip the hidden items -->\n @if ((item.hidden && !item.hidden(item)) || !item.hidden) {\n <!-- Basic -->\n @if (item.type === 'basic') {\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\n }\n <!-- Collapsable -->\n @if (item.type === 'collapsable') {\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-collapsable-item>\n }\n <!-- Divider -->\n @if (item.type === 'divider') {\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-divider-item>\n }\n <!-- Group -->\n @if (item.type === 'group') {\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\n }\n <!-- Spacer -->\n @if (item.type === 'spacer') {\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-spacer-item>\n }\n }\n }\n </div>\n}" }]
265
263
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i2.CmatNavigationService }], propDecorators: { autoCollapse: [{
266
264
  type: Input
267
265
  }], item: [{
268
266
  type: Input
269
267
  }], name: [{
270
268
  type: Input
271
- }], editMode: [{
269
+ }], editState: [{
272
270
  type: Input
273
271
  }], editSelectedItemChanged: [{
274
272
  type: Output
@@ -276,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
276
274
  type: HostBinding,
277
275
  args: ['class']
278
276
  }] } });
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2FibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9KLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSWpELE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFP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QXlDLENBQUM7K0lBT3JDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNhLHVCQUF1QjtzQkFBekMsTUFBTTtnQkFxQm1CLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBjbWF0QW5pbWF0aW9ucyB9IGZyb20gJ2NtYXQvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uSXRlbSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24udHlwZXMnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdmVydGljYWwvdmVydGljYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvblNwYWNlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9ncm91cC9ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uRGl2aWRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkJhc2ljSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljL2Jhc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWNvbGxhcHNhYmxlLWl0ZW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogW10sXHJcbiAgICBhbmltYXRpb25zOiBjbWF0QW5pbWF0aW9ucyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBNYXRUb29sdGlwTW9kdWxlLCBOZ0lmLCBNYXRJY29uTW9kdWxlLCBOZ0ZvciwgXHJcbiAgICAgICAgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkJhc2ljSXRlbUNvbXBvbmVudCwgXHJcbiAgICAgICAgZm9yd2FyZFJlZigoKSA9PiBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29sbGFwc2FibGVJdGVtQ29tcG9uZW50KSwgXHJcbiAgICAgICAgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkRpdmlkZXJJdGVtQ29tcG9uZW50LCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uR3JvdXBJdGVtQ29tcG9uZW50LCBcclxuICAgICAgICBDbWF0VmVydGljYWxOYXZpZ2F0aW9uU3BhY2VySXRlbUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db2xsYXBzYWJsZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hdXRvQ29sbGFwc2U6IEJvb2xlYW5JbnB1dDtcclxuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXHJcblxyXG4gICAgQElucHV0KCkgYXV0b0NvbGxhcHNlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtO1xyXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZDogRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4oKTtcclxuICAgIFxyXG4gICAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDogQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfY21hdE5hdmlnYXRpb25TZXJ2aWNlOiBDbWF0TmF2aWdhdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIEFjY2Vzc29yc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgYmluZGluZyBmb3IgY29tcG9uZW50IGNsYXNzZXNcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzc0xpc3QoKTogYW55IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbiAgICAgICAgICAgICdjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1jb2xsYXBzZWQnOiB0aGlzLmlzQ29sbGFwc2VkLFxyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbiAgICAgICAgICAgICdjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1leHBhbmRlZCc6IHRoaXMuaXNFeHBhbmRlZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgTGlmZWN5Y2xlIGhvb2tzXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gaW5pdFxyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBHZXQgdGhlIHBhcmVudCBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgPSB0aGlzLl9jbWF0TmF2aWdhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50KHRoaXMubmFtZSk7XHJcblxyXG4gICAgICAgIC8vIElmIHRoZSBpdGVtIGhhcyBhIGNoaWxkcmVuIHRoYXQgaGFzIGEgbWF0Y2hpbmcgdXJsIHdpdGggdGhlIGN1cnJlbnQgdXJsLCBleHBhbmQuLi5cclxuICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCB0aGlzLl9yb3V0ZXIudXJsKSkge1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdGhlcndpc2UuLi5cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgdGhlIGF1dG9Db2xsYXBzZSBpcyBvbiwgY29sbGFwc2UuLi5cclxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbGxhcHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIExpc3RlbiBmb3IgdGhlIG9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkIGZyb20gdGhlIHNlcnZpY2VcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZEl0ZW0pID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgY29sbGFwc2VkIGl0ZW0gaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgaWYgKGNvbGxhcHNlZEl0ZW0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ29sbGFwc2UgaWYgdGhpcyBpcyBhIGNoaWxkcmVuIG9mIHRoZSBjb2xsYXBzZWQgaXRlbVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzQ2hpbGRyZW5PZihjb2xsYXBzZWRJdGVtLCB0aGlzLml0ZW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gTGlzdGVuIGZvciB0aGUgb25Db2xsYXBzYWJsZUl0ZW1FeHBhbmRlZCBmcm9tIHRoZSBzZXJ2aWNlIGlmIHRoZSBhdXRvQ29sbGFwc2UgaXMgb25cclxuICAgICAgICBpZiAodGhpcy5hdXRvQ29sbGFwc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vbkNvbGxhcHNhYmxlSXRlbUV4cGFuZGVkXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXhwYW5kZWRJdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBleHBhbmRlZCBpdGVtIGlzIG51bGxcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kZWRJdGVtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBwYXJlbnQgb2YgdGhlIGV4cGFuZGVkIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDaGlsZHJlbk9mKHRoaXMuaXRlbSwgZXhwYW5kZWRJdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGhhcyBhIGNoaWxkcmVuIHdpdGggYSBtYXRjaGluZyB1cmwgd2l0aCB0aGUgY3VycmVudCBhY3RpdmUgdXJsXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2hhc0FjdGl2ZUNoaWxkKHRoaXMuaXRlbSwgdGhpcy5fcm91dGVyLnVybCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgZXhwYW5kZWQgaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gPT09IGV4cGFuZGVkSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiBub25lIG9mIHRoZSBhYm92ZSBjb25kaXRpb25zIGFyZSBtYXRjaGVkLCBjb2xsYXBzZSB0aGlzIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEF0dGFjaCBhIGxpc3RlbmVyIHRvIHRoZSBOYXZpZ2F0aW9uRW5kIGV2ZW50XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50c1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgaXRlbSBoYXMgYSBjaGlsZHJlbiB0aGF0IGhhcyBhIG1hdGNoaW5nIHVybCB3aXRoIHRoZSBjdXJyZW50IHVybCwgZXhwYW5kLi4uXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCBldmVudC51cmxBZnRlclJlZGlyZWN0cykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLi4uXHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYXV0b0NvbGxhcHNlIGlzIG9uLCBjb2xsYXBzZS4uLlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Db2xsYXBzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uUmVmcmVzaGVkIG9uIHRoZSBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxyXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gZGVzdHJveVxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgUHVibGljIG1ldGhvZHNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb2xsYXBzZVxyXG4gICAgICovXHJcbiAgICBjb2xsYXBzZSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgZGlzYWJsZWRcclxuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgaXRlbSBpcyBhbHJlYWR5IGNvbGxhcHNlZFxyXG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbGxhcHNlIGl0XHJcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIG9ic2VydmFibGVcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkLm5leHQodGhpcy5pdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4cGFuZFxyXG4gICAgICovXHJcbiAgICBleHBhbmQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gUmV0dXJuIGlmIHRoZSBpdGVtIGlzIGRpc2FibGVkXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgYWxyZWFkeSBleHBhbmRlZFxyXG4gICAgICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFeHBhbmQgaXRcclxuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIG9ic2VydmFibGVcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtRXhwYW5kZWQubmV4dCh0aGlzLml0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9nZ2xlIGNvbGxhcHNhYmxlXHJcbiAgICAgKi9cclxuICAgIHRvZ2dsZUNvbGxhcHNhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFRvZ2dsZSBjb2xsYXBzZS9leHBhbmRcclxuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYWNrIGJ5IGZ1bmN0aW9uIGZvciBuZ0ZvciBsb29wc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleFxyXG4gICAgICogQHBhcmFtIGl0ZW1cclxuICAgICAqL1xyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgfHwgaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkLm5leHQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIFByaXZhdGUgbWV0aG9kc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlbiBpdGVtIGhhcyB0aGUgZ2l2ZW4gdXJsXHJcbiAgICAgKiBpbiBvbmUgb2YgaXRzIGNoaWxkcmVuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGl0ZW1cclxuICAgICAqIEBwYXJhbSBjdXJyZW50VXJsXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9oYXNBY3RpdmVDaGlsZChpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0sIGN1cnJlbnRVcmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcclxuXHJcbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgIGlmIChjaGlsZC5jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2hhc0FjdGl2ZUNoaWxkKGNoaWxkLCBjdXJyZW50VXJsKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgY2hpbGQgaGFzIGEgbGluayBhbmQgaXMgYWN0aXZlXHJcbiAgICAgICAgICAgIGlmIChjaGlsZC5saW5rICYmIHRoaXMuX3JvdXRlci5pc0FjdGl2ZShjaGlsZC5saW5rLCB7XHJcbiAgICAgICAgICAgICAgICBwYXRoczogY2hpbGQuZXhhY3RNYXRjaCB8fCBmYWxzZSA/ICdleGFjdCcgOiAnc3Vic2V0JyxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBjaGlsZC5leGFjdE1hdGNoIHx8IGZhbHNlID8gJ2V4YWN0JyA6ICdzdWJzZXQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJ1xyXG4gICAgICAgICAgICB9KSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoaXMgaXMgYSBjaGlsZHJlblxyXG4gICAgICogb2YgdGhlIGdpdmVuIGl0ZW1cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyZW50XHJcbiAgICAgKiBAcGFyYW0gaXRlbVxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaXNDaGlsZHJlbk9mKHBhcmVudDogQ21hdE5hdmlnYXRpb25JdGVtLCBpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0pOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudC5jaGlsZHJlbjtcclxuXHJcbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hpbGRyZW4uaW5kZXhPZihpdGVtKSA+IC0xKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc0NoaWxkcmVuT2YoY2hpbGQsIGl0ZW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0td3JhcHBlclwiIFtjbGFzcy5jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1oYXMtc3VidGl0bGVdPVwiISFpdGVtLnN1YlRpdGxlXCJcclxuICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbbmdDbGFzc109XCJ7J2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWRpc2FibGVkJzogaXRlbS5kaXNhYmxlZH1cIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0udG9vbHRpcCB8fCAnJ1wiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzYWJsZSgpO3NlbGVjdEl0ZW0oaXRlbSk7XCI+XHJcblxyXG4gICAgICAgIDwhLS0gSWNvbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pY29uXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/Lmljb25cIiBbc3ZnSWNvbl09XCJpdGVtLmljb25cIj5cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBUaXRsZSAmIFN1YnRpdGxlIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy50aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5zdWJUaXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXN1YnRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW0uc3ViVGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBCYWRnZSAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5iYWRnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1iYWRnZS1jb250ZW50XCIgW25nQ2xhc3NdPVwiaXRlbS5iYWRnZS5jbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLmJhZGdlLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBBcnJvdyAtLT5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hcnJvdyBpY29uLXNpemUtNFwiIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6Y2hldnJvbi1yaWdodCdcIj5cclxuICAgICAgICA8L21hdC1pY29uPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tY2hpbGRyZW5cIiAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiIEBleHBhbmRDb2xsYXBzZT5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW0uY2hpbGRyZW47IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxyXG5cclxuICAgICAgICA8IS0tIFNraXAgdGhlIGhpZGRlbiBpdGVtcyAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uaGlkZGVuICYmICFpdGVtLmhpZGRlbihpdGVtKSkgfHwgIWl0ZW0uaGlkZGVuXCI+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEJhc2ljIC0tPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmFzaWMnXCI+XHJcbiAgICAgICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWJhc2ljLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+PC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8IS0tIENvbGxhcHNhYmxlIC0tPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnY29sbGFwc2FibGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWNvbGxhcHNhYmxlLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbYXV0b0NvbGxhcHNlXT1cImF1dG9Db2xsYXBzZVwiICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1jb2xsYXBzYWJsZS1pdGVtPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRGl2aWRlciAtLT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2RpdmlkZXInXCI+XHJcbiAgICAgICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWRpdmlkZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1kaXZpZGVyLWl0ZW0+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBHcm91cCAtLT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgIFtlZGl0TW9kZV09XCJlZGl0TW9kZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj48L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gU3BhY2VyIC0tPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc3BhY2VyJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuPC9kaXY+Il19
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2FibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9KLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSWpELE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQWExQyxNQUFNLE9BQU8sOENBQThDO0lBZ0J2RCxZQUNZLGtCQUFxQyxFQUNyQyxPQUFlLEVBQ2Ysc0JBQTZDO1FBRjdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFYaEQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUNqQiw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFdEgsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVwQixvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTzdELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsY0FBYztJQUNkLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNILElBQTBCLFNBQVM7UUFDL0IsT0FBTztZQUNILGdFQUFnRTtZQUNoRSx5Q0FBeUMsRUFBRSxJQUFJLENBQUMsV0FBVztZQUMzRCxnRUFBZ0U7WUFDaEUsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUQsQ0FBQztJQUNOLENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNILFFBQVE7UUFDSixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVGLHFGQUFxRjtRQUNyRixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQjtRQUNELGVBQWU7YUFDVjtZQUNELHlDQUF5QztZQUN6QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtTQUNKO1FBRUQsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQywwQkFBMEI7YUFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDckMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFFekIsc0NBQXNDO1lBQ3RDLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDeEIsT0FBTzthQUNWO1lBRUQsdURBQXVEO1lBQ3ZELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDbkI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLHNGQUFzRjtRQUN0RixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLHlCQUF5QjtpQkFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQ3JDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUV4QixxQ0FBcUM7Z0JBQ3JDLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtvQkFDdkIsT0FBTztpQkFDVjtnQkFFRCxpREFBaUQ7Z0JBQ2pELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFO29CQUM3QyxPQUFPO2lCQUNWO2dCQUVELCtFQUErRTtnQkFDL0UsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDbkQsT0FBTztpQkFDVjtnQkFFRCxxQ0FBcUM7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUU7b0JBQzVCLE9BQU87aUJBQ1Y7Z0JBRUQsa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7U0FDVjtRQUVELCtDQUErQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDZCxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUN6RSxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQzthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUVoQyxxRkFBcUY7WUFDckYsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqQjtZQUNELGVBQWU7aUJBQ1Y7Z0JBQ0QseUNBQXlDO2dCQUN6QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDbkI7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFFYixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNQLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxtQkFBbUI7SUFDbkIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0gsUUFBUTtRQUNKLGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUVELDBDQUEwQztRQUMxQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBRUQsY0FBYztRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBDLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdkMseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixpQ0FBaUM7UUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsWUFBWTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBDLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdkMseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQjtRQUNiLHlCQUF5QjtRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO2FBQ0k7WUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXdCO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIsd0dBQXdHO0lBRXhHOzs7Ozs7O09BT0c7SUFDSyxlQUFlLENBQUMsSUFBd0IsRUFBRSxVQUFrQjtRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzFCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtvQkFDekMsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtZQUVELDhDQUE4QztZQUM5QyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDaEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVE7Z0JBQ3JELFdBQVcsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUzthQUM1RyxDQUFDLEVBQUU7Z0JBQ0EsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxhQUFhLENBQUMsTUFBMEIsRUFBRSxJQUF3QjtRQUN0RSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRWpDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNqQyxPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzhHQXpTUSw4Q0FBOEM7a0dBQTlDLDhDQUE4Qyx5VEM1QjNELDR0R0E0RUMsZ0VEaERZLDhDQUE4Qyx3TUFKN0MsT0FBTyx3R0FBRSxnQkFBZ0Isc1dBQUUsYUFBYSw4TkFBRSx3Q0FBd0Msa0xBRXZFLHdDQUF3QyxrTUFBRywwQ0FBMEMsb0xBQUUseUNBQXlDLGlKQUx6SSxjQUFjOzsyRkFPakIsOENBQThDO2tCQVgxRCxTQUFTOytCQUNJLDJDQUEyQyxjQUd6QyxjQUFjLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSx3Q0FBd0M7d0JBQ3hGLFVBQVUsQ0FBQyxHQUFHLEVBQUUsK0NBQStDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFFLDBDQUEwQyxFQUFFLHlDQUF5QyxDQUFDOytJQU83SSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDYSx1QkFBdUI7c0JBQXpDLE1BQU07Z0JBcUJtQixTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY21hdEFuaW1hdGlvbnMgfSBmcm9tICdjbWF0L2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnR5cGVzJztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3ZlcnRpY2FsL3ZlcnRpY2FsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25TcGFjZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uR3JvdXBJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JvdXAvZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkRpdmlkZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25CYXNpY0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy9iYXNpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWNvbGxhcHNhYmxlLWl0ZW0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbGxhcHNhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogW10sXHJcbiAgICBhbmltYXRpb25zOiBjbWF0QW5pbWF0aW9ucyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQmFzaWNJdGVtQ29tcG9uZW50LCBcclxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db2xsYXBzYWJsZUl0ZW1Db21wb25lbnQpLCBcclxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Hcm91cEl0ZW1Db21wb25lbnQpLCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uRGl2aWRlckl0ZW1Db21wb25lbnQsIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25TcGFjZXJJdGVtQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbGxhcHNhYmxlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2F1dG9Db2xsYXBzZTogQm9vbGVhbklucHV0O1xyXG4gICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cclxuXHJcbiAgICBASW5wdXQoKSBhdXRvQ29sbGFwc2U6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW07XHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBlZGl0U3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZDogRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4oKTtcclxuICAgIFxyXG4gICAgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDogQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfY21hdE5hdmlnYXRpb25TZXJ2aWNlOiBDbWF0TmF2aWdhdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIEFjY2Vzc29yc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgYmluZGluZyBmb3IgY29tcG9uZW50IGNsYXNzZXNcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzc0xpc3QoKTogYW55IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbiAgICAgICAgICAgICdjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1jb2xsYXBzZWQnOiB0aGlzLmlzQ29sbGFwc2VkLFxyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbiAgICAgICAgICAgICdjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1leHBhbmRlZCc6IHRoaXMuaXNFeHBhbmRlZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgTGlmZWN5Y2xlIGhvb2tzXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gaW5pdFxyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBHZXQgdGhlIHBhcmVudCBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgPSB0aGlzLl9jbWF0TmF2aWdhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50KHRoaXMubmFtZSk7XHJcblxyXG4gICAgICAgIC8vIElmIHRoZSBpdGVtIGhhcyBhIGNoaWxkcmVuIHRoYXQgaGFzIGEgbWF0Y2hpbmcgdXJsIHdpdGggdGhlIGN1cnJlbnQgdXJsLCBleHBhbmQuLi5cclxuICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCB0aGlzLl9yb3V0ZXIudXJsKSkge1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdGhlcndpc2UuLi5cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgdGhlIGF1dG9Db2xsYXBzZSBpcyBvbiwgY29sbGFwc2UuLi5cclxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0NvbGxhcHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIExpc3RlbiBmb3IgdGhlIG9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkIGZyb20gdGhlIHNlcnZpY2VcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZEl0ZW0pID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgY29sbGFwc2VkIGl0ZW0gaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgaWYgKGNvbGxhcHNlZEl0ZW0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ29sbGFwc2UgaWYgdGhpcyBpcyBhIGNoaWxkcmVuIG9mIHRoZSBjb2xsYXBzZWQgaXRlbVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzQ2hpbGRyZW5PZihjb2xsYXBzZWRJdGVtLCB0aGlzLml0ZW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gTGlzdGVuIGZvciB0aGUgb25Db2xsYXBzYWJsZUl0ZW1FeHBhbmRlZCBmcm9tIHRoZSBzZXJ2aWNlIGlmIHRoZSBhdXRvQ29sbGFwc2UgaXMgb25cclxuICAgICAgICBpZiAodGhpcy5hdXRvQ29sbGFwc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vbkNvbGxhcHNhYmxlSXRlbUV4cGFuZGVkXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXhwYW5kZWRJdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBleHBhbmRlZCBpdGVtIGlzIG51bGxcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhwYW5kZWRJdGVtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBwYXJlbnQgb2YgdGhlIGV4cGFuZGVkIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDaGlsZHJlbk9mKHRoaXMuaXRlbSwgZXhwYW5kZWRJdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGhhcyBhIGNoaWxkcmVuIHdpdGggYSBtYXRjaGluZyB1cmwgd2l0aCB0aGUgY3VycmVudCBhY3RpdmUgdXJsXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2hhc0FjdGl2ZUNoaWxkKHRoaXMuaXRlbSwgdGhpcy5fcm91dGVyLnVybCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgZXhwYW5kZWQgaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gPT09IGV4cGFuZGVkSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiBub25lIG9mIHRoZSBhYm92ZSBjb25kaXRpb25zIGFyZSBtYXRjaGVkLCBjb2xsYXBzZSB0aGlzIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEF0dGFjaCBhIGxpc3RlbmVyIHRvIHRoZSBOYXZpZ2F0aW9uRW5kIGV2ZW50XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50c1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgaXRlbSBoYXMgYSBjaGlsZHJlbiB0aGF0IGhhcyBhIG1hdGNoaW5nIHVybCB3aXRoIHRoZSBjdXJyZW50IHVybCwgZXhwYW5kLi4uXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCBldmVudC51cmxBZnRlclJlZGlyZWN0cykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLi4uXHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYXV0b0NvbGxhcHNlIGlzIG9uLCBjb2xsYXBzZS4uLlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Db2xsYXBzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uUmVmcmVzaGVkIG9uIHRoZSBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxyXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gZGVzdHJveVxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgUHVibGljIG1ldGhvZHNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb2xsYXBzZVxyXG4gICAgICovXHJcbiAgICBjb2xsYXBzZSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgZGlzYWJsZWRcclxuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgaXRlbSBpcyBhbHJlYWR5IGNvbGxhcHNlZFxyXG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbGxhcHNlIGl0XHJcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIG9ic2VydmFibGVcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtQ29sbGFwc2VkLm5leHQodGhpcy5pdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4cGFuZFxyXG4gICAgICovXHJcbiAgICBleHBhbmQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gUmV0dXJuIGlmIHRoZSBpdGVtIGlzIGRpc2FibGVkXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGl0ZW0gaXMgYWxyZWFkeSBleHBhbmRlZFxyXG4gICAgICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFeHBhbmQgaXRcclxuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIG9ic2VydmFibGVcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uQ29sbGFwc2FibGVJdGVtRXhwYW5kZWQubmV4dCh0aGlzLml0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9nZ2xlIGNvbGxhcHNhYmxlXHJcbiAgICAgKi9cclxuICAgIHRvZ2dsZUNvbGxhcHNhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFRvZ2dsZSBjb2xsYXBzZS9leHBhbmRcclxuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYWNrIGJ5IGZ1bmN0aW9uIGZvciBuZ0ZvciBsb29wc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleFxyXG4gICAgICogQHBhcmFtIGl0ZW1cclxuICAgICAqL1xyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgfHwgaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkLm5leHQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gQCBQcml2YXRlIG1ldGhvZHNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gaXRlbSBoYXMgdGhlIGdpdmVuIHVybFxyXG4gICAgICogaW4gb25lIG9mIGl0cyBjaGlsZHJlblxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpdGVtXHJcbiAgICAgKiBAcGFyYW0gY3VycmVudFVybFxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaGFzQWN0aXZlQ2hpbGQoaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtLCBjdXJyZW50VXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW47XHJcblxyXG4gICAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9oYXNBY3RpdmVDaGlsZChjaGlsZCwgY3VycmVudFVybCkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkIGhhcyBhIGxpbmsgYW5kIGlzIGFjdGl2ZVxyXG4gICAgICAgICAgICBpZiAoY2hpbGQubGluayAmJiB0aGlzLl9yb3V0ZXIuaXNBY3RpdmUoY2hpbGQubGluaywge1xyXG4gICAgICAgICAgICAgICAgcGF0aHM6IGNoaWxkLmV4YWN0TWF0Y2ggfHwgZmFsc2UgPyAnZXhhY3QnIDogJ3N1YnNldCcsXHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogY2hpbGQuZXhhY3RNYXRjaCB8fCBmYWxzZSA/ICdleGFjdCcgOiAnc3Vic2V0JywgbWF0cml4UGFyYW1zOiAnaWdub3JlZCcsIGZyYWdtZW50OiAnaWdub3JlZCdcclxuICAgICAgICAgICAgfSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGlzIGlzIGEgY2hpbGRyZW5cclxuICAgICAqIG9mIHRoZSBnaXZlbiBpdGVtXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBhcmVudFxyXG4gICAgICogQHBhcmFtIGl0ZW1cclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2lzQ2hpbGRyZW5PZihwYXJlbnQ6IENtYXROYXZpZ2F0aW9uSXRlbSwgaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQuY2hpbGRyZW47XHJcblxyXG4gICAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoaWxkcmVuLmluZGV4T2YoaXRlbSkgPiAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDaGlsZHJlbk9mKGNoaWxkLCBpdGVtKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXJcIiBbY2xhc3MuY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taGFzLXN1YnRpdGxlXT1cIiEhaXRlbS5zdWJUaXRsZVwiXG4gIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbbmdDbGFzc109XCJ7J2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWRpc2FibGVkJzogaXRlbS5kaXNhYmxlZH1cIlxuICAgIFttYXRUb29sdGlwXT1cIml0ZW0udG9vbHRpcCB8fCAnJ1wiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzYWJsZSgpO3NlbGVjdEl0ZW0oaXRlbSk7XCI+XG5cbiAgICA8IS0tIEljb24gLS0+XG4gICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/Lmljb25cIiBbc3ZnSWNvbl09XCJpdGVtLmljb25cIj5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBUaXRsZSAmIFN1YnRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZS13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tdGl0bGVcIj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy50aXRsZVwiPlxuICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChpdGVtLnN1YlRpdGxlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1zdWJ0aXRsZVwiPlxuICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uc3VidGl0bGVcIj5cbiAgICAgICAgICAgIHt7aXRlbS5zdWJUaXRsZX19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlLWNvbnRlbnRcIiBbbmdDbGFzc109XCJpdGVtLmJhZGdlLmNsYXNzZXNcIj5cbiAgICAgICAgICB7e2l0ZW0uYmFkZ2UudGl0bGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gQXJyb3cgLS0+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYXJyb3cgaWNvbi1zaXplLTRcIiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6Y2hldnJvbi1yaWdodCdcIj5cbiAgICA8L21hdC1pY29uPlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cblxuQGlmICghaXNDb2xsYXBzZWQpIHtcbiAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWNoaWxkcmVuXCIgQGV4cGFuZENvbGxhcHNlPlxuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgdHJhY2tCeUZuKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgIDwhLS0gU2tpcCB0aGUgaGlkZGVuIGl0ZW1zIC0tPlxuICAgICAgQGlmICgoaXRlbS5oaWRkZW4gJiYgIWl0ZW0uaGlkZGVuKGl0ZW0pKSB8fCAhaXRlbS5oaWRkZW4pIHtcbiAgICAgICAgPCEtLSBCYXNpYyAtLT5cbiAgICAgICAgQGlmIChpdGVtLnR5cGUgPT09ICdiYXNpYycpIHtcbiAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWJhc2ljLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbZWRpdFN0YXRlXT1cImVkaXRTdGF0ZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj48L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1iYXNpYy1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQ29sbGFwc2FibGUgLS0+XG4gICAgICAgIEBpZiAoaXRlbS50eXBlID09PSAnY29sbGFwc2FibGUnKSB7XG4gICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1jb2xsYXBzYWJsZS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgW2F1dG9Db2xsYXBzZV09XCJhdXRvQ29sbGFwc2VcIiBbZWRpdFN0YXRlXT1cImVkaXRTdGF0ZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj5cbiAgICAgICAgICA8L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1jb2xsYXBzYWJsZS1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gRGl2aWRlciAtLT5cbiAgICAgICAgQGlmIChpdGVtLnR5cGUgPT09ICdkaXZpZGVyJykge1xuICAgICAgICAgIDxjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZGl2aWRlci1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgW2VkaXRTdGF0ZV09XCJlZGl0U3RhdGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZGl2aWRlci1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gR3JvdXAgLS0+XG4gICAgICAgIEBpZiAoaXRlbS50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgW2VkaXRTdGF0ZV09XCJlZGl0U3RhdGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+PC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZ3JvdXAtaXRlbT5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFNwYWNlciAtLT5cbiAgICAgICAgQGlmIChpdGVtLnR5cGUgPT09ICdzcGFjZXInKSB7XG4gICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFtlZGl0U3RhdGVdPVwiZWRpdFN0YXRlXCIgKGVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPlxuICAgICAgICAgIDwvY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLXNwYWNlci1pdGVtPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbn0iXX0=
@@ -8,7 +8,7 @@ export class CmatVerticalNavigationDividerItemComponent {
8
8
  constructor(_changeDetectorRef, _cmatNavigationService) {
9
9
  this._changeDetectorRef = _changeDetectorRef;
10
10
  this._cmatNavigationService = _cmatNavigationService;
11
- this.editMode = false;
11
+ this.editState = false;
12
12
  this.editSelectedItemChanged = new EventEmitter();
13
13
  this._unsubscribeAll = new Subject();
14
14
  }
@@ -38,19 +38,19 @@ export class CmatVerticalNavigationDividerItemComponent {
38
38
  selectItem(item) {
39
39
  this.editSelectedItemChanged.next(item);
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationDividerItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CmatVerticalNavigationDividerItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-divider-item", inputs: { item: "item", name: "name", editMode: "editMode" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Divider -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper divider\" role=\"presentation\" [ngClass]=\"item.classes?.wrapper\" (click)=\"selectItem(item);\"></div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationDividerItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CmatVerticalNavigationDividerItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-divider-item", inputs: { item: "item", name: "name", editState: "editState" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Divider -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper divider\" role=\"presentation\" [ngClass]=\"item.classes?.wrapper\" (click)=\"selectItem(item);\"></div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationDividerItemComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationDividerItemComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'cmat-vertical-navigation-divider-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], template: "<!-- Divider -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper divider\" role=\"presentation\" [ngClass]=\"item.classes?.wrapper\" (click)=\"selectItem(item);\"></div>" }]
47
47
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CmatNavigationService }], propDecorators: { item: [{
48
48
  type: Input
49
49
  }], name: [{
50
50
  type: Input
51
- }], editMode: [{
51
+ }], editState: [{
52
52
  type: Input
53
53
  }], editSelectedItemChanged: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVMUMsTUFBTSxPQUFPLDBDQUEwQztJQVNuRCxZQUNZLGtCQUFxQyxFQUNyQyxzQkFBNkM7UUFEN0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBUmhELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDaEIsNEJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRzlHLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFNN0QsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0gsUUFBUTtRQUNKLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUYsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFFYixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNQLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUF3QjtRQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7OEdBL0NRLDBDQUEwQztrR0FBMUMsMENBQTBDLGdPQ2hCdkQsaUxBQ21KLDRDRGFySSxPQUFPOzsyRkFFUiwwQ0FBMEM7a0JBUnRELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQzswSEFHVCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ2EsdUJBQXVCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uSXRlbSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24udHlwZXMnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdmVydGljYWwvdmVydGljYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWRpdmlkZXItaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGl2aWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFtdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3NdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uRGl2aWRlckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW07XHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBlZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q21hdE5hdmlnYXRpb25JdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q21hdE5hdmlnYXRpb25JdGVtPigpO1xyXG4gICAgXHJcbiAgICBwcml2YXRlIF9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50OiBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50O1xyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9jbWF0TmF2aWdhdGlvblNlcnZpY2U6IENtYXROYXZpZ2F0aW9uU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgTGlmZWN5Y2xlIGhvb2tzXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gaW5pdFxyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBHZXQgdGhlIHBhcmVudCBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgPSB0aGlzLl9jbWF0TmF2aWdhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50KHRoaXMubmFtZSk7XHJcblxyXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byBvblJlZnJlc2hlZCBvbiB0aGUgbmF2aWdhdGlvbiBjb21wb25lbnRcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uUmVmcmVzaGVkLnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbClcclxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAvLyBNYXJrIGZvciBjaGVja1xyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9uIGRlc3Ryb3lcclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEl0ZW0oaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZC5uZXh0KGl0ZW0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gRGl2aWRlciAtLT5cclxuPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXIgZGl2aWRlclwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKTtcIj48L2Rpdj4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVMUMsTUFBTSxPQUFPLDBDQUEwQztJQVNuRCxZQUNZLGtCQUFxQyxFQUNyQyxzQkFBNkM7UUFEN0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBUmhELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDakIsNEJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRzlHLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFNN0QsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0gsUUFBUTtRQUNKLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUYsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFFYixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNQLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUF3QjtRQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7OEdBL0NRLDBDQUEwQztrR0FBMUMsMENBQTBDLGtPQ2hCdkQsaUxBQ21KLDRDRGFySSxPQUFPOzsyRkFFUiwwQ0FBMEM7a0JBUnRELFNBQVM7K0JBQ0ksdUNBQXVDLG1CQUdoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQzswSEFHVCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2EsdUJBQXVCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uSXRlbSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24udHlwZXMnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdmVydGljYWwvdmVydGljYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWRpdmlkZXItaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGl2aWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFtdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3NdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uRGl2aWRlckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW07XHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBlZGl0U3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZDogRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4oKTtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDogQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfY21hdE5hdmlnYXRpb25TZXJ2aWNlOiBDbWF0TmF2aWdhdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9uIGluaXRcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50ID0gdGhpcy5fY21hdE5hdmlnYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLm5hbWUpO1xyXG5cclxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gb25SZWZyZXNoZWQgb24gdGhlIG5hdmlnYXRpb24gY29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vblJlZnJlc2hlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgLy8gTWFyayBmb3IgY2hlY2tcclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbiBkZXN0cm95XHJcbiAgICAgKi9cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IENtYXROYXZpZ2F0aW9uSXRlbSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQubmV4dChpdGVtKTtcclxuICAgIH1cclxufVxyXG4iLCI8IS0tIERpdmlkZXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS13cmFwcGVyIGRpdmlkZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy53cmFwcGVyXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSk7XCI+PC9kaXY+Il19
@@ -6,7 +6,7 @@ import { CmatVerticalNavigationDividerItemComponent } from '../divider/divider.c
6
6
  import { CmatVerticalNavigationCollapsableItemComponent } from '../collapsable/collapsable.component';
7
7
  import { CmatVerticalNavigationBasicItemComponent } from '../basic/basic.component';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
- import { NgClass, NgIf, NgFor } from '@angular/common';
9
+ import { NgClass } from '@angular/common';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../../navigation.service";
12
12
  import * as i2 from "@angular/material/icon";
@@ -14,7 +14,7 @@ export class CmatVerticalNavigationGroupItemComponent {
14
14
  constructor(_changeDetectorRef, _cmatNavigationService) {
15
15
  this._changeDetectorRef = _changeDetectorRef;
16
16
  this._cmatNavigationService = _cmatNavigationService;
17
- this.editMode = false;
17
+ this.editState = false;
18
18
  this.editSelectedItemChanged = new EventEmitter();
19
19
  this._unsubscribeAll = new Subject();
20
20
  }
@@ -56,24 +56,23 @@ export class CmatVerticalNavigationGroupItemComponent {
56
56
  selectItem(item) {
57
57
  this.editSelectedItemChanged.next(item);
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CmatVerticalNavigationGroupItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-group-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name", editMode: "editMode" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Item wrapper -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\r\n [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\">\r\n\r\n <div class=\"cmat-vertical-navigation-item\">\r\n\r\n <!-- Icon -->\r\n <ng-container *ngIf=\"item.icon\">\r\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <!-- Title & Subtitle -->\r\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\r\n <div class=\"cmat-vertical-navigation-item-title\">\r\n <span [ngClass]=\"item.classes?.title\">\r\n {{item.title}}\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"item.subTitle\">\r\n <div class=\"cmat-vertical-navigation-item-subtitle\">\r\n <span [ngClass]=\"item.classes?.subtitle\">\r\n {{item.subTitle}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Badge -->\r\n <ng-container *ngIf=\"item.badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\r\n {{item.badge.title}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\r\n\r\n <!-- Skip the hidden items -->\r\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\r\n\r\n <!-- Basic -->\r\n <ng-container *ngIf=\"item.type === 'basic'\">\r\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\r\n </ng-container>\r\n\r\n <!-- Collapsable -->\r\n <ng-container *ngIf=\"item.type === 'collapsable'\">\r\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-collapsable-item>\r\n </ng-container>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"item.type === 'divider'\">\r\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-divider-item>\r\n </ng-container>\r\n\r\n <!-- Group -->\r\n <ng-container *ngIf=\"item.type === 'group'\">\r\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\r\n </ng-container>\r\n\r\n <!-- Spacer -->\r\n <ng-container *ngIf=\"item.type === 'spacer'\">\r\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-spacer-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</ng-container>", dependencies: [{ kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationGroupItemComponent), selector: "cmat-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i0.forwardRef(() => NgFor), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationBasicItemComponent), selector: "cmat-vertical-navigation-basic-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationCollapsableItemComponent), selector: "cmat-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationDividerItemComponent), selector: "cmat-vertical-navigation-divider-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationSpacerItemComponent), selector: "cmat-vertical-navigation-spacer-item", inputs: ["item", "name", "editMode"], outputs: ["editSelectedItemChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatVerticalNavigationGroupItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-group-item", inputs: { autoCollapse: "autoCollapse", item: "item", name: "name", editState: "editState" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Item wrapper -->\n<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\n [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\">\n\n <div class=\"cmat-vertical-navigation-item\">\n\n <!-- Icon -->\n @if (item.icon) {\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n }\n\n <!-- Title & Subtitle -->\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\n <div class=\"cmat-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n @if (item.subTitle) {\n <div class=\"cmat-vertical-navigation-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subTitle}}\n </span>\n </div>\n }\n </div>\n\n <!-- Badge -->\n @if (item.badge) {\n <div class=\"cmat-vertical-navigation-item-badge\">\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n }\n\n </div>\n\n</div>\n\n@for (item of item.children; track trackByFn($index, item)) {\n <!-- Skip the hidden items -->\n @if ((item.hidden && !item.hidden(item)) || !item.hidden) {\n <!-- Basic -->\n @if (item.type === 'basic') {\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\n }\n <!-- Collapsable -->\n @if (item.type === 'collapsable') {\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-collapsable-item>\n }\n <!-- Divider -->\n @if (item.type === 'divider') {\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-divider-item>\n }\n <!-- Group -->\n @if (item.type === 'group') {\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\n }\n <!-- Spacer -->\n @if (item.type === 'spacer') {\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-spacer-item>\n }\n }\n}", dependencies: [{ kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationGroupItemComponent), selector: "cmat-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationBasicItemComponent), selector: "cmat-vertical-navigation-basic-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationDividerItemComponent), selector: "cmat-vertical-navigation-divider-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationCollapsableItemComponent), selector: "cmat-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name", "editState"], outputs: ["editSelectedItemChanged"] }, { kind: "component", type: i0.forwardRef(() => CmatVerticalNavigationSpacerItemComponent), selector: "cmat-vertical-navigation-spacer-item", inputs: ["item", "name", "editState"], outputs: ["editSelectedItemChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationGroupItemComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationGroupItemComponent, decorators: [{
63
63
  type: Component,
64
- args: [{ selector: 'cmat-vertical-navigation-group-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, NgIf, MatIconModule, NgFor, CmatVerticalNavigationBasicItemComponent,
65
- CmatVerticalNavigationCollapsableItemComponent, CmatVerticalNavigationDividerItemComponent,
66
- forwardRef(() => CmatVerticalNavigationGroupItemComponent),
67
- CmatVerticalNavigationSpacerItemComponent], template: "<!-- Item wrapper -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\r\n [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\">\r\n\r\n <div class=\"cmat-vertical-navigation-item\">\r\n\r\n <!-- Icon -->\r\n <ng-container *ngIf=\"item.icon\">\r\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <!-- Title & Subtitle -->\r\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\r\n <div class=\"cmat-vertical-navigation-item-title\">\r\n <span [ngClass]=\"item.classes?.title\">\r\n {{item.title}}\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"item.subTitle\">\r\n <div class=\"cmat-vertical-navigation-item-subtitle\">\r\n <span [ngClass]=\"item.classes?.subtitle\">\r\n {{item.subTitle}}\r\n </span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Badge -->\r\n <ng-container *ngIf=\"item.badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge\">\r\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\r\n {{item.badge.title}}\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\r\n\r\n <!-- Skip the hidden items -->\r\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\r\n\r\n <!-- Basic -->\r\n <ng-container *ngIf=\"item.type === 'basic'\">\r\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\r\n </ng-container>\r\n\r\n <!-- Collapsable -->\r\n <ng-container *ngIf=\"item.type === 'collapsable'\">\r\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\">\r\n </cmat-vertical-navigation-collapsable-item>\r\n </ng-container>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"item.type === 'divider'\">\r\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-divider-item>\r\n </ng-container>\r\n\r\n <!-- Group -->\r\n <ng-container *ngIf=\"item.type === 'group'\">\r\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\r\n </ng-container>\r\n\r\n <!-- Spacer -->\r\n <ng-container *ngIf=\"item.type === 'spacer'\">\r\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editMode]=\"editMode\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-spacer-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</ng-container>" }]
64
+ args: [{ selector: 'cmat-vertical-navigation-group-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, MatIconModule, CmatVerticalNavigationBasicItemComponent,
65
+ CmatVerticalNavigationDividerItemComponent, forwardRef(() => CmatVerticalNavigationGroupItemComponent),
66
+ forwardRef(() => CmatVerticalNavigationCollapsableItemComponent), CmatVerticalNavigationSpacerItemComponent], template: "<!-- Item wrapper -->\n<div class=\"cmat-vertical-navigation-item-wrapper\" [class.cmat-vertical-navigation-item-has-subtitle]=\"!!item.subTitle\"\n [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\">\n\n <div class=\"cmat-vertical-navigation-item\">\n\n <!-- Icon -->\n @if (item.icon) {\n <mat-icon class=\"cmat-vertical-navigation-item-icon\" [ngClass]=\"item.classes?.icon\" [svgIcon]=\"item.icon\">\n </mat-icon>\n }\n\n <!-- Title & Subtitle -->\n <div class=\"cmat-vertical-navigation-item-title-wrapper\">\n <div class=\"cmat-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{item.title}}\n </span>\n </div>\n @if (item.subTitle) {\n <div class=\"cmat-vertical-navigation-item-subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{item.subTitle}}\n </span>\n </div>\n }\n </div>\n\n <!-- Badge -->\n @if (item.badge) {\n <div class=\"cmat-vertical-navigation-item-badge\">\n <div class=\"cmat-vertical-navigation-item-badge-content\" [ngClass]=\"item.badge.classes\">\n {{item.badge.title}}\n </div>\n </div>\n }\n\n </div>\n\n</div>\n\n@for (item of item.children; track trackByFn($index, item)) {\n <!-- Skip the hidden items -->\n @if ((item.hidden && !item.hidden(item)) || !item.hidden) {\n <!-- Basic -->\n @if (item.type === 'basic') {\n <cmat-vertical-navigation-basic-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-basic-item>\n }\n <!-- Collapsable -->\n @if (item.type === 'collapsable') {\n <cmat-vertical-navigation-collapsable-item [item]=\"item\" [name]=\"name\" [autoCollapse]=\"autoCollapse\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\">\n </cmat-vertical-navigation-collapsable-item>\n }\n <!-- Divider -->\n @if (item.type === 'divider') {\n <cmat-vertical-navigation-divider-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-divider-item>\n }\n <!-- Group -->\n @if (item.type === 'group') {\n <cmat-vertical-navigation-group-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-group-item>\n }\n <!-- Spacer -->\n @if (item.type === 'spacer') {\n <cmat-vertical-navigation-spacer-item [item]=\"item\" [name]=\"name\" [editState]=\"editState\" (editSelectedItemChanged)=\"selectItem($event)\"></cmat-vertical-navigation-spacer-item>\n }\n }\n}" }]
68
67
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CmatNavigationService }], propDecorators: { autoCollapse: [{
69
68
  type: Input
70
69
  }], item: [{
71
70
  type: Input
72
71
  }], name: [{
73
72
  type: Input
74
- }], editMode: [{
73
+ }], editState: [{
75
74
  type: Input
76
75
  }], editSelectedItemChanged: [{
77
76
  type: Output
78
77
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2dyb3VwL2dyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEcsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBYXZELE1BQU0sT0FBTyx3Q0FBd0M7SUFhakQsWUFDWSxrQkFBcUMsRUFDckMsc0JBQTZDO1FBRDdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQVJoRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ2hCLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUc5RyxvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTTdELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNILFFBQVE7UUFDSixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVGLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDbEMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBRWIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsbUJBQW1CO0lBQ25CLHdHQUF3RztJQUV4Rzs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBd0I7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQWpFUSx3Q0FBd0M7a0dBQXhDLHdDQUF3Qyw0UEN6QnJELGs5R0EwRWUsZ0VEakRGLHdDQUF3QyxpTUFMdkMsT0FBTyx5R0FBRSxJQUFJLGlIQUFFLGFBQWEsOE5BQUUsS0FBSyx3SUFBRSx3Q0FBd0MsaUxBQ25GLDhDQUE4Qyx1TUFBRSwwQ0FBMEMsbUxBRTFGLHlDQUF5Qzs7MkZBRXBDLHdDQUF3QztrQkFYcEQsU0FBUzsrQkFDSSxxQ0FBcUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLHdDQUF3Qzt3QkFDbkYsOENBQThDLEVBQUUsMENBQTBDO3dCQUMxRixVQUFVLENBQUMsR0FBRyxFQUFFLHlDQUF5QyxDQUFDO3dCQUMxRCx5Q0FBeUMsQ0FBQzswSEFNckMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ2EsdUJBQXVCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENtYXROYXZpZ2F0aW9uSXRlbSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24udHlwZXMnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdmVydGljYWwvdmVydGljYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvblNwYWNlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25EaXZpZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29sbGFwc2FibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sbGFwc2FibGUvY29sbGFwc2FibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkJhc2ljSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljL2Jhc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFtdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIE1hdEljb25Nb2R1bGUsIE5nRm9yLCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQmFzaWNJdGVtQ29tcG9uZW50LFxyXG4gICAgICAgIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db2xsYXBzYWJsZUl0ZW1Db21wb25lbnQsIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25EaXZpZGVySXRlbUNvbXBvbmVudCxcclxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Hcm91cEl0ZW1Db21wb25lbnQpLFxyXG4gICAgICAgIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25TcGFjZXJJdGVtQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkdyb3VwSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2F1dG9Db2xsYXBzZTogQm9vbGVhbklucHV0O1xyXG5cclxuICAgIEBJbnB1dCgpIGF1dG9Db2xsYXBzZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGl0ZW06IENtYXROYXZpZ2F0aW9uSXRlbTtcclxuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGVkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDbWF0TmF2aWdhdGlvbkl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDbWF0TmF2aWdhdGlvbkl0ZW0+KCk7XHJcbiAgICBcclxuICAgIHByaXZhdGUgX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQ6IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQ7XHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX2NtYXROYXZpZ2F0aW9uU2VydmljZTogQ21hdE5hdmlnYXRpb25TZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbiBpbml0XHJcbiAgICAgKi9cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIEdldCB0aGUgcGFyZW50IG5hdmlnYXRpb24gY29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCA9IHRoaXMuX2NtYXROYXZpZ2F0aW9uU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5uYW1lKTtcclxuXHJcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uUmVmcmVzaGVkIG9uIHRoZSBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxyXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gZGVzdHJveVxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEAgUHVibGljIG1ldGhvZHNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFjayBieSBmdW5jdGlvbiBmb3IgbmdGb3IgbG9vcHNcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gaW5kZXhcclxuICAgICAqIEBwYXJhbSBpdGVtXHJcbiAgICAgKi9cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmlkIHx8IGluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEl0ZW0oaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZC5uZXh0KGl0ZW0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8IS0tIEl0ZW0gd3JhcHBlciAtLT5cclxuPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXJcIiBbY2xhc3MuY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taGFzLXN1YnRpdGxlXT1cIiEhaXRlbS5zdWJUaXRsZVwiXHJcbiAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIiAgcm9sZT1cInByZXNlbnRhdGlvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pO1wiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiPlxyXG5cclxuICAgICAgICA8IS0tIEljb24gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uaWNvblwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCIgW3N2Z0ljb25dPVwiaXRlbS5pY29uXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwhLS0gVGl0bGUgJiBTdWJ0aXRsZSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8udGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc3ViVGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uc3VidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnN1YlRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gQmFkZ2UgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uYmFkZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UtY29udGVudFwiIFtuZ0NsYXNzXT1cIml0ZW0uYmFkZ2UuY2xhc3Nlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS5iYWRnZS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XHJcblxyXG4gICAgPCEtLSBTa2lwIHRoZSBoaWRkZW4gaXRlbXMgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uaGlkZGVuICYmICFpdGVtLmhpZGRlbihpdGVtKSkgfHwgIWl0ZW0uaGlkZGVuXCI+XHJcblxyXG4gICAgICAgIDwhLS0gQmFzaWMgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2Jhc2ljJ1wiPlxyXG4gICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWJhc2ljLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+PC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBDb2xsYXBzYWJsZSAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnY29sbGFwc2FibGUnXCI+XHJcbiAgICAgICAgICAgIDxjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tY29sbGFwc2FibGUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFthdXRvQ29sbGFwc2VdPVwiYXV0b0NvbGxhcHNlXCIgIFtlZGl0TW9kZV09XCJlZGl0TW9kZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tY29sbGFwc2FibGUtaXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBEaXZpZGVyIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdkaXZpZGVyJ1wiPlxyXG4gICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWRpdmlkZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+PC9jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZGl2aWRlci1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIEdyb3VwIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdncm91cCdcIj5cclxuICAgICAgICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgIFtlZGl0TW9kZV09XCJlZGl0TW9kZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj48L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1ncm91cC1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIFNwYWNlciAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc3BhY2VyJ1wiPlxyXG4gICAgICAgICAgICA8Y21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLXNwYWNlci1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbmFtZV09XCJuYW1lXCIgIFtlZGl0TW9kZV09XCJlZGl0TW9kZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj48L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2dyb3VwL2dyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEcsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVkxQyxNQUFNLE9BQU8sd0NBQXdDO0lBYWpELFlBQ1ksa0JBQXFDLEVBQ3JDLHNCQUE2QztRQUQ3Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFSaEQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUNqQiw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHOUcsb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU03RCxDQUFDO0lBRUQsd0dBQXdHO0lBQ3hHLG9CQUFvQjtJQUNwQix3R0FBd0c7SUFFeEc7O09BRUc7SUFDSCxRQUFRO1FBQ0osc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1Rix1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQ2xDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUViLGlCQUFpQjtZQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1AscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsd0dBQXdHO0lBQ3hHLG1CQUFtQjtJQUNuQix3R0FBd0c7SUFFeEc7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXdCO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs4R0FqRVEsd0NBQXdDO2tHQUF4Qyx3Q0FBd0MsOFBDeEJyRCxndUZBa0VDLGdFRDFDWSx3Q0FBd0Msa01BSnZDLE9BQU8sd0dBQUUsYUFBYSw4TkFBRSx3Q0FBd0Msa0xBQ3JFLDBDQUEwQyxvTEFDekIsOENBQThDLHdNQUFHLHlDQUF5Qzs7MkZBRXZHLHdDQUF3QztrQkFWcEQsU0FBUzsrQkFDSSxxQ0FBcUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSx3Q0FBd0M7d0JBQ3JFLDBDQUEwQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUNBQXlDLENBQUM7d0JBQ3RHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQyxFQUFFLHlDQUF5QyxDQUFDOzBIQU14RyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDYSx1QkFBdUI7c0JBQXpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ21hdE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbmF2aWdhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ21hdE5hdmlnYXRpb25JdGVtIH0gZnJvbSAnLi4vLi4vLi4vbmF2aWdhdGlvbi50eXBlcyc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi92ZXJ0aWNhbC92ZXJ0aWNhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uU3BhY2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3NwYWNlci9zcGFjZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkRpdmlkZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db2xsYXBzYWJsZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQmFzaWNJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzaWMvYmFzaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZ3JvdXAtaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVzOiBbXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBNYXRJY29uTW9kdWxlLCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uQmFzaWNJdGVtQ29tcG9uZW50LFxyXG4gICAgICAgICBDbWF0VmVydGljYWxOYXZpZ2F0aW9uRGl2aWRlckl0ZW1Db21wb25lbnQsIGZvcndhcmRSZWYoKCkgPT4gQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkdyb3VwSXRlbUNvbXBvbmVudCksIFxyXG4gICAgICAgICBmb3J3YXJkUmVmKCgpID0+IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db2xsYXBzYWJsZUl0ZW1Db21wb25lbnQpLCBDbWF0VmVydGljYWxOYXZpZ2F0aW9uU3BhY2VySXRlbUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Hcm91cEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cclxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hdXRvQ29sbGFwc2U6IEJvb2xlYW5JbnB1dDtcclxuXHJcbiAgICBASW5wdXQoKSBhdXRvQ29sbGFwc2U6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW07XHJcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBlZGl0U3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZDogRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4oKTtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDogQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfY21hdE5hdmlnYXRpb25TZXJ2aWNlOiBDbWF0TmF2aWdhdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9uIGluaXRcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50ID0gdGhpcy5fY21hdE5hdmlnYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLm5hbWUpO1xyXG5cclxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gb25SZWZyZXNoZWQgb24gdGhlIG5hdmlnYXRpb24gY29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vblJlZnJlc2hlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgLy8gTWFyayBmb3IgY2hlY2tcclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbiBkZXN0cm95XHJcbiAgICAgKi9cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gQCBQdWJsaWMgbWV0aG9kc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYWNrIGJ5IGZ1bmN0aW9uIGZvciBuZ0ZvciBsb29wc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleFxyXG4gICAgICogQHBhcmFtIGl0ZW1cclxuICAgICAqL1xyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgfHwgaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkLm5leHQoaXRlbSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSBJdGVtIHdyYXBwZXIgLS0+XG48ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0td3JhcHBlclwiIFtjbGFzcy5jbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1oYXMtc3VidGl0bGVdPVwiISFpdGVtLnN1YlRpdGxlXCJcbiAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy53cmFwcGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pO1wiPlxuXG4gIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiPlxuXG4gICAgPCEtLSBJY29uIC0tPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCIgW3N2Z0ljb25dPVwiaXRlbS5pY29uXCI+XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gVGl0bGUgJiBTdWJ0aXRsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tdGl0bGUtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXRpdGxlXCI+XG4gICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8udGl0bGVcIj5cbiAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5zdWJUaXRsZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tc3VidGl0bGVcIj5cbiAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LnN1YnRpdGxlXCI+XG4gICAgICAgICAgICB7e2l0ZW0uc3ViVGl0bGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEJhZGdlIC0tPlxuICAgIEBpZiAoaXRlbS5iYWRnZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1iYWRnZS1jb250ZW50XCIgW25nQ2xhc3NdPVwiaXRlbS5iYWRnZS5jbGFzc2VzXCI+XG4gICAgICAgICAge3tpdGVtLmJhZGdlLnRpdGxlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuXG5AZm9yIChpdGVtIG9mIGl0ZW0uY2hpbGRyZW47IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pKSB7XG4gIDwhLS0gU2tpcCB0aGUgaGlkZGVuIGl0ZW1zIC0tPlxuICBAaWYgKChpdGVtLmhpZGRlbiAmJiAhaXRlbS5oaWRkZW4oaXRlbSkpIHx8ICFpdGVtLmhpZGRlbikge1xuICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgQGlmIChpdGVtLnR5cGUgPT09ICdiYXNpYycpIHtcbiAgICAgIDxjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFtlZGl0U3RhdGVdPVwiZWRpdFN0YXRlXCIgKGVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPjwvY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWJhc2ljLWl0ZW0+XG4gICAgfVxuICAgIDwhLS0gQ29sbGFwc2FibGUgLS0+XG4gICAgQGlmIChpdGVtLnR5cGUgPT09ICdjb2xsYXBzYWJsZScpIHtcbiAgICAgIDxjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tY29sbGFwc2FibGUtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFthdXRvQ29sbGFwc2VdPVwiYXV0b0NvbGxhcHNlXCIgW2VkaXRTdGF0ZV09XCJlZGl0U3RhdGVcIiAoZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQpPVwic2VsZWN0SXRlbSgkZXZlbnQpXCI+XG4gICAgICA8L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1jb2xsYXBzYWJsZS1pdGVtPlxuICAgIH1cbiAgICA8IS0tIERpdmlkZXIgLS0+XG4gICAgQGlmIChpdGVtLnR5cGUgPT09ICdkaXZpZGVyJykge1xuICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1kaXZpZGVyLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtuYW1lXT1cIm5hbWVcIiBbZWRpdFN0YXRlXT1cImVkaXRTdGF0ZVwiIChlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZCk9XCJzZWxlY3RJdGVtKCRldmVudClcIj48L2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1kaXZpZGVyLWl0ZW0+XG4gICAgfVxuICAgIDwhLS0gR3JvdXAgLS0+XG4gICAgQGlmIChpdGVtLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgIDxjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24tZ3JvdXAtaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFtlZGl0U3RhdGVdPVwiZWRpdFN0YXRlXCIgKGVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPjwvY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW0+XG4gICAgfVxuICAgIDwhLS0gU3BhY2VyIC0tPlxuICAgIEBpZiAoaXRlbS50eXBlID09PSAnc3BhY2VyJykge1xuICAgICAgPGNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbSBbaXRlbV09XCJpdGVtXCIgW25hbWVdPVwibmFtZVwiIFtlZGl0U3RhdGVdPVwiZWRpdFN0YXRlXCIgKGVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPjwvY21hdC12ZXJ0aWNhbC1uYXZpZ2F0aW9uLXNwYWNlci1pdGVtPlxuICAgIH1cbiAgfVxufSJdfQ==
@@ -8,7 +8,7 @@ export class CmatVerticalNavigationSpacerItemComponent {
8
8
  constructor(_changeDetectorRef, _cmatNavigationService) {
9
9
  this._changeDetectorRef = _changeDetectorRef;
10
10
  this._cmatNavigationService = _cmatNavigationService;
11
- this.editMode = false;
11
+ this.editState = false;
12
12
  this.editSelectedItemChanged = new EventEmitter();
13
13
  this._unsubscribeAll = new Subject();
14
14
  }
@@ -38,19 +38,19 @@ export class CmatVerticalNavigationSpacerItemComponent {
38
38
  selectItem(item) {
39
39
  this.editSelectedItemChanged.next(item);
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationSpacerItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CmatVerticalNavigationSpacerItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-spacer-item", inputs: { item: "item", name: "name", editMode: "editMode" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Spacer -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" role=\"presentation\" [ngClass]=\"item.classes?.wrapper\" (click)=\"selectItem(item);\"></div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationSpacerItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CmatNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CmatVerticalNavigationSpacerItemComponent, isStandalone: true, selector: "cmat-vertical-navigation-spacer-item", inputs: { item: "item", name: "name", editState: "editState" }, outputs: { editSelectedItemChanged: "editSelectedItemChanged" }, ngImport: i0, template: "<!-- Spacer -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\"></div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CmatVerticalNavigationSpacerItemComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatVerticalNavigationSpacerItemComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'cmat-vertical-navigation-spacer-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], template: "<!-- Spacer -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" role=\"presentation\" [ngClass]=\"item.classes?.wrapper\" (click)=\"selectItem(item);\"></div>" }]
46
+ args: [{ selector: 'cmat-vertical-navigation-spacer-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], template: "<!-- Spacer -->\r\n<div class=\"cmat-vertical-navigation-item-wrapper\" [ngClass]=\"item.classes?.wrapper\" role=\"presentation\" (click)=\"selectItem(item);\"></div>" }]
47
47
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CmatNavigationService }], propDecorators: { item: [{
48
48
  type: Input
49
49
  }], name: [{
50
50
  type: Input
51
- }], editMode: [{
51
+ }], editState: [{
52
52
  type: Input
53
53
  }], editSelectedItemChanged: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3ZlcnRpY2FsL2NvbXBvbmVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL3NwYWNlci9zcGFjZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVTFDLE1BQU0sT0FBTyx5Q0FBeUM7SUFTbEQsWUFDWSxrQkFBcUMsRUFDckMsc0JBQTZDO1FBRDdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQVJoRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ2hCLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUc5RyxvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTTdELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNILFFBQVE7UUFDSixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVGLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDbEMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBRWIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBd0I7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQS9DUSx5Q0FBeUM7a0dBQXpDLHlDQUF5QywrTkNoQnRELHdLQUMySSw0Q0RhN0gsT0FBTzs7MkZBRVIseUNBQXlDO2tCQVJyRCxTQUFTOytCQUNJLHNDQUFzQyxtQkFHL0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUM7MEhBR1QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNhLHVCQUF1QjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnR5cGVzJztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3ZlcnRpY2FsL3ZlcnRpY2FsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BhY2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogW10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzc11cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25TcGFjZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtO1xyXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBlZGl0U2VsZWN0ZWRJdGVtQ2hhbmdlZDogRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENtYXROYXZpZ2F0aW9uSXRlbT4oKTtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDogQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfY21hdE5hdmlnYXRpb25TZXJ2aWNlOiBDbWF0TmF2aWdhdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9uIGluaXRcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcclxuICAgICAgICB0aGlzLl9jbWF0VmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50ID0gdGhpcy5fY21hdE5hdmlnYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLm5hbWUpO1xyXG5cclxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gb25SZWZyZXNoZWQgb24gdGhlIG5hdmlnYXRpb24gY29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vblJlZnJlc2hlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgLy8gTWFyayBmb3IgY2hlY2tcclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbiBkZXN0cm95XHJcbiAgICAgKi9cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RJdGVtKGl0ZW06IENtYXROYXZpZ2F0aW9uSXRlbSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQubmV4dChpdGVtKTtcclxuICAgIH1cclxufVxyXG4iLCI8IS0tIFNwYWNlciAtLT5cclxuPGRpdiBjbGFzcz1cImNtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy53cmFwcGVyXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSk7XCI+PC9kaXY+Il19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3ZlcnRpY2FsL2NvbXBvbmVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL3NwYWNlci9zcGFjZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVTFDLE1BQU0sT0FBTyx5Q0FBeUM7SUFTbEQsWUFDWSxrQkFBcUMsRUFDckMsc0JBQTZDO1FBRDdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQVJoRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQ2pCLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUc5RyxvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTTdELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNILFFBQVE7UUFDSixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVGLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDbEMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBRWIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBd0I7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQS9DUSx5Q0FBeUM7a0dBQXpDLHlDQUF5QyxpT0NoQnRELHdLQUMySSw0Q0RhN0gsT0FBTzs7MkZBRVIseUNBQXlDO2tCQVJyRCxTQUFTOytCQUNJLHNDQUFzQyxtQkFHL0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUM7MEhBR1QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNhLHVCQUF1QjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbWF0TmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uLnR5cGVzJztcclxuaW1wb3J0IHsgQ21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3ZlcnRpY2FsL3ZlcnRpY2FsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BhY2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogW10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzc11cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRWZXJ0aWNhbE5hdmlnYXRpb25TcGFjZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgaXRlbTogQ21hdE5hdmlnYXRpb25JdGVtO1xyXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZWRpdFN0YXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZWRpdFNlbGVjdGVkSXRlbUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDbWF0TmF2aWdhdGlvbkl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxDbWF0TmF2aWdhdGlvbkl0ZW0+KCk7XHJcbiAgICBcclxuICAgIHByaXZhdGUgX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQ6IENtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQ7XHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX2NtYXROYXZpZ2F0aW9uU2VydmljZTogQ21hdE5hdmlnYXRpb25TZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbiBpbml0XHJcbiAgICAgKi9cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIEdldCB0aGUgcGFyZW50IG5hdmlnYXRpb24gY29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5fY21hdFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCA9IHRoaXMuX2NtYXROYXZpZ2F0aW9uU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5uYW1lKTtcclxuXHJcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uUmVmcmVzaGVkIG9uIHRoZSBuYXZpZ2F0aW9uIGNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuX2NtYXRWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxyXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gZGVzdHJveVxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBDbWF0TmF2aWdhdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRTZWxlY3RlZEl0ZW1DaGFuZ2VkLm5leHQoaXRlbSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSBTcGFjZXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJjbWF0LXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS13cmFwcGVyXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy53cmFwcGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pO1wiPjwvZGl2PiJdfQ==