@bravobit/bb-foundation 0.21.4 → 0.22.0

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 (268) hide show
  1. package/auth/lib/auth.interceptor.d.ts +1 -1
  2. package/auth/lib/auth.module.d.ts +4 -5
  3. package/auth/lib/auth.service.d.ts +4 -7
  4. package/auth/lib/directives/abstract.directive.d.ts +12 -0
  5. package/auth/lib/directives/authenticated.directive.d.ts +7 -4
  6. package/auth/lib/directives/permission.directive.d.ts +11 -11
  7. package/auth/lib/guards/anonymous.guard.d.ts +8 -5
  8. package/auth/lib/guards/authenticated.guard.d.ts +8 -5
  9. package/auth/lib/guards/permission.guard.d.ts +15 -0
  10. package/auth/lib/interfaces/config.interface.d.ts +14 -8
  11. package/auth/lib/interfaces/permission.interface.d.ts +6 -0
  12. package/auth/lib/interfaces/provider.interface.d.ts +10 -3
  13. package/auth/lib/permissions/permissions.handler.d.ts +9 -0
  14. package/auth/lib/permissions/permissions.service.d.ts +16 -0
  15. package/auth/lib/providers/email.provider.d.ts +2 -8
  16. package/auth/lib/providers/verify.provider.d.ts +2 -6
  17. package/auth/public_api.d.ts +4 -4
  18. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +5 -1
  19. package/controls/lib/control-error/control-error/control-error.animation.d.ts +1 -0
  20. package/controls/lib/control-error/control-error/control-error.component.d.ts +17 -0
  21. package/controls/lib/control-error/control-error-submit.directive.d.ts +15 -0
  22. package/controls/lib/control-error/control-error.defaults.d.ts +2 -0
  23. package/controls/lib/control-error/control-error.interface.d.ts +12 -0
  24. package/controls/lib/control-error/control-error.module.d.ts +9 -0
  25. package/controls/lib/controls.interfaces.d.ts +4 -0
  26. package/controls/lib/controls.module.d.ts +7 -2
  27. package/controls/lib/form-control/form-control/form-control.component.d.ts +31 -0
  28. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +6 -0
  29. package/controls/lib/form-control/form-control-input.directive.d.ts +35 -0
  30. package/controls/lib/form-control/form-control.module.d.ts +11 -0
  31. package/controls/public_api.d.ts +9 -0
  32. package/dashboard/lib/dashboard/dashboard.component.d.ts +2 -1
  33. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +10 -5
  34. package/dialog/lib/dialog-container/dialog-container.animations.d.ts +1 -0
  35. package/dialog/lib/dialog-container/dialog-container.component.d.ts +5 -7
  36. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -3
  37. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +7 -3
  38. package/dialog/lib/dialog-overlay/dialog-overlay.animations.d.ts +1 -0
  39. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
  40. package/dialog/lib/dialog.service.d.ts +4 -3
  41. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  42. package/elements/lib/directives/focus.directive.d.ts +1 -3
  43. package/elements/lib/directives/form-submitter.directive.d.ts +9 -0
  44. package/elements/lib/elements.module.d.ts +25 -24
  45. package/elements/lib/form-error/form-error.component.d.ts +9 -5
  46. package/elements/lib/pipes/file-image.pipe.d.ts +2 -1
  47. package/elements/public_api.d.ts +1 -0
  48. package/esm2020/auth/lib/auth.interceptor.mjs +9 -12
  49. package/esm2020/auth/lib/auth.module.mjs +7 -17
  50. package/esm2020/auth/lib/auth.service.mjs +29 -55
  51. package/esm2020/auth/lib/directives/abstract.directive.mjs +40 -0
  52. package/esm2020/auth/lib/directives/authenticated.directive.mjs +25 -14
  53. package/esm2020/auth/lib/directives/permission.directive.mjs +24 -46
  54. package/esm2020/auth/lib/guards/anonymous.guard.mjs +28 -19
  55. package/esm2020/auth/lib/guards/authenticated.guard.mjs +31 -20
  56. package/esm2020/auth/lib/guards/permission.guard.mjs +53 -0
  57. package/esm2020/auth/lib/helpers/jwt.helper.mjs +7 -7
  58. package/esm2020/auth/lib/interfaces/config.interface.mjs +1 -1
  59. package/esm2020/auth/lib/interfaces/permission.interface.mjs +2 -0
  60. package/esm2020/auth/lib/interfaces/provider.interface.mjs +1 -1
  61. package/esm2020/auth/lib/permissions/permissions.handler.mjs +33 -0
  62. package/esm2020/auth/lib/permissions/permissions.service.mjs +64 -0
  63. package/esm2020/auth/lib/providers/email.provider.mjs +8 -9
  64. package/esm2020/auth/lib/providers/verify.provider.mjs +8 -5
  65. package/esm2020/auth/public_api.mjs +5 -5
  66. package/esm2020/collections/lib/collections.module.mjs +4 -4
  67. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  68. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  69. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  70. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +19 -6
  71. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +4 -4
  72. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
  73. package/esm2020/controls/lib/control-error/control-error/control-error.animation.mjs +14 -0
  74. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +63 -0
  75. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +47 -0
  76. package/esm2020/controls/lib/control-error/control-error.defaults.mjs +26 -0
  77. package/esm2020/controls/lib/control-error/control-error.interface.mjs +3 -0
  78. package/esm2020/controls/lib/control-error/control-error.module.mjs +19 -0
  79. package/esm2020/controls/lib/controls.interfaces.mjs +2 -0
  80. package/esm2020/controls/lib/controls.module.mjs +45 -8
  81. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +94 -0
  82. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +22 -0
  83. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +124 -0
  84. package/esm2020/controls/lib/form-control/form-control.module.mjs +33 -0
  85. package/esm2020/controls/public_api.mjs +10 -1
  86. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +7 -6
  87. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  88. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  89. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  90. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  91. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  92. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  93. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  94. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  95. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +17 -11
  96. package/esm2020/dialog/lib/dialog-container/dialog-container.animations.mjs +29 -0
  97. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +28 -104
  98. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +7 -14
  99. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +4 -4
  100. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +29 -8
  101. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +26 -0
  102. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +29 -84
  103. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  104. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  105. package/esm2020/dialog/lib/dialog.service.mjs +8 -7
  106. package/esm2020/elements/lib/avatar/avatar.component.mjs +8 -6
  107. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  108. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  109. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
  110. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  111. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  112. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +5 -5
  113. package/esm2020/elements/lib/directives/focus.directive.mjs +7 -9
  114. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  115. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +25 -0
  116. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  117. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  118. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  119. package/esm2020/elements/lib/elements.module.mjs +9 -5
  120. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
  121. package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
  122. package/esm2020/elements/lib/form-error/form-error.component.mjs +22 -7
  123. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  124. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  125. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  126. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +8 -7
  127. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  128. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  129. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  130. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  131. package/esm2020/elements/public_api.mjs +2 -1
  132. package/esm2020/http/lib/http.module.mjs +4 -4
  133. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  134. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  135. package/esm2020/lib/core/services/clipboard.service.mjs +5 -5
  136. package/esm2020/lib/core/services/exif.service.mjs +5 -5
  137. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  138. package/esm2020/lib/core/services/image-converter.service.mjs +5 -5
  139. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  140. package/esm2020/lib/core/services/network.service.mjs +7 -7
  141. package/esm2020/lib/core/services/patch.service.mjs +7 -7
  142. package/esm2020/localize/lib/localize.module.mjs +4 -4
  143. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  144. package/esm2020/localize/lib/localize.service.mjs +5 -5
  145. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  146. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  147. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  148. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  149. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  150. package/esm2020/masking/lib/directives/input-mask.directive.mjs +7 -7
  151. package/esm2020/masking/lib/masking.module.mjs +4 -4
  152. package/esm2020/masking/lib/masking.service.mjs +3 -3
  153. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +5 -5
  154. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +7 -7
  155. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  156. package/esm2020/notifications/lib/notifications.service.mjs +5 -5
  157. package/esm2020/public_api.mjs +1 -2
  158. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  159. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +10 -10
  160. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  161. package/esm2020/storage/lib/storage.service.mjs +5 -5
  162. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  163. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  164. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  165. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  166. package/esm2020/table/lib/table.module.mjs +4 -4
  167. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +17 -2
  168. package/esm2020/theming/lib/themes/checkbox.theme.mjs +35 -2
  169. package/esm2020/theming/lib/themes/control-error.theme.mjs +11 -0
  170. package/esm2020/theming/lib/themes/form-control-addon.theme.mjs +6 -0
  171. package/esm2020/theming/lib/themes/form-control.theme.mjs +45 -0
  172. package/esm2020/theming/lib/theming.data.mjs +82 -0
  173. package/esm2020/theming/lib/theming.directive.mjs +38 -0
  174. package/esm2020/theming/lib/theming.interface.mjs +2 -3
  175. package/esm2020/theming/lib/theming.module.mjs +12 -34
  176. package/esm2020/theming/lib/utils/theming.variable.mjs +41 -0
  177. package/esm2020/theming/public_api.mjs +6 -3
  178. package/fesm2015/bravobit-bb-foundation-auth.mjs +326 -284
  179. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  180. package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
  181. package/fesm2015/bravobit-bb-foundation-controls.mjs +493 -24
  182. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  183. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +29 -28
  184. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  185. package/fesm2015/bravobit-bb-foundation-dialog.mjs +185 -233
  186. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  187. package/fesm2015/bravobit-bb-foundation-elements.mjs +140 -99
  188. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  189. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  190. package/fesm2015/bravobit-bb-foundation-localize.mjs +20 -20
  191. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  192. package/fesm2015/bravobit-bb-foundation-masking.mjs +20 -19
  193. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -1
  194. package/fesm2015/bravobit-bb-foundation-notifications.mjs +18 -17
  195. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  196. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +16 -16
  197. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  198. package/fesm2015/bravobit-bb-foundation-storage.mjs +4 -4
  199. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  200. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  201. package/fesm2015/bravobit-bb-foundation-theming.mjs +251 -128
  202. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -1
  203. package/fesm2015/bravobit-bb-foundation.mjs +33 -73
  204. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
  205. package/fesm2020/bravobit-bb-foundation-auth.mjs +306 -277
  206. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  207. package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
  208. package/fesm2020/bravobit-bb-foundation-controls.mjs +477 -24
  209. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  210. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +29 -28
  211. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  212. package/fesm2020/bravobit-bb-foundation-dialog.mjs +175 -233
  213. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  214. package/fesm2020/bravobit-bb-foundation-elements.mjs +140 -99
  215. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  216. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  217. package/fesm2020/bravobit-bb-foundation-localize.mjs +20 -20
  218. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  219. package/fesm2020/bravobit-bb-foundation-masking.mjs +19 -19
  220. package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -1
  221. package/fesm2020/bravobit-bb-foundation-notifications.mjs +17 -17
  222. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  223. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +16 -16
  224. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  225. package/fesm2020/bravobit-bb-foundation-storage.mjs +4 -4
  226. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  227. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  228. package/fesm2020/bravobit-bb-foundation-theming.mjs +252 -120
  229. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -1
  230. package/fesm2020/bravobit-bb-foundation.mjs +32 -70
  231. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
  232. package/lib/core/services/clipboard.service.d.ts +2 -2
  233. package/lib/core/services/exif.service.d.ts +1 -1
  234. package/lib/core/services/image-converter.service.d.ts +1 -1
  235. package/lib/core/services/network.service.d.ts +4 -4
  236. package/lib/core/services/patch.service.d.ts +4 -4
  237. package/localize/lib/localize.service.d.ts +1 -1
  238. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  239. package/notifications/lib/notifications.service.d.ts +1 -1
  240. package/package.json +4 -4
  241. package/public_api.d.ts +0 -1
  242. package/recaptcha/lib/recaptcha-loader.service.d.ts +3 -3
  243. package/storage/lib/storage.service.d.ts +1 -1
  244. package/theming/lib/themes/checkbox-group.theme.d.ts +14 -3
  245. package/theming/lib/themes/checkbox.theme.d.ts +30 -17
  246. package/theming/lib/themes/control-error.theme.d.ts +9 -0
  247. package/theming/lib/themes/form-control-addon.theme.d.ts +5 -0
  248. package/theming/lib/themes/form-control.theme.d.ts +32 -0
  249. package/theming/lib/theming.data.d.ts +17 -0
  250. package/theming/lib/theming.directive.d.ts +13 -0
  251. package/theming/lib/theming.interface.d.ts +19 -8
  252. package/theming/lib/theming.module.d.ts +3 -9
  253. package/theming/lib/utils/theming.variable.d.ts +16 -0
  254. package/theming/public_api.d.ts +5 -2
  255. package/auth/lib/directives/role.directive.d.ts +0 -16
  256. package/auth/lib/helpers/mapper.helper.d.ts +0 -23
  257. package/auth/lib/interfaces/mapper.interface.d.ts +0 -19
  258. package/auth/lib/permissions.service.d.ts +0 -14
  259. package/esm2020/auth/lib/directives/role.directive.mjs +0 -37
  260. package/esm2020/auth/lib/helpers/mapper.helper.mjs +0 -35
  261. package/esm2020/auth/lib/interfaces/mapper.interface.mjs +0 -2
  262. package/esm2020/auth/lib/permissions.service.mjs +0 -56
  263. package/esm2020/lib/core/services/platform.service.mjs +0 -42
  264. package/esm2020/theming/lib/themes/theme.mjs +0 -34
  265. package/esm2020/theming/lib/theming.service.mjs +0 -77
  266. package/lib/core/services/platform.service.d.ts +0 -18
  267. package/theming/lib/themes/theme.d.ts +0 -12
  268. package/theming/lib/theming.service.d.ts +0 -22
@@ -1,20 +1,18 @@
1
- import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, Type } from '@angular/core';
2
- import { AnimationEvent } from '@angular/animations';
1
+ import { ComponentRef, ElementRef, OnDestroy, OnInit, Type } from '@angular/core';
3
2
  import { Subject } from 'rxjs';
4
3
  import { BbDialogInsertion } from '../dialog.insertion';
4
+ import { AnimationEvent } from '@angular/animations';
5
5
  import * as i0 from "@angular/core";
6
- export declare class BbDialogContainer implements AfterViewInit {
6
+ export declare class BbDialogContainer implements OnInit, OnDestroy {
7
7
  private _elementRef;
8
- private _changeDetection;
9
- private _componentFactoryResolver;
10
8
  insertion: BbDialogInsertion;
11
9
  componentRef: ComponentRef<any> | null;
12
10
  childComponentType: Type<any> | null;
13
11
  overlayClicked$: Subject<void>;
14
12
  private _subscription;
15
13
  get onOverlayClicked(): import("rxjs").Observable<void>;
16
- constructor(_elementRef: ElementRef, _changeDetection: ChangeDetectorRef, _componentFactoryResolver: ComponentFactoryResolver);
17
- ngAfterViewInit(): void;
14
+ constructor(_elementRef: ElementRef);
15
+ ngOnInit(): void;
18
16
  ngOnDestroy(): void;
19
17
  onAnimationDone(event: AnimationEvent): void;
20
18
  private listenForClicks;
@@ -1,9 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class BbDialogHeader {
4
- iconName: string | null;
5
- iconColor: string;
6
4
  closeRequested: EventEmitter<void>;
7
5
  static ɵfac: i0.ɵɵFactoryDeclaration<BbDialogHeader, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<BbDialogHeader, "[bb-dialog-header]", never, { "iconName": "iconName"; "iconColor": "iconColor"; }, { "closeRequested": "closeRequested"; }, never, ["*", "[bb-dialog-link]"], false>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<BbDialogHeader, "[bb-dialog-header]", never, {}, { "closeRequested": "closeRequested"; }, never, ["*", "[bb-dialog-link]"], false>;
9
7
  }
@@ -1,12 +1,16 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnInit, Renderer2 } from '@angular/core';
2
2
  import { Patch } from '@bravobit/bb-foundation';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class BbDialogModal implements OnInit {
5
5
  private _patch;
6
+ private _renderer;
7
+ private _document?;
6
8
  maxWidth: string | null;
7
9
  onOverlayClickedEvent(event: MouseEvent): void;
8
- constructor(_patch: Patch);
10
+ constructor(_patch: Patch, _renderer: Renderer2, _document?: Document);
9
11
  ngOnInit(): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<BbDialogModal, never>;
12
+ ngOnDestroy(): void;
13
+ private allowGlobalOverflow;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<BbDialogModal, [null, null, { optional: true; }]>;
11
15
  static ɵcmp: i0.ɵɵComponentDeclaration<BbDialogModal, "[bb-dialog-modal]", never, { "maxWidth": "maxWidth"; }, {}, never, ["[bb-dialog-header]", "*", "[bb-dialog-actions]"], false>;
12
16
  }
@@ -0,0 +1 @@
1
+ export declare const bbDialogOverlayAnimation: import("@angular/animations").AnimationTriggerMetadata;
@@ -1,22 +1,20 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { AnimationEvent } from '@angular/animations';
3
3
  import * as i0 from "@angular/core";
4
- export declare class BbDialogOverlay implements AfterViewInit, OnDestroy {
4
+ export declare class BbDialogOverlay implements OnInit, OnDestroy {
5
5
  private _elementRef;
6
6
  private _changeDetection;
7
- animations: boolean;
8
7
  closeRequested: EventEmitter<void>;
9
- private _state;
8
+ state: 'open' | 'close';
10
9
  private _closed$;
11
10
  private _subscription;
12
- get state(): "none" | "open" | "close";
13
11
  constructor(_elementRef: ElementRef, _changeDetection: ChangeDetectorRef);
14
- ngAfterViewInit(): void;
12
+ ngOnInit(): void;
15
13
  ngOnDestroy(): void;
16
14
  onKeyEvent(event: KeyboardEvent): void;
17
15
  onAnimationDone(event: AnimationEvent): void;
18
16
  close(): Promise<void>;
19
17
  private listenForClicks;
20
18
  static ɵfac: i0.ɵɵFactoryDeclaration<BbDialogOverlay, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<BbDialogOverlay, "bb-dialog-overlay", never, { "animations": "animations"; }, { "closeRequested": "closeRequested"; }, never, ["[bb-dialog-modal]"], false>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<BbDialogOverlay, "bb-dialog-overlay", never, {}, { "closeRequested": "closeRequested"; }, never, ["[bb-dialog-modal]"], false>;
22
20
  }
@@ -1,4 +1,4 @@
1
- import { ApplicationRef, ComponentFactoryResolver, Injector, Type } from '@angular/core';
1
+ import { ApplicationRef, ComponentFactoryResolver, Injector, TemplateRef, Type } from '@angular/core';
2
2
  import { BbDialogConfig } from './dialog.interfaces';
3
3
  import { BbDialogRef } from './dialog.ref';
4
4
  import * as i0 from "@angular/core";
@@ -7,10 +7,11 @@ export declare class Dialog {
7
7
  private _applicationRef;
8
8
  private _componentFactoryResolver;
9
9
  constructor(_injector: Injector, _applicationRef: ApplicationRef, _componentFactoryResolver: ComponentFactoryResolver);
10
- open<T = any>(componentType: Type<any>, config: BbDialogConfig): BbDialogRef<T>;
11
- confirm(title: string, description: string, options?: {
10
+ open<T = any>(componentType: Type<any>, config?: BbDialogConfig): BbDialogRef<T>;
11
+ confirm(title: string, description: string | TemplateRef<any>, options?: {
12
12
  cancelButtonText?: string;
13
13
  confirmButtonText?: string;
14
+ width?: string;
14
15
  }): BbDialogRef<boolean>;
15
16
  private createDialog;
16
17
  private deleteDialog;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { Platform } from '@bravobit/bb-foundation';
2
+ import { Platform } from '@angular/cdk/platform';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class BbFocusTrap {
5
5
  private _platform;
@@ -1,11 +1,9 @@
1
1
  import { AfterViewInit, ElementRef, NgZone } from '@angular/core';
2
- import { Platform } from '@bravobit/bb-foundation';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class BbFocus implements AfterViewInit {
5
4
  private _zone;
6
- private _platform;
7
5
  private _elementRef;
8
- constructor(_zone: NgZone, _platform: Platform, _elementRef: ElementRef);
6
+ constructor(_zone: NgZone, _elementRef: ElementRef);
9
7
  private get nativeElement();
10
8
  ngAfterViewInit(): void;
11
9
  private focus;
@@ -0,0 +1,9 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BbFormSubmitter {
4
+ submitted$: BehaviorSubject<boolean>;
5
+ submit(): void;
6
+ reset(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<BbFormSubmitter, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BbFormSubmitter, "[bbFormSubmitter]", ["bbFormSubmitter"], {}, {}, never, never, false>;
9
+ }
@@ -3,33 +3,34 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "./directives/template.directive";
4
4
  import * as i2 from "./form-error/form-error.component";
5
5
  import * as i3 from "./directives/form-submit.directive";
6
- import * as i4 from "./directives/input.directive";
7
- import * as i5 from "./directives/focus.directive";
8
- import * as i6 from "./directives/focus-trap.directive";
9
- import * as i7 from "./directives/autosize.directive";
10
- import * as i8 from "./directives/addon.directive";
11
- import * as i9 from "./pipes/file-size.pipe";
12
- import * as i10 from "./pipes/file-image.pipe";
13
- import * as i11 from "./pipes/relative-time.pipe";
14
- import * as i12 from "./button/button.component";
15
- import * as i13 from "./spinner/spinner.component";
16
- import * as i14 from "./icon/icon.component";
17
- import * as i15 from "./form-control/form-control.component";
18
- import * as i16 from "./form-group/form-group.component";
19
- import * as i17 from "./checkbox/checkbox.component";
20
- import * as i18 from "./dropdown/dropdown.component";
21
- import * as i19 from "./tag/tag.component";
22
- import * as i20 from "./avatar/avatar.component";
23
- import * as i21 from "./file-picker/file-picker.component";
24
- import * as i22 from "./image-picker/image-picker.component";
25
- import * as i23 from "./date-picker/date-picker.component";
26
- import * as i24 from "@angular/common";
27
- import * as i25 from "@angular/forms";
28
- import * as i26 from "@bravobit/bb-foundation/localize";
6
+ import * as i4 from "./directives/form-submitter.directive";
7
+ import * as i5 from "./directives/input.directive";
8
+ import * as i6 from "./directives/focus.directive";
9
+ import * as i7 from "./directives/focus-trap.directive";
10
+ import * as i8 from "./directives/autosize.directive";
11
+ import * as i9 from "./directives/addon.directive";
12
+ import * as i10 from "./pipes/file-size.pipe";
13
+ import * as i11 from "./pipes/file-image.pipe";
14
+ import * as i12 from "./pipes/relative-time.pipe";
15
+ import * as i13 from "./button/button.component";
16
+ import * as i14 from "./spinner/spinner.component";
17
+ import * as i15 from "./icon/icon.component";
18
+ import * as i16 from "./form-control/form-control.component";
19
+ import * as i17 from "./form-group/form-group.component";
20
+ import * as i18 from "./checkbox/checkbox.component";
21
+ import * as i19 from "./dropdown/dropdown.component";
22
+ import * as i20 from "./tag/tag.component";
23
+ import * as i21 from "./avatar/avatar.component";
24
+ import * as i22 from "./file-picker/file-picker.component";
25
+ import * as i23 from "./image-picker/image-picker.component";
26
+ import * as i24 from "./date-picker/date-picker.component";
27
+ import * as i25 from "@angular/common";
28
+ import * as i26 from "@angular/forms";
29
+ import * as i27 from "@bravobit/bb-foundation/localize";
29
30
  export declare class ElementsModule {
30
31
  static forRoot(): ModuleWithProviders<ElementsModule>;
31
32
  static ɵfac: i0.ɵɵFactoryDeclaration<ElementsModule, never>;
32
- static ɵmod: i0.ɵɵNgModuleDeclaration<ElementsModule, [typeof i1.BbTemplate, typeof i2.BbFormError, typeof i3.BbFormSubmit, typeof i4.BbInput, typeof i4.BbSelect, typeof i5.BbFocus, typeof i6.BbFocusTrap, typeof i7.BbAutosize, typeof i8.BbPrefix, typeof i8.BbSuffix, typeof i9.BbFileSize, typeof i10.BbFileImage, typeof i11.BbRelativeTime, typeof i12.BbButton, typeof i12.BbAnchor, typeof i13.BbSpinner, typeof i14.BbIcon, typeof i15.BbFormControl, typeof i16.BbFormGroup, typeof i17.BbCheckbox, typeof i18.BbDropdown, typeof i18.BbDropdownItem, typeof i19.BbTag, typeof i20.BbAvatar, typeof i21.BbFilePicker, typeof i22.BbImagePicker, typeof i23.BbDatePicker], [typeof i24.CommonModule, typeof i25.ReactiveFormsModule, typeof i26.LocalizeModule], [typeof i1.BbTemplate, typeof i2.BbFormError, typeof i3.BbFormSubmit, typeof i4.BbInput, typeof i4.BbSelect, typeof i5.BbFocus, typeof i6.BbFocusTrap, typeof i7.BbAutosize, typeof i8.BbPrefix, typeof i8.BbSuffix, typeof i9.BbFileSize, typeof i10.BbFileImage, typeof i11.BbRelativeTime, typeof i12.BbButton, typeof i12.BbAnchor, typeof i13.BbSpinner, typeof i14.BbIcon, typeof i15.BbFormControl, typeof i16.BbFormGroup, typeof i17.BbCheckbox, typeof i18.BbDropdown, typeof i18.BbDropdownItem, typeof i19.BbTag, typeof i20.BbAvatar, typeof i21.BbFilePicker, typeof i22.BbImagePicker, typeof i23.BbDatePicker]>;
33
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ElementsModule, [typeof i1.BbTemplate, typeof i2.BbFormError, typeof i3.BbFormSubmit, typeof i4.BbFormSubmitter, typeof i5.BbInput, typeof i5.BbSelect, typeof i6.BbFocus, typeof i7.BbFocusTrap, typeof i8.BbAutosize, typeof i9.BbPrefix, typeof i9.BbSuffix, typeof i10.BbFileSize, typeof i11.BbFileImage, typeof i12.BbRelativeTime, typeof i13.BbButton, typeof i13.BbAnchor, typeof i14.BbSpinner, typeof i15.BbIcon, typeof i16.BbFormControl, typeof i17.BbFormGroup, typeof i18.BbCheckbox, typeof i19.BbDropdown, typeof i19.BbDropdownItem, typeof i20.BbTag, typeof i21.BbAvatar, typeof i22.BbFilePicker, typeof i23.BbImagePicker, typeof i24.BbDatePicker], [typeof i25.CommonModule, typeof i26.ReactiveFormsModule, typeof i27.LocalizeModule], [typeof i1.BbTemplate, typeof i2.BbFormError, typeof i3.BbFormSubmit, typeof i4.BbFormSubmitter, typeof i5.BbInput, typeof i5.BbSelect, typeof i6.BbFocus, typeof i7.BbFocusTrap, typeof i8.BbAutosize, typeof i9.BbPrefix, typeof i9.BbSuffix, typeof i10.BbFileSize, typeof i11.BbFileImage, typeof i12.BbRelativeTime, typeof i13.BbButton, typeof i13.BbAnchor, typeof i14.BbSpinner, typeof i15.BbIcon, typeof i16.BbFormControl, typeof i17.BbFormGroup, typeof i18.BbCheckbox, typeof i19.BbDropdown, typeof i19.BbDropdownItem, typeof i20.BbTag, typeof i21.BbAvatar, typeof i22.BbFilePicker, typeof i23.BbImagePicker, typeof i24.BbDatePicker]>;
33
34
  static ɵinj: i0.ɵɵInjectorDeclaration<ElementsModule>;
34
35
  }
35
36
  export declare const ELEMENTS_MATERIAL_ICON: {
@@ -1,13 +1,15 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
+ import { BbFormSubmitter } from '../directives/form-submitter.directive';
2
3
  import { ElementsError } from '../elements.interfaces';
3
4
  import { BbFormSubmit } from '../directives/form-submit.directive';
4
5
  import { NgControl } from '@angular/forms';
5
6
  import { Observable } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class BbFormError implements OnInit {
8
- private _form;
9
- private _control;
10
- private _errors;
9
+ private _form?;
10
+ private _control?;
11
+ private _formSubmitter?;
12
+ private _errors?;
11
13
  set control(value: NgControl);
12
14
  get control(): NgControl;
13
15
  errorChange: EventEmitter<{
@@ -19,11 +21,13 @@ export declare class BbFormError implements OnInit {
19
21
  data?: any;
20
22
  } | null>;
21
23
  private _ngControl;
22
- constructor(_form: BbFormSubmit, _control: NgControl, _errors: ElementsError[]);
24
+ constructor(_form?: BbFormSubmit, _control?: NgControl, _formSubmitter?: BbFormSubmitter, _errors?: ElementsError[]);
23
25
  ngOnInit(): void;
24
26
  private getError;
25
27
  private submitStatusChanges;
28
+ private getNativeFormSubmit;
29
+ private getManualFormSubmit;
26
30
  private statusChanges;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<BbFormError, [{ optional: true; }, { optional: true; }, { optional: true; }]>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<BbFormError, [{ optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
28
32
  static ɵcmp: i0.ɵɵComponentDeclaration<BbFormError, "bb-form-error", never, { "control": "control"; }, { "errorChange": "errorChange"; }, never, never, false>;
29
33
  }
@@ -1,6 +1,7 @@
1
- import { ImageConverter, Platform } from '@bravobit/bb-foundation';
1
+ import { ImageConverter } from '@bravobit/bb-foundation';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { PipeTransform } from '@angular/core';
4
+ import { Platform } from '@angular/cdk/platform';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class BbFileImage implements PipeTransform {
6
7
  private _platform;
@@ -3,6 +3,7 @@ export * from './lib/directives/template.directive';
3
3
  export * from './lib/directives/focus.directive';
4
4
  export * from './lib/directives/focus-trap.directive';
5
5
  export * from './lib/directives/form-submit.directive';
6
+ export * from './lib/directives/form-submitter.directive';
6
7
  export * from './lib/directives/input.directive';
7
8
  export * from './lib/directives/autosize.directive';
8
9
  export * from './lib/directives/addon.directive';
@@ -12,14 +12,15 @@ export class AuthInterceptor {
12
12
  this._auth = _auth;
13
13
  this._config = _config;
14
14
  // Readonly data.
15
- this._authHeaderString = 'Authorization';
15
+ this._authHeaderString = this._config?.http?.header ?? 'Authorization';
16
+ this._authScheme = this._config?.http?.scheme ?? 'Bearer';
16
17
  // Data.
17
18
  this.isRefreshing = false;
18
19
  this.refreshingAccessToken$ = new BehaviorSubject(null);
19
20
  this.getAccessToken = (request) => {
20
21
  // Get the token based on header.
21
- if (request.headers.has('Authorization')) {
22
- return request.headers.get('Authorization');
22
+ if (request.headers.has(this._authHeaderString)) {
23
+ return request.headers.get(this._authHeaderString);
23
24
  }
24
25
  // Return the default access token.
25
26
  return this._auth.session.accessToken;
@@ -34,13 +35,9 @@ export class AuthInterceptor {
34
35
  }
35
36
  // Add the auth header to the request.
36
37
  return request.clone({
37
- setHeaders: { [this._authHeaderString]: this.getFullAuthorizationHeader(accessToken) }
38
+ setHeaders: { [this._authHeaderString]: `${this._authScheme} ${accessToken}` }
38
39
  });
39
40
  };
40
- this.getFullAuthorizationHeader = (token) => {
41
- const authScheme = this._config?.scheme ?? 'Bearer';
42
- return [authScheme, token].join(' ');
43
- };
44
41
  }
45
42
  intercept(request, next) {
46
43
  // 1. Check if the user wants to use the authorization for this request.
@@ -83,11 +80,11 @@ export class AuthInterceptor {
83
80
  return of(null);
84
81
  }
85
82
  }
86
- AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.Auth }, { token: i2.AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
87
- AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthInterceptor });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthInterceptor, decorators: [{
83
+ AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.Auth }, { token: i2.AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
84
+ AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor, decorators: [{
89
86
  type: Injectable
90
87
  }], ctorParameters: function () { return [{ type: i1.Auth }, { type: i2.AuthConfig, decorators: [{
91
88
  type: Optional
92
89
  }] }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUluRCxNQUFNLE9BQU8sZUFBZTtJQVN4QixZQUFvQixLQUFXLEVBQ0MsT0FBbUI7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFSbkQsaUJBQWlCO1FBQ0Esc0JBQWlCLEdBQVcsZUFBZSxDQUFDO1FBRTdELFFBQVE7UUFDUixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QiwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFrRTFELG1CQUFjLEdBQUcsQ0FBQyxPQUE2QixFQUFFLEVBQUU7WUFDdkQsaUNBQWlDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDL0M7WUFFRCxt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QyxjQUFjLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNqQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNuQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7SUFFTyxVQUFVO1FBQ2QsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU5Qix1QkFBdUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7NEdBdkVRLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFXTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1VTRV9BVVRIT1JJWkFUSU9OfSBmcm9tICcuL3Rva2Vucy91c2UtYXV0aG9yaXphdGlvbi50b2tlbic7XG5pbXBvcnQge0F1dGhDb25maWd9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7SHR0cEVycm9yfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9odHRwJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0luamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXV0aEhlYWRlclN0cmluZzogc3RyaW5nID0gJ0F1dGhvcml6YXRpb24nO1xuXG4gICAgLy8gRGF0YS5cbiAgICBpc1JlZnJlc2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICByZWZyZXNoaW5nQWNjZXNzVG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2F1dGg6IEF1dGgsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnOiBBdXRoQ29uZmlnKSB7XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgICAgICAvLyAxLiBDaGVjayBpZiB0aGUgdXNlciB3YW50cyB0byB1c2UgdGhlIGF1dGhvcml6YXRpb24gZm9yIHRoaXMgcmVxdWVzdC5cbiAgICAgICAgaWYgKCFyZXF1ZXN0LmNvbnRleHQuZ2V0KFVTRV9BVVRIT1JJWkFUSU9OKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQ29tcG9zZSB0aGUgbmV3IHJlcXVlc3QuXG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5nZXRBY2Nlc3NUb2tlbihyZXF1ZXN0KTtcbiAgICAgICAgY29uc3QgbmV3UmVxdWVzdCA9IHRoaXMuYWRkQXV0aG9yaXphdGlvbkhlYWRlcihyZXF1ZXN0LCBhY2Nlc3NUb2tlbik7XG5cbiAgICAgICAgLy8gMy4gSGFuZGxlIGFsbCBlcnJvcnMuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShuZXdSZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBIVFRQNDAxIGVycm9yLlxuICAgICAgICAgICAgICAgIGlmICgoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSB8fCBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvcikgJiYgZXJyb3I/LnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEp1c3QgcmUtdGhyb3cgdGhlIHBhcnNlZCBlcnJvci5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlNDAxRXJyb3IocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgICAgIC8vIElmIGFscmVhZHkgcmVmcmVzaGluZyB3YWl0IGZvciB0aGUgcmVmcmVzaCB0b2tlbiB0byBjb21wbGV0ZS5cbiAgICAgICAgaWYgKHRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoaW5nQWNjZXNzVG9rZW4kLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGFjY2Vzc1Rva2VuID0+IGFjY2Vzc1Rva2VuICE9PSBudWxsKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChhY2Nlc3NUb2tlbiA9PiBuZXh0LmhhbmRsZSh0aGlzLmFkZEF1dGhvcml6YXRpb25IZWFkZXIocmVxdWVzdCwgYWNjZXNzVG9rZW4pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGhlIHJlZnJlc2hpbmcgdG8gdHJ1ZS5cbiAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQubmV4dChudWxsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0aC5yZWZyZXNoKCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChuZXdBY2Nlc3NUb2tlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXdBY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ05vIHJlZnJlc2ggdG9rZW4gd2FzIGF2YWlsYWJsZS4nKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nQWNjZXNzVG9rZW4kLm5leHQobmV3QWNjZXNzVG9rZW4pO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZEF1dGhvcml6YXRpb25IZWFkZXIocmVxdWVzdCwgbmV3QWNjZXNzVG9rZW4pKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aGlzLmxvZ291dFVzZXIoKSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9nb3V0VXNlcigpIHtcbiAgICAgICAgLy8gSGFuZGxlIHRoZSByZWZyZXNoIGVycm9yLlxuICAgICAgICB0aGlzLl9hdXRoLmNsZWFyQW5kUmVkaXJlY3QoKTtcblxuICAgICAgICAvLyBSZXR1cm4gbnVsbCBhcyBkYXRhLlxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBY2Nlc3NUb2tlbiA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPikgPT4ge1xuICAgICAgICAvLyBHZXQgdGhlIHRva2VuIGJhc2VkIG9uIGhlYWRlci5cbiAgICAgICAgaWYgKHJlcXVlc3QuaGVhZGVycy5oYXMoJ0F1dGhvcml6YXRpb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZGVmYXVsdCBhY2Nlc3MgdG9rZW4uXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoLnNlc3Npb24uYWNjZXNzVG9rZW47XG4gICAgfTtcblxuICAgIHByaXZhdGUgYWRkQXV0aG9yaXphdGlvbkhlYWRlciA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgYWNjZXNzVG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XG4gICAgICAgIC8vIFJlbW92ZSBhdXRoIGhlYWRlciB3aGVuIHdlIGRvIG5vdCBoYXZlXG4gICAgICAgIC8vIGFuIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgaWYgKCFhY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5kZWxldGUodGhpcy5fYXV0aEhlYWRlclN0cmluZylcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBhdXRoIGhlYWRlciB0byB0aGUgcmVxdWVzdC5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgc2V0SGVhZGVyczoge1t0aGlzLl9hdXRoSGVhZGVyU3RyaW5nXTogdGhpcy5nZXRGdWxsQXV0aG9yaXphdGlvbkhlYWRlcihhY2Nlc3NUb2tlbil9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGdldEZ1bGxBdXRob3JpemF0aW9uSGVhZGVyID0gKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgYXV0aFNjaGVtZSA9IHRoaXMuX2NvbmZpZz8uc2NoZW1lID8/ICdCZWFyZXInO1xuICAgICAgICByZXR1cm4gW2F1dGhTY2hlbWUsIHRva2VuXS5qb2luKCcgJyk7XG4gICAgfTtcblxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUluRCxNQUFNLE9BQU8sZUFBZTtJQVV4QixZQUFvQixLQUFXLEVBQ0MsT0FBbUI7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFUbkQsaUJBQWlCO1FBQ0Esc0JBQWlCLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLGVBQWUsQ0FBQztRQUMxRSxnQkFBVyxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxRQUFRLENBQUM7UUFFOUUsUUFBUTtRQUNSLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQWtFMUQsbUJBQWMsR0FBRyxDQUFDLE9BQTZCLEVBQUUsRUFBRTtZQUN2RCxpQ0FBaUM7WUFDakMsSUFBSSxPQUFPLENB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Q2pCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQzthQUN6RTtZQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQ25DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUM1QyxDQUFDO0lBQ04sQ0FBQztJQUVPLFVBQVU7UUFDZCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTlCLHVCQUF1QjtRQUN2QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDOzs0R0F4RVEsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVlNLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VVNFX0FVVEhPUklaQVRJT059IGZyb20gJy4vdG9rZW5zL3VzZS1hdXRob3JpemF0aW9uLnRva2VuJztcbmltcG9ydCB7QXV0aENvbmZpZ30gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtIdHRwRXJyb3J9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2h0dHAnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG9mLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBdXRofSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hdXRoSGVhZGVyU3RyaW5nOiBzdHJpbmcgPSB0aGlzLl9jb25maWc/Lmh0dHA/LmhlYWRlciA/PyAnQXV0aG9yaXphdGlvbic7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFNjaGVtZTogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5odHRwPy5zY2hlbWUgPz8gJ0JlYXJlcic7XG5cbiAgICAvLyBEYXRhLlxuICAgIGlzUmVmcmVzaGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXV0aDogQXV0aCxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb25maWc6IEF1dGhDb25maWcpIHtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgICAgIC8vIDEuIENoZWNrIGlmIHRoZSB1c2VyIHdhbnRzIHRvIHVzZSB0aGUgYXV0aG9yaXphdGlvbiBmb3IgdGhpcyByZXF1ZXN0LlxuICAgICAgICBpZiAoIXJlcXVlc3QuY29udGV4dC5nZXQoVVNFX0FVVEhPUklaQVRJT04pKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAyLiBDb21wb3NlIHRoZSBuZXcgcmVxdWVzdC5cbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSB0aGlzLmdldEFjY2Vzc1Rva2VuKHJlcXVlc3QpO1xuICAgICAgICBjb25zdCBuZXdSZXF1ZXN0ID0gdGhpcy5hZGRBdXRob3JpemF0aW9uSGVhZGVyKHJlcXVlc3QsIGFjY2Vzc1Rva2VuKTtcblxuICAgICAgICAvLyAzLiBIYW5kbGUgYWxsIGVycm9ycy5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKG5ld1JlcXVlc3QpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAvLyBIYW5kbGUgdGhlIEhUVFA0MDEgZXJyb3IuXG4gICAgICAgICAgICAgICAgaWYgKChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlIHx8IGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yKSAmJiBlcnJvcj8uc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlNDAxRXJyb3IocmVxdWVzdCwgbmV4dCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gSnVzdCByZS10aHJvdyB0aGUgcGFyc2VkIGVycm9yLlxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGU0MDFFcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICAgICAgLy8gSWYgYWxyZWFkeSByZWZyZXNoaW5nIHdhaXQgZm9yIHRoZSByZWZyZXNoIHRva2VuIHRvIGNvbXBsZXRlLlxuICAgICAgICBpZiAodGhpcy5pc1JlZnJlc2hpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoYWNjZXNzVG9rZW4gPT4gYWNjZXNzVG9rZW4gIT09IG51bGwpLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGFjY2Vzc1Rva2VuID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkQXV0aG9yaXphdGlvbkhlYWRlcihyZXF1ZXN0LCBhY2Nlc3NUb2tlbikpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgcmVmcmVzaGluZyB0byB0cnVlLlxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMucmVmcmVzaGluZ0FjY2Vzc1Rva2VuJC5uZXh0KG51bGwpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoLnJlZnJlc2goKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ld0FjY2Vzc1Rva2VuID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW5ld0FjY2Vzc1Rva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTm8gcmVmcmVzaCB0b2tlbiB3YXMgYXZhaWxhYmxlLicpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQubmV4dChuZXdBY2Nlc3NUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkQXV0aG9yaXphdGlvbkhlYWRlcihyZXF1ZXN0LCBuZXdBY2Nlc3NUb2tlbikpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMubG9nb3V0VXNlcigpKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2UpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dvdXRVc2VyKCkge1xuICAgICAgICAvLyBIYW5kbGUgdGhlIHJlZnJlc2ggZXJyb3IuXG4gICAgICAgIHRoaXMuX2F1dGguY2xlYXJBbmRSZWRpcmVjdCgpO1xuXG4gICAgICAgIC8vIFJldHVybiBudWxsIGFzIGRhdGEuXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFjY2Vzc1Rva2VuID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+KSA9PiB7XG4gICAgICAgIC8vIEdldCB0aGUgdG9rZW4gYmFzZWQgb24gaGVhZGVyLlxuICAgICAgICBpZiAocmVxdWVzdC5oZWFkZXJzLmhhcyh0aGlzLl9hdXRoSGVhZGVyU3RyaW5nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuaGVhZGVycy5nZXQodGhpcy5fYXV0aEhlYWRlclN0cmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGRlZmF1bHQgYWNjZXNzIHRva2VuLlxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0aC5zZXNzaW9uLmFjY2Vzc1Rva2VuO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGFkZEF1dGhvcml6YXRpb25IZWFkZXIgPSAocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIGFjY2Vzc1Rva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbCkgPT4ge1xuICAgICAgICAvLyBSZW1vdmUgYXV0aCBoZWFkZXIgd2hlbiB3ZSBkbyBub3QgaGF2ZVxuICAgICAgICAvLyBhbiBhY2Nlc3MgdG9rZW4uXG4gICAgICAgIGlmICghYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuX2F1dGhIZWFkZXJTdHJpbmcpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCB0aGUgYXV0aCBoZWFkZXIgdG8gdGhlIHJlcXVlc3QuXG4gICAgICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtbdGhpcy5fYXV0aEhlYWRlclN0cmluZ106IGAke3RoaXMuX2F1dGhTY2hlbWV9ICR7YWNjZXNzVG9rZW59YH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxufVxuIl19
@@ -2,16 +2,13 @@ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
2
  import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
3
3
  import { BbAuthenticated } from './directives/authenticated.directive';
4
4
  import { BbPermission } from './directives/permission.directive';
5
+ import { Permissions } from './permissions/permissions.service';
5
6
  import { AuthConfig } from './interfaces/config.interface';
6
7
  import { AuthInterceptor } from './auth.interceptor';
7
- import { AuthMapper } from './helpers/mapper.helper';
8
- import { BbRole } from './directives/role.directive';
9
- import { Permissions } from './permissions.service';
10
8
  import { Auth } from './auth.service';
11
9
  import * as i0 from "@angular/core";
12
10
  const DECLARATIONS_EXPORTS = [
13
11
  BbAuthenticated,
14
- BbRole,
15
12
  BbPermission
16
13
  ];
17
14
  export class AuthModule {
@@ -28,27 +25,20 @@ export class AuthModule {
28
25
  };
29
26
  }
30
27
  }
31
- AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.4", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
33
- BbRole,
28
+ AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
34
30
  BbPermission], imports: [HttpClientModule], exports: [BbAuthenticated,
35
- BbRole,
36
31
  BbPermission] });
37
- AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthModule, providers: [
38
- { provide: AuthMapper, useClass: AuthMapper }
39
- ], imports: [HttpClientModule] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: AuthModule, decorators: [{
32
+ AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, imports: [HttpClientModule] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, decorators: [{
41
34
  type: NgModule,
42
35
  args: [{
43
36
  imports: [HttpClientModule],
44
37
  declarations: [...DECLARATIONS_EXPORTS],
45
- exports: [...DECLARATIONS_EXPORTS],
46
- providers: [
47
- { provide: AuthMapper, useClass: AuthMapper }
48
- ]
38
+ exports: [...DECLARATIONS_EXPORTS]
49
39
  }]
50
40
  }] });
51
41
  export function initializeAuth(auth) {
52
42
  return auth.initialize();
53
43
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2F1dGgvc3JjL2xpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEMsTUFBTSxvQkFBb0IsR0FBRztJQUN6QixlQUFlO0lBQ2YsTUFBTTtJQUNOLFlBQVk7Q0FDZixDQUFDO0FBVUYsTUFBTSxPQUFPLFVBQVU7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUM5QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDdkMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2dCQUNwRSxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2FBQ3BGO1NBQ0osQ0FBQztJQUNOLENBQUM7O3VHQWJRLFVBQVU7d0dBQVYsVUFBVSxpQkFibkIsZUFBZTtRQUNmLE1BQU07UUFDTixZQUFZLGFBSUYsZ0JBQWdCLGFBTjFCLGVBQWU7UUFDZixNQUFNO1FBQ04sWUFBWTt3R0FXSCxVQUFVLGFBSlI7UUFDUCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQztLQUM5QyxZQUxTLGdCQUFnQjsyRkFPakIsVUFBVTtrQkFSdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDO3FCQUM5QztpQkFDSjs7QUFrQkQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFVO0lBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtCYkF1dGhlbnRpY2F0ZWR9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRoZW50aWNhdGVkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiUGVybWlzc2lvbn0gZnJvbSAnLi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmltcG9ydCB7QXV0aENvbmZpZ30gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtBdXRoSW50ZXJjZXB0b3J9IGZyb20gJy4vYXV0aC5pbnRlcmNlcHRvcic7XG5pbXBvcnQge0F1dGhNYXBwZXJ9IGZyb20gJy4vaGVscGVycy9tYXBwZXIuaGVscGVyJztcbmltcG9ydCB7QmJSb2xlfSBmcm9tICcuL2RpcmVjdGl2ZXMvcm9sZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc30gZnJvbSAnLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICBCYkF1dGhlbnRpY2F0ZWQsXG4gICAgQmJSb2xlLFxuICAgIEJiUGVybWlzc2lvblxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBBdXRoTWFwcGVyLCB1c2VDbGFzczogQXV0aE1hcHBlcn1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQXV0aENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEF1dGhNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBBdXRoLFxuICAgICAgICAgICAgICAgIFBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBBdXRoQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcbiAgICAgICAgICAgICAgICB7dXNlRmFjdG9yeTogaW5pdGlhbGl6ZUF1dGgsIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgZGVwczogW0F1dGhdLCBtdWx0aTogdHJ1ZX1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBdXRoKGF1dGg6IEF1dGgpIHtcbiAgICByZXR1cm4gYXV0aC5pbml0aWFsaXplKCk7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2F1dGgvc3JjL2xpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXBDLE1BQU0sb0JBQW9CLEdBQUc7SUFDekIsZUFBZTtJQUNmLFlBQVk7Q0FDZixDQUFDO0FBT0YsTUFBTSxPQUFPLFVBQVU7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrQjtRQUM3QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDdkMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2dCQUNwRSxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2FBQ3BGO1NBQ0osQ0FBQztJQUNOLENBQUM7O3VHQWJRLFVBQVU7d0dBQVYsVUFBVSxpQkFUbkIsZUFBZTtRQUNmLFlBQVksYUFJRixnQkFBZ0IsYUFMMUIsZUFBZTtRQUNmLFlBQVk7d0dBUUgsVUFBVSxZQUpULGdCQUFnQjsyRkFJakIsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztpQkFDckM7O0FBa0JELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBVTtJQUNyQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QmJBdXRoZW50aWNhdGVkfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0aGVudGljYXRlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYlBlcm1pc3Npb259IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1Blcm1pc3Npb25zfSBmcm9tICcuL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuaW1wb3J0IHtBdXRoQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQge0F1dGhJbnRlcmNlcHRvcn0gZnJvbSAnLi9hdXRoLmludGVyY2VwdG9yJztcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICBCYkF1dGhlbnRpY2F0ZWQsXG4gICAgQmJQZXJtaXNzaW9uXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU10sXG4gICAgZXhwb3J0czogWy4uLkRFQ0xBUkFUSU9OU19FWFBPUlRTXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogQXV0aENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEF1dGhNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBBdXRoLFxuICAgICAgICAgICAgICAgIFBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBBdXRoQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcbiAgICAgICAgICAgICAgICB7dXNlRmFjdG9yeTogaW5pdGlhbGl6ZUF1dGgsIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgZGVwczogW0F1dGhdLCBtdWx0aTogdHJ1ZX1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBdXRoKGF1dGg6IEF1dGgpIHtcbiAgICByZXR1cm4gYXV0aC5pbml0aWFsaXplKCk7XG59XG4iXX0=