@bravobit/bb-foundation 0.42.0 → 0.42.1

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 (188) hide show
  1. package/auth/lib/auth.interceptor.d.ts +3 -6
  2. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +2 -5
  3. package/dialog/lib/dialog-container/dialog-container.component.d.ts +4 -6
  4. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
  5. package/esm2022/auth/lib/auth.interceptor.mjs +36 -42
  6. package/esm2022/auth/lib/auth.module.mjs +4 -4
  7. package/esm2022/auth/lib/auth.service.mjs +18 -7
  8. package/esm2022/auth/lib/auth.session.mjs +26 -22
  9. package/esm2022/auth/lib/directives/authenticated.directive.mjs +16 -12
  10. package/esm2022/auth/lib/helpers/jwt.helper.mjs +29 -31
  11. package/esm2022/auth/lib/providers/email.provider.mjs +4 -1
  12. package/esm2022/auth/lib/providers/verify.provider.mjs +4 -1
  13. package/esm2022/collections/lib/collection.mjs +17 -7
  14. package/esm2022/collections/lib/collections.module.mjs +6 -6
  15. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +7 -9
  16. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +11 -11
  17. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +10 -10
  18. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +16 -16
  19. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +9 -11
  20. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +12 -9
  21. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +10 -7
  22. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +6 -3
  23. package/esm2022/collections/lib/directives/collections-data.directive.mjs +6 -3
  24. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +6 -3
  25. package/esm2022/collections/lib/directives/collections-error.directive.mjs +6 -3
  26. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +4 -3
  27. package/esm2022/collections/lib/directives/collections-item.directive.mjs +6 -3
  28. package/esm2022/collections/lib/providers/api-collection.provider.mjs +6 -4
  29. package/esm2022/collections/lib/providers/local-collection.provider.mjs +2 -2
  30. package/esm2022/combobox/combobox/combobox-container.directive.mjs +12 -7
  31. package/esm2022/combobox/combobox/combobox.component.mjs +23 -20
  32. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  33. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  34. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +10 -6
  35. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +13 -13
  36. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +5 -7
  37. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +8 -10
  38. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +5 -7
  39. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +12 -13
  40. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +13 -12
  41. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +7 -5
  42. package/esm2022/dashboard/lib/dashboard.module.mjs +5 -5
  43. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  44. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +21 -20
  45. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +19 -24
  46. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -7
  47. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  48. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +9 -6
  49. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +19 -26
  50. package/esm2022/dialog/lib/dialog.insertion.mjs +4 -3
  51. package/esm2022/dialog/lib/dialog.interfaces.mjs +4 -1
  52. package/esm2022/dialog/lib/dialog.module.mjs +6 -6
  53. package/esm2022/dialog/lib/dialog.ref.mjs +4 -6
  54. package/esm2022/dialog/lib/dialog.service.mjs +5 -3
  55. package/esm2022/dialog/lib/directives/confirm.directive.mjs +12 -14
  56. package/esm2022/elements/lib/avatar/avatar.component.mjs +75 -77
  57. package/esm2022/elements/lib/button/button.component.mjs +12 -10
  58. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +21 -17
  59. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +8 -10
  60. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +82 -76
  61. package/esm2022/elements/lib/directives/addon.directive.mjs +5 -5
  62. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +7 -9
  63. package/esm2022/elements/lib/directives/form-submit.directive.mjs +6 -3
  64. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +5 -7
  65. package/esm2022/elements/lib/directives/image-upload.directive.mjs +14 -11
  66. package/esm2022/elements/lib/directives/input.directive.mjs +6 -4
  67. package/esm2022/elements/lib/elements.module.mjs +6 -6
  68. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +52 -51
  69. package/esm2022/elements/lib/form-control/form-control.component.mjs +14 -14
  70. package/esm2022/elements/lib/form-error/form-error.component.mjs +16 -8
  71. package/esm2022/elements/lib/form-group/form-group.component.mjs +5 -7
  72. package/esm2022/elements/lib/icon/icon.component.mjs +14 -13
  73. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +20 -17
  74. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +28 -24
  75. package/esm2022/elements/lib/pipes/date.pipe.mjs +6 -8
  76. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +6 -3
  77. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +13 -15
  78. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +37 -35
  79. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +8 -7
  80. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +21 -20
  81. package/esm2022/elements/lib/spinner/spinner.component.mjs +7 -9
  82. package/esm2022/http/lib/classes/http.config.mjs +19 -15
  83. package/esm2022/http/lib/http.interfaces.mjs +1 -1
  84. package/esm2022/http/lib/http.module.mjs +5 -4
  85. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +12 -20
  86. package/esm2022/http/lib/interceptors/error.interceptor.mjs +9 -14
  87. package/esm2022/lib/core/services/exif.service.mjs +102 -100
  88. package/esm2022/lib/core/services/file-loader.service.mjs +15 -17
  89. package/esm2022/lib/core/services/files.service.mjs +7 -3
  90. package/esm2022/lib/core/services/image-converter.service.mjs +33 -30
  91. package/esm2022/lib/core/services/languages.service.mjs +25 -24
  92. package/esm2022/lib/core/services/network.service.mjs +8 -5
  93. package/esm2022/lib/core/services/patch.service.mjs +9 -6
  94. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +7 -1
  95. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +2 -4
  96. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +2 -1
  97. package/esm2022/localize/lib/handlers/missing.handler.mjs +2 -4
  98. package/esm2022/localize/lib/localize.module.mjs +5 -5
  99. package/esm2022/localize/lib/localize.pipe.mjs +4 -3
  100. package/esm2022/localize/lib/localize.service.mjs +30 -21
  101. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +5 -1
  102. package/esm2022/localize/lib/transforms/plural.transform.mjs +6 -4
  103. package/esm2022/localize/lib/transforms/reference.transform.mjs +3 -1
  104. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +14 -11
  105. package/esm2022/localize/lib/views/localize-template.directive.mjs +6 -5
  106. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +11 -6
  107. package/esm2022/masking/lib/directives/date-mask.directive.mjs +11 -6
  108. package/esm2022/masking/lib/directives/input-mask.directive.mjs +21 -14
  109. package/esm2022/masking/lib/masking.module.mjs +5 -5
  110. package/esm2022/masking/lib/masking.service.mjs +4 -3
  111. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +50 -36
  112. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +8 -7
  113. package/esm2022/notifications/lib/notifications.interfaces.mjs +10 -1
  114. package/esm2022/notifications/lib/notifications.module.mjs +4 -4
  115. package/esm2022/notifications/lib/notifications.service.mjs +24 -10
  116. package/esm2022/permissions/lib/directives/permission.directive.mjs +20 -14
  117. package/esm2022/permissions/lib/handlers/local.handler.mjs +3 -1
  118. package/esm2022/permissions/lib/permissions.interface.mjs +4 -1
  119. package/esm2022/permissions/lib/permissions.module.mjs +4 -4
  120. package/esm2022/permissions/lib/permissions.service.mjs +8 -7
  121. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +34 -27
  122. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +15 -15
  123. package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
  124. package/esm2022/select/lib/select/select.component.mjs +52 -47
  125. package/esm2022/select/lib/select-label.directive.mjs +4 -3
  126. package/esm2022/select/lib/select-multi-label.directive.mjs +4 -3
  127. package/esm2022/select/lib/select-option-group.directive.mjs +4 -3
  128. package/esm2022/select/lib/select-option.directive.mjs +4 -3
  129. package/esm2022/select/lib/select.module.mjs +5 -5
  130. package/esm2022/storage/lib/storage.service.mjs +25 -21
  131. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +66 -64
  132. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +16 -18
  133. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +31 -30
  134. package/esm2022/table/lib/components/table/table.component.mjs +30 -20
  135. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  136. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +15 -11
  137. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +18 -16
  138. package/esm2022/table/lib/data/datasource.data.mjs +4 -6
  139. package/esm2022/table/lib/data/generic.data.mjs +38 -36
  140. package/esm2022/table/lib/table.module.mjs +6 -6
  141. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +5 -7
  142. package/esm2022/tooltip/lib/tooltip.directive.mjs +15 -15
  143. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  144. package/esm2022/utils/lib/directives/autosize.directive.mjs +9 -7
  145. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +24 -22
  146. package/esm2022/utils/lib/directives/focus.directive.mjs +8 -5
  147. package/esm2022/utils/lib/directives/template.directive.mjs +7 -3
  148. package/esm2022/utils/lib/utils.module.mjs +5 -5
  149. package/fesm2022/bravobit-bb-foundation-auth.mjs +127 -110
  150. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  151. package/fesm2022/bravobit-bb-foundation-collections.mjs +123 -93
  152. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  153. package/fesm2022/bravobit-bb-foundation-combobox.mjs +46 -34
  154. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  155. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +60 -64
  156. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  157. package/fesm2022/bravobit-bb-foundation-dialog.mjs +97 -103
  158. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  159. package/fesm2022/bravobit-bb-foundation-elements.mjs +468 -440
  160. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  161. package/fesm2022/bravobit-bb-foundation-http.mjs +40 -46
  162. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  163. package/fesm2022/bravobit-bb-foundation-localize.mjs +74 -49
  164. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  165. package/fesm2022/bravobit-bb-foundation-masking.mjs +47 -29
  166. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  167. package/fesm2022/bravobit-bb-foundation-notifications.mjs +91 -53
  168. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  169. package/fesm2022/bravobit-bb-foundation-permissions.mjs +34 -22
  170. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  171. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +50 -43
  172. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  173. package/fesm2022/bravobit-bb-foundation-select.mjs +67 -58
  174. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  175. package/fesm2022/bravobit-bb-foundation-storage.mjs +134 -129
  176. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  177. package/fesm2022/bravobit-bb-foundation-table.mjs +107 -91
  178. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  179. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +21 -23
  180. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  181. package/fesm2022/bravobit-bb-foundation-utils.mjs +48 -37
  182. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  183. package/fesm2022/bravobit-bb-foundation.mjs +192 -178
  184. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  185. package/http/lib/http.interfaces.d.ts +2 -1
  186. package/http/lib/interceptors/base-url.interceptor.d.ts +2 -4
  187. package/http/lib/interceptors/error.interceptor.d.ts +1 -3
  188. package/package.json +13 -13
@@ -3,12 +3,10 @@ import { Directive, Input } from '@angular/core';
3
3
  import { distinctUntilChanged, map } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BbExtraErrorControls {
6
- constructor() {
7
- // State.
8
- this.changes = new BehaviorSubject(null);
9
- // Subscriptions.
10
- this._subscription = null;
11
- }
6
+ // State.
7
+ changes = new BehaviorSubject(null);
8
+ // Subscriptions.
9
+ _subscription = null;
12
10
  set extraControls(controls) {
13
11
  this.handle(controls);
14
12
  }
@@ -27,8 +25,8 @@ export class BbExtraErrorControls {
27
25
  this._subscription = errors$
28
26
  .subscribe(errors => this.changes.next(errors ?? null));
29
27
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbExtraErrorControls, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbExtraErrorControls, isStandalone: true, selector: "[bbExtraErrorControls]", inputs: { extraControls: ["bbExtraErrorControls", "extraControls"] }, ngImport: i0 }); }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbExtraErrorControls, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbExtraErrorControls, isStandalone: true, selector: "[bbExtraErrorControls]", inputs: { extraControls: ["bbExtraErrorControls", "extraControls"] }, ngImport: i0 });
32
30
  }
33
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbExtraErrorControls, decorators: [{
34
32
  type: Directive,
@@ -40,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
40
38
  type: Input,
41
39
  args: [{ alias: 'bbExtraErrorControls' }]
42
40
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtZXJyb3ItY29udHJvbHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXh0cmEtZXJyb3ItY29udHJvbHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQU1JLFNBQVM7UUFDQSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBRXRFLGlCQUFpQjtRQUNULGtCQUFhLEdBQXdCLElBQUksQ0FBQztLQWlDckQ7SUEvQkcsSUFDSSxhQUFhLENBQUMsUUFBMkI7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxRQUEyQjtRQUN0QyxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRWxDLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QyxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQzVCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDaEUsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTzthQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQXJDUSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBVU8sYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYkV4dHJhRXJyb3JDb250cm9sc10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJFeHRyYUVycm9yQ29udHJvbHMgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLy8gU3RhdGUuXG4gICAgcmVhZG9ubHkgY2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuXG4gICAgLy8gU3Vic2NyaXB0aW9ucy5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KHthbGlhczogJ2JiRXh0cmFFcnJvckNvbnRyb2xzJ30pXG4gICAgc2V0IGV4dHJhQ29udHJvbHMoY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlKGNvbnRyb2xzKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlKGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgaWYgKGNvbnRyb2xzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3JzJCA9IGNvbnRyb2xzLm1hcChjb250cm9sID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChfID0+IGNvbnRyb2w/LmVycm9ycylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGVycm9ycyQgPSBjb21iaW5lTGF0ZXN0KHZhbGlkYXRpb25FcnJvcnMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbGlkYXRpb25FcnJvcnMgPT4gdmFsaWRhdGlvbkVycm9ycy5maW5kKGVycm9yID0+ICEhZXJyb3IpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBlcnJvcnMkXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGVycm9ycyA9PiB0aGlzLmNoYW5nZXMubmV4dChlcnJvcnMgPz8gbnVsbCkpO1xuICAgIH1cblxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtZXJyb3ItY29udHJvbHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXh0cmEtZXJyb3ItY29udHJvbHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLG9CQUFvQjtJQUU3QixTQUFTO0lBQ0EsT0FBTyxHQUFHLElBQUksZUFBZSxDQUEwQixJQUFJLENBQUMsQ0FBQztJQUV0RSxpQkFBaUI7SUFDVCxhQUFhLEdBQXdCLElBQUksQ0FBQztJQUVsRCxJQUNJLGFBQWEsQ0FBQyxRQUEyQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU8sTUFBTSxDQUFDLFFBQTJCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFbEMsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzdDLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDNUIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUNqRCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNoRSxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPO2FBQ3ZCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7dUdBckNRLG9CQUFvQjsyRkFBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFVTyxhQUFhO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiRXh0cmFFcnJvckNvbnRyb2xzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkV4dHJhRXJyb3JDb250cm9scyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICByZWFkb25seSBjaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoe2FsaWFzOiAnYmJFeHRyYUVycm9yQ29udHJvbHMnfSlcbiAgICBzZXQgZXh0cmFDb250cm9scyhjb250cm9sczogQWJzdHJhY3RDb250cm9sW10pIHtcbiAgICAgICAgdGhpcy5oYW5kbGUoY29udHJvbHMpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGUoY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICBpZiAoY29udHJvbHMubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnMkID0gY29udHJvbHMubWFwKGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKF8gPT4gY29udHJvbD8uZXJyb3JzKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZXJyb3JzJCA9IGNvbWJpbmVMYXRlc3QodmFsaWRhdGlvbkVycm9ycyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAodmFsaWRhdGlvbkVycm9ycyA9PiB2YWxpZGF0aW9uRXJyb3JzLmZpbmQoZXJyb3IgPT4gISFlcnJvcikpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IGVycm9ycyRcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZXJyb3JzID0+IHRoaXMuY2hhbmdlcy5uZXh0KGVycm9ycyA/PyBudWxsKSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -4,6 +4,9 @@ import { EMPTY, fromEvent, merge } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/forms";
6
6
  export class BbFormSubmit {
7
+ _host;
8
+ _formDirective;
9
+ submitStatus$;
7
10
  constructor(_host, _formDirective) {
8
11
  this._host = _host;
9
12
  this._formDirective = _formDirective;
@@ -33,8 +36,8 @@ export class BbFormSubmit {
33
36
  }
34
37
  return this._formDirective.ngSubmit.pipe(map(() => true));
35
38
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmit, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbFormSubmit, isStandalone: true, selector: "form", exportAs: ["bbForm"], ngImport: i0 }); }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmit, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
40
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbFormSubmit, isStandalone: true, selector: "form", exportAs: ["bbForm"], ngImport: i0 });
38
41
  }
39
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmit, decorators: [{
40
43
  type: Directive,
@@ -48,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
48
51
  }, {
49
52
  type: Self
50
53
  }] }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQXNCLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFRekQsTUFBTSxPQUFPLFlBQVk7SUFJckIsWUFBb0IsS0FBa0MsRUFDZCxjQUFrQztRQUR0RCxVQUFLLEdBQUwsS0FBSyxDQUE2QjtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUMxRSxDQUFDO0lBRUQsUUFBUTtRQUNKLGtCQUFrQjtRQUNsQixNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDdEUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO1FBRUYsZ0NBQWdDO1FBQ2hDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFNUQsaUJBQWlCO1FBQ2pCLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNuQixDQUFDO1FBRUYsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDekYsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUNoQixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUMvQyxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQzs4R0FsRFEsWUFBWTtrR0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUx4QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxNQUFNO29CQUNoQixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFNZ0IsUUFBUTs7MEJBQUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWSwgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1Hcm91cERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Zvcm0nLFxuICAgIGV4cG9ydEFzOiAnYmJGb3JtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRm9ybVN1Ym1pdCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBzdWJtaXRTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogRWxlbWVudFJlZjxIVE1MRm9ybUVsZW1lbnQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBfZm9ybURpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFN1Ym1pdCBjaGFuZ2VzLlxuICAgICAgICBjb25zdCByZWd1bGFyU3VibWl0Q2hhbmdlcyQgPSBmcm9tRXZlbnQodGhpcy5uYXRpdmVFbGVtZW50LCAnc3VibWl0JykucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlYWN0aXZlIGZvcm0gc3VibWl0IGNoYW5nZXMuXG4gICAgICAgIGNvbnN0IHJlYWN0aXZlU3VibWl0Q2hhbmdlcyQgPSB0aGlzLnJlYWN0aXZlU3VibWl0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8vIFJlc2V0IGNoYW5nZXMuXG4gICAgICAgIGNvbnN0IHJlc2V0Q2hhbmdlcyQgPSBmcm9tRXZlbnQodGhpcy5uYXRpdmVFbGVtZW50LCAncmVzZXQnKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IGZhbHNlKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIExpc3RlbiB0byB0aGUgc3VibWl0IHN0YXR1cy5cbiAgICAgICAgdGhpcy5zdWJtaXRTdGF0dXMkID0gbWVyZ2UocmVndWxhclN1Ym1pdENoYW5nZXMkLCByZWFjdGl2ZVN1Ym1pdENoYW5nZXMkLCByZXNldENoYW5nZXMkKS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSh7cmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDF9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgdGhpcy5fZm9ybURpcmVjdGl2ZT8ubmdTdWJtaXQ/LmVtaXQoKTtcbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudD8ucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faG9zdD8ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWN0aXZlU3VibWl0Q2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9mb3JtRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybURpcmVjdGl2ZS5uZ1N1Ym1pdC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQXNCLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFRekQsTUFBTSxPQUFPLFlBQVk7SUFJRDtJQUNvQjtJQUh4QyxhQUFhLENBQXNCO0lBRW5DLFlBQW9CLEtBQWtDLEVBQ2QsY0FBa0M7UUFEdEQsVUFBSyxHQUFMLEtBQUssQ0FBNkI7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7SUFDMUUsQ0FBQztJQUVELFFBQVE7UUFDSixrQkFBa0I7UUFDbEIsTUFBTSxxQkFBcUIsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ3RFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztRQUVGLGdDQUFnQztRQUNoQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTVELGlCQUFpQjtRQUNqQixNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDbkIsQ0FBQztRQUVGLCtCQUErQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQ3pGLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFDaEIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDL0MsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVksYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7dUdBbERRLFlBQVk7MkZBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFMeEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBTWdCLFFBQVE7OzBCQUFJLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFksIGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtR3JvdXBEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdmb3JtJyxcbiAgICBleHBvcnRBczogJ2JiRm9ybScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkZvcm1TdWJtaXQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgc3VibWl0U3RhdHVzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEZvcm1FbGVtZW50PixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX2Zvcm1EaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBTdWJtaXQgY2hhbmdlcy5cbiAgICAgICAgY29uc3QgcmVndWxhclN1Ym1pdENoYW5nZXMkID0gZnJvbUV2ZW50KHRoaXMubmF0aXZlRWxlbWVudCwgJ3N1Ym1pdCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWFjdGl2ZSBmb3JtIHN1Ym1pdCBjaGFuZ2VzLlxuICAgICAgICBjb25zdCByZWFjdGl2ZVN1Ym1pdENoYW5nZXMkID0gdGhpcy5yZWFjdGl2ZVN1Ym1pdENoYW5nZXMoKTtcblxuICAgICAgICAvLyBSZXNldCBjaGFuZ2VzLlxuICAgICAgICBjb25zdCByZXNldENoYW5nZXMkID0gZnJvbUV2ZW50KHRoaXMubmF0aXZlRWxlbWVudCwgJ3Jlc2V0JykucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiBmYWxzZSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBMaXN0ZW4gdG8gdGhlIHN1Ym1pdCBzdGF0dXMuXG4gICAgICAgIHRoaXMuc3VibWl0U3RhdHVzJCA9IG1lcmdlKHJlZ3VsYXJTdWJtaXRDaGFuZ2VzJCwgcmVhY3RpdmVTdWJtaXRDaGFuZ2VzJCwgcmVzZXRDaGFuZ2VzJCkucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoe3JlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1EaXJlY3RpdmU/Lm5nU3VibWl0Py5lbWl0KCk7XG4gICAgfVxuXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQ/LnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvc3Q/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFjdGl2ZVN1Ym1pdENoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZm9ybURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1EaXJlY3RpdmUubmdTdWJtaXQucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
@@ -2,18 +2,16 @@ import { Directive } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class BbFormSubmitter {
5
- constructor() {
6
- // State.
7
- this.submitted$ = new BehaviorSubject(false);
8
- }
5
+ // State.
6
+ submitted$ = new BehaviorSubject(false);
9
7
  submit() {
10
8
  this.submitted$.next(true);
11
9
  }
12
10
  reset() {
13
11
  this.submitted$.next(false);
14
12
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmitter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbFormSubmitter, isStandalone: true, selector: "[bbFormSubmitter]", exportAs: ["bbFormSubmitter"], ngImport: i0 }); }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmitter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbFormSubmitter, isStandalone: true, selector: "[bbFormSubmitter]", exportAs: ["bbFormSubmitter"], ngImport: i0 });
17
15
  }
18
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFormSubmitter, decorators: [{
19
17
  type: Directive,
@@ -23,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
23
21
  standalone: true
24
22
  }]
25
23
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXR0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFPckMsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFPSSxTQUFTO1FBQ1QsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBVXBEO0lBUkcsTUFBTTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FYUSxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYkZvcm1TdWJtaXR0ZXJdJyxcbiAgICBleHBvcnRBczogJ2JiRm9ybVN1Ym1pdHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkZvcm1TdWJtaXR0ZXIge1xuXG4gICAgLy8gU3RhdGUuXG4gICAgc3VibWl0dGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgc3VibWl0KCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cblxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWJtaXR0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFPckMsTUFBTSxPQUFPLGVBQWU7SUFFeEIsU0FBUztJQUNULFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVqRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO3VHQVhRLGVBQWU7MkZBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiRm9ybVN1Ym1pdHRlcl0nLFxuICAgIGV4cG9ydEFzOiAnYmJGb3JtU3VibWl0dGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRm9ybVN1Ym1pdHRlciB7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBzdWJtaXR0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBzdWJtaXQoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHJlc2V0KCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCQubmV4dChmYWxzZSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -3,18 +3,21 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@bravobit/bb-foundation";
4
4
  import * as i2 from "@angular/cdk/platform";
5
5
  export class BbImageUpload {
6
+ _files;
7
+ _platform;
8
+ _renderer;
9
+ // Inputs.
10
+ width = null;
11
+ height = null;
12
+ mode = 'aspect-fit';
13
+ type = 'png';
14
+ // Outputs.
15
+ onDataUri = new EventEmitter();
16
+ onFile = new EventEmitter();
6
17
  constructor(_files, _platform, _renderer) {
7
18
  this._files = _files;
8
19
  this._platform = _platform;
9
20
  this._renderer = _renderer;
10
- // Inputs.
11
- this.width = null;
12
- this.height = null;
13
- this.mode = 'aspect-fit';
14
- this.type = 'png';
15
- // Outputs.
16
- this.onDataUri = new EventEmitter();
17
- this.onFile = new EventEmitter();
18
21
  }
19
22
  async onClick() {
20
23
  if (!this._platform.isBrowser) {
@@ -108,8 +111,8 @@ export class BbImageUpload {
108
111
  return 'image';
109
112
  }
110
113
  }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbImageUpload, deps: [{ token: i1.Files }, { token: i2.Platform }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
112
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.0", type: BbImageUpload, isStandalone: true, selector: "button[bbImageUpload]", inputs: { width: ["bbImageUploadWidth", "width", numberAttribute], height: ["bbImageUploadHeight", "height", numberAttribute], mode: ["bbImageUploadMode", "mode"], type: ["bbImageUploadType", "type"] }, outputs: { onDataUri: "onDataUri", onFile: "onFile" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbImageUpload, deps: [{ token: i1.Files }, { token: i2.Platform }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
115
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.0", type: BbImageUpload, isStandalone: true, selector: "button[bbImageUpload]", inputs: { width: ["bbImageUploadWidth", "width", numberAttribute], height: ["bbImageUploadHeight", "height", numberAttribute], mode: ["bbImageUploadMode", "mode"], type: ["bbImageUploadType", "type"] }, outputs: { onDataUri: "onDataUri", onFile: "onFile" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
113
116
  }
114
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbImageUpload, decorators: [{
115
118
  type: Directive,
@@ -137,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
137
140
  type: HostListener,
138
141
  args: ['click']
139
142
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXVwbG9hZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDOzs7O0FBUS9HLE1BQU0sT0FBTyxhQUFhO0lBWXRCLFlBQW9CLE1BQWEsRUFDYixTQUFtQixFQUNuQixTQUFvQjtRQUZwQixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBWnhDLFVBQVU7UUFDd0QsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDM0IsV0FBTSxHQUFrQixJQUFJLENBQUM7UUFDM0QsU0FBSSxHQUFpQyxZQUFZLENBQUM7UUFDbEQsU0FBSSxHQUFrQixLQUFLLENBQUM7UUFFakUsV0FBVztRQUNELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3ZDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSzVDLENBQUM7SUFHRCxLQUFLLENBQUMsT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FB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QXhDLEtBQUs7dUJBQUMsRUFBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUM7Z0JBQ0UsSUFBSTtzQkFBeEMsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBQztnQkFHekIsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBUUQsT0FBTztzQkFEWixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBudW1iZXJBdHRyaWJ1dGUsIE91dHB1dCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge0ZpbGVzfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW2JiSW1hZ2VVcGxvYWRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiSW1hZ2VVcGxvYWQge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCh7YWxpYXM6ICdiYkltYWdlVXBsb2FkV2lkdGgnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pIHdpZHRoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZEhlaWdodCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlfSkgaGVpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZE1vZGUnfSkgbW9kZTogJ2FzcGVjdC1maXQnIHwgJ2FzcGVjdC1maWxsJyA9ICdhc3BlY3QtZml0JztcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZFR5cGUnfSkgdHlwZTogJ3BuZycgfCAnanBnJyA9ICdwbmcnO1xuXG4gICAgLy8gT3V0cHV0cy5cbiAgICBAT3V0cHV0KCkgb25EYXRhVXJpID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIG9uRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZpbGVzOiBGaWxlcyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBhc3luYyBvbkNsaWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGaWxlID0gYXdhaXQgdGhpcy5vcGVuRmlsZVBpY2tlcigpO1xuICAgICAgICBjb25zdCBkYXRhVXJpID0gYXdhaXQgdGhpcy50b0RhdGFVcmkob3JpZ2luYWxGaWxlKTtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBhd2FpdCB0aGlzLnRvSW1hZ2UoZGF0YVVyaSk7XG4gICAgICAgIGNvbnN0IHNjYWxlZERhdGFVcmkgPSB0aGlzLnNjYWxlSW1hZ2UoaW1hZ2UpO1xuICAgICAgICB0aGlzLm9uRGF0YVVyaS5lbWl0KHNjYWxlZERhdGFVcmkpO1xuXG4gICAgICAgIGlmICh0aGlzLm9uRmlsZT8ub2JzZXJ2ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZpbGVOYW1lKCk7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5fZmlsZXMuZnJvbURhdGFVcmkoc2NhbGVkRGF0YVVyaSwgbmFtZSk7XG4gICAgICAgICAgICB0aGlzLm9uRmlsZS5lbWl0KGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRmlsZVBpY2tlcigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEZpbGU+KHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoaW5wdXQsICd0eXBlJywgJ2ZpbGUnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KGlucHV0LCAnYWNjZXB0JywgJ2ltYWdlL3BuZyxpbWFnZS9qcGVnJyk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKGlucHV0LCAnY2hhbmdlJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50Py50YXJnZXQ/LmZpbGVzID8/IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcz8uWzBdID8/IG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZmlsZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlucHV0Py5jbGljaz8uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdG9EYXRhVXJpKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KCdlcnJvciBmaWxlIHJlYWQnKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmFib3J0ID0gKCkgPT4gcmVqZWN0KCdhYm9ydCBmaWxlIHJlYWQnKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlcj8ucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b0ltYWdlKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gc3JjO1xuICAgICAgICAgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpbWFnZSk7XG4gICAgICAgICAgICBpbWFnZS5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY2FsZUltYWdlKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBpbWFnZT8ud2lkdGggPz8gMDtcbiAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBpbWFnZT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgICAgY29uc3QgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShjYW52YXMsICd3aWR0aCcsIHRoaXMud2lkdGggPz8gaW1hZ2VXaWR0aCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KGNhbnZhcywgJ2hlaWdodCcsIHRoaXMuaGVpZ2h0ID8/IGltYWdlSGVpZ2h0KTtcblxuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgY29uc3Qgc2NhbGVYID0gY2FudmFzLndpZHRoIC8gaW1hZ2VXaWR0aDtcbiAgICAgICAgY29uc3Qgc2NhbGVZID0gY2FudmFzLmhlaWdodCAvIGltYWdlSGVpZ2h0O1xuICAgICAgICBjb25zdCBzY2FsZSA9IHRoaXMuZ2V0U2NhbGVCeU1vZGUoc2NhbGVYLCBzY2FsZVkpO1xuXG4gICAgICAgIGNvbnN0IHNjYWxlZFdpZHRoID0gaW1hZ2VXaWR0aCAqIHNjYWxlO1xuICAgICAgICBjb25zdCBzY2FsZWRIZWlnaHQgPSBpbWFnZUhlaWdodCAqIHNjYWxlO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gKGNhbnZhcy53aWR0aCAtIHNjYWxlZFdpZHRoKSAvIDI7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSAoY2FudmFzLmhlaWdodCAtIHNjYWxlZEhlaWdodCkgLyAyO1xuXG4gICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgb2Zmc2V0WCwgb2Zmc2V0WSwgc2NhbGVkV2lkdGgsIHNjYWxlZEhlaWdodCk7XG5cbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0RXhwb3J0VHlwZSgpO1xuICAgICAgICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCh0eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4cG9ydFR5cGUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgICAgICAgICBjYXNlICdwbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjYWxlQnlNb2RlKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdhc3BlY3QtZmlsbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KHgsIHkpO1xuICAgICAgICAgICAgY2FzZSAnYXNwZWN0LWZpdCc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbih4LCB5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU5hbWUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UuanBnJztcbiAgICAgICAgICAgIGNhc2UgJ3BuZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS5wbmcnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlJztcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXVwbG9hZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDOzs7O0FBUS9HLE1BQU0sT0FBTyxhQUFhO0lBWUY7SUFDQTtJQUNBO0lBWnBCLFVBQVU7SUFDd0QsS0FBSyxHQUFrQixJQUFJLENBQUM7SUFDM0IsTUFBTSxHQUFrQixJQUFJLENBQUM7SUFDM0QsSUFBSSxHQUFpQyxZQUFZLENBQUM7SUFDbEQsSUFBSSxHQUFrQixLQUFLLENBQUM7SUFFakUsV0FBVztJQUNELFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3ZDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTVDLFlBQW9CLE1BQWEsRUFDYixTQUFtQixFQUNuQixTQUFvQjtRQUZwQixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQ3hDLENBQUM7SUFHRCxLQUFLLENBQUMsT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FB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Z0JBQzVCLElBQUk7c0JBQXhDLEtBQUs7dUJBQUMsRUFBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUM7Z0JBQ0UsSUFBSTtzQkFBeEMsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBQztnQkFHekIsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBUUQsT0FBTztzQkFEWixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBudW1iZXJBdHRyaWJ1dGUsIE91dHB1dCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge0ZpbGVzfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW2JiSW1hZ2VVcGxvYWRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiSW1hZ2VVcGxvYWQge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCh7YWxpYXM6ICdiYkltYWdlVXBsb2FkV2lkdGgnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pIHdpZHRoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZEhlaWdodCcsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlfSkgaGVpZ2h0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZE1vZGUnfSkgbW9kZTogJ2FzcGVjdC1maXQnIHwgJ2FzcGVjdC1maWxsJyA9ICdhc3BlY3QtZml0JztcbiAgICBASW5wdXQoe2FsaWFzOiAnYmJJbWFnZVVwbG9hZFR5cGUnfSkgdHlwZTogJ3BuZycgfCAnanBnJyA9ICdwbmcnO1xuXG4gICAgLy8gT3V0cHV0cy5cbiAgICBAT3V0cHV0KCkgb25EYXRhVXJpID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIG9uRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZpbGVzOiBGaWxlcyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBhc3luYyBvbkNsaWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGaWxlID0gYXdhaXQgdGhpcy5vcGVuRmlsZVBpY2tlcigpO1xuICAgICAgICBjb25zdCBkYXRhVXJpID0gYXdhaXQgdGhpcy50b0RhdGFVcmkob3JpZ2luYWxGaWxlKTtcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBhd2FpdCB0aGlzLnRvSW1hZ2UoZGF0YVVyaSk7XG4gICAgICAgIGNvbnN0IHNjYWxlZERhdGFVcmkgPSB0aGlzLnNjYWxlSW1hZ2UoaW1hZ2UpO1xuICAgICAgICB0aGlzLm9uRGF0YVVyaS5lbWl0KHNjYWxlZERhdGFVcmkpO1xuXG4gICAgICAgIGlmICh0aGlzLm9uRmlsZT8ub2JzZXJ2ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZpbGVOYW1lKCk7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5fZmlsZXMuZnJvbURhdGFVcmkoc2NhbGVkRGF0YVVyaSwgbmFtZSk7XG4gICAgICAgICAgICB0aGlzLm9uRmlsZS5lbWl0KGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRmlsZVBpY2tlcigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEZpbGU+KHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoaW5wdXQsICd0eXBlJywgJ2ZpbGUnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KGlucHV0LCAnYWNjZXB0JywgJ2ltYWdlL3BuZyxpbWFnZS9qcGVnJyk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKGlucHV0LCAnY2hhbmdlJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50Py50YXJnZXQ/LmZpbGVzID8/IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcz8uWzBdID8/IG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZmlsZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlucHV0Py5jbGljaz8uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdG9EYXRhVXJpKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KCdlcnJvciBmaWxlIHJlYWQnKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmFib3J0ID0gKCkgPT4gcmVqZWN0KCdhYm9ydCBmaWxlIHJlYWQnKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlcj8ucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b0ltYWdlKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gc3JjO1xuICAgICAgICAgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpbWFnZSk7XG4gICAgICAgICAgICBpbWFnZS5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY2FsZUltYWdlKGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBpbWFnZT8ud2lkdGggPz8gMDtcbiAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBpbWFnZT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgICAgY29uc3QgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShjYW52YXMsICd3aWR0aCcsIHRoaXMud2lkdGggPz8gaW1hZ2VXaWR0aCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KGNhbnZhcywgJ2hlaWdodCcsIHRoaXMuaGVpZ2h0ID8/IGltYWdlSGVpZ2h0KTtcblxuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgY29uc3Qgc2NhbGVYID0gY2FudmFzLndpZHRoIC8gaW1hZ2VXaWR0aDtcbiAgICAgICAgY29uc3Qgc2NhbGVZID0gY2FudmFzLmhlaWdodCAvIGltYWdlSGVpZ2h0O1xuICAgICAgICBjb25zdCBzY2FsZSA9IHRoaXMuZ2V0U2NhbGVCeU1vZGUoc2NhbGVYLCBzY2FsZVkpO1xuXG4gICAgICAgIGNvbnN0IHNjYWxlZFdpZHRoID0gaW1hZ2VXaWR0aCAqIHNjYWxlO1xuICAgICAgICBjb25zdCBzY2FsZWRIZWlnaHQgPSBpbWFnZUhlaWdodCAqIHNjYWxlO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gKGNhbnZhcy53aWR0aCAtIHNjYWxlZFdpZHRoKSAvIDI7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSAoY2FudmFzLmhlaWdodCAtIHNjYWxlZEhlaWdodCkgLyAyO1xuXG4gICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgb2Zmc2V0WCwgb2Zmc2V0WSwgc2NhbGVkV2lkdGgsIHNjYWxlZEhlaWdodCk7XG5cbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0RXhwb3J0VHlwZSgpO1xuICAgICAgICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCh0eXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4cG9ydFR5cGUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgICAgICAgICBjYXNlICdwbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjYWxlQnlNb2RlKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdhc3BlY3QtZmlsbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KHgsIHkpO1xuICAgICAgICAgICAgY2FzZSAnYXNwZWN0LWZpdCc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbih4LCB5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU5hbWUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnaW1hZ2UuanBnJztcbiAgICAgICAgICAgIGNhc2UgJ3BuZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZS5wbmcnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlJztcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
@@ -3,10 +3,11 @@ import { Validators } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../form-control/form-control.component";
5
5
  export class BbInput {
6
+ _elementRef;
7
+ _formControl;
6
8
  constructor(_elementRef, _formControl) {
7
9
  this._elementRef = _elementRef;
8
10
  this._formControl = _formControl;
9
- this._required = false;
10
11
  }
11
12
  focus() {
12
13
  return this._elementRef?.nativeElement?.focus();
@@ -21,8 +22,9 @@ export class BbInput {
21
22
  set required(value) {
22
23
  this._required = value;
23
24
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i1.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.0", type: BbInput, isStandalone: true, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: { required: ["required", "required", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "attr.required": "this.required" } }, ngImport: i0 }); }
25
+ _required = false;
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i1.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
27
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.0", type: BbInput, isStandalone: true, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: { required: ["required", "required", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "attr.required": "this.required" } }, ngImport: i0 });
26
28
  }
27
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbInput, decorators: [{
28
30
  type: Directive,
@@ -44,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
44
46
  type: HostBinding,
45
47
  args: ['attr.required']
46
48
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQWMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTFDLE1BQU0sT0FBTyxPQUFPO0lBRWhCLFlBQW9CLFdBQXVCLEVBQ0gsWUFBMkI7UUFEL0MsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDSCxpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQXVCM0QsY0FBUyxHQUFZLEtBQUssQ0FBQztJQXRCbkMsQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFFSSxRQUFRO1FBQ1IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUYsT0FBTyxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7OEdBeEJRLE9BQU87a0dBQVAsT0FBTyxpSUFlRyxnQkFBZ0I7OzJGQWYxQixPQUFPO2tCQUpuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBSWdCLFFBQVE7OzBCQUFJLElBQUk7eUNBUXpCLEVBQUU7c0JBREwsV0FBVzt1QkFBQyxTQUFTO2dCQU9sQixRQUFRO3NCQUZYLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7O3NCQUNuQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdCwgSG9zdEJpbmRpbmcsIElucHV0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4uL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7VmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2JiSW5wdXRdLHRleHRhcmVhW2JiSW5wdXRdLHNlbGVjdFtiYklucHV0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYklucHV0IHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9mb3JtQ29udHJvbDogQmJGb3JtQ29udHJvbCkge1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db250cm9sPy5sYWJlbElkID8/IG51bGw7XG4gICAgfVxuXG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yZXF1aXJlZCcpXG4gICAgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICBjb25zdCBoYXNWYWxpZGF0b3IgPSB0aGlzLl9mb3JtQ29udHJvbD8ubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIHJldHVybiBoYXNWYWxpZGF0b3IgfHwgdGhpcy5fcmVxdWlyZWQgPT09IHRydWUgPyB0cnVlIDogbnVsbDtcbiAgICB9XG5cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQWMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTFDLE1BQU0sT0FBTyxPQUFPO0lBRUk7SUFDb0I7SUFEeEMsWUFBb0IsV0FBdUIsRUFDSCxZQUEyQjtRQUQvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNILGlCQUFZLEdBQVosWUFBWSxDQUFlO0lBQ25FLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFDSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDOUMsQ0FBQztJQUVELElBRUksUUFBUTtRQUNSLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlGLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU8sU0FBUyxHQUFZLEtBQUssQ0FBQzt1R0ExQjFCLE9BQU87MkZBQVAsT0FBTyxpSUFlRyxnQkFBZ0I7OzJGQWYxQixPQUFPO2tCQUpuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrREFBa0Q7b0JBQzVELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBSWdCLFFBQVE7OzBCQUFJLElBQUk7eUNBUXpCLEVBQUU7c0JBREwsV0FBVzt1QkFBQyxTQUFTO2dCQU9sQixRQUFRO3NCQUZYLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7O3NCQUNuQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdCwgSG9zdEJpbmRpbmcsIElucHV0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4uL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7VmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2JiSW5wdXRdLHRleHRhcmVhW2JiSW5wdXRdLHNlbGVjdFtiYklucHV0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYklucHV0IHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9mb3JtQ29udHJvbDogQmJGb3JtQ29udHJvbCkge1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db250cm9sPy5sYWJlbElkID8/IG51bGw7XG4gICAgfVxuXG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yZXF1aXJlZCcpXG4gICAgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICBjb25zdCBoYXNWYWxpZGF0b3IgPSB0aGlzLl9mb3JtQ29udHJvbD8ubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIHJldHVybiBoYXNWYWxpZGF0b3IgfHwgdGhpcy5fcmVxdWlyZWQgPT09IHRydWUgPyB0cnVlIDogbnVsbDtcbiAgICB9XG5cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG59XG4iXX0=
@@ -67,8 +67,8 @@ export class ElementsModule {
67
67
  ]
68
68
  };
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
71
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, imports: [
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
71
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, imports: [
72
72
  // Directives.
73
73
  BbFormError,
74
74
  BbFormSubmit,
@@ -128,9 +128,9 @@ export class ElementsModule {
128
128
  BbMultiFileControl,
129
129
  BbFilePicker,
130
130
  BbImagePicker,
131
- BbDatePicker] }); }
132
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, imports: [BbMultiFileControl,
133
- BbDatePicker] }); }
131
+ BbDatePicker] });
132
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, imports: [BbMultiFileControl,
133
+ BbDatePicker] });
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ElementsModule, decorators: [{
136
136
  type: NgModule,
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
139
139
  exports: [...IMPORTS_EXPORTS]
140
140
  }]
141
141
  }] });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRXpDLE1BQU0sZUFBZSxHQUFHO0lBQ3BCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7SUFDZixPQUFPO0lBQ1AsUUFBUTtJQUNSLFFBQVE7SUFDUixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsV0FBVztJQUNYLGNBQWM7SUFDZCxNQUFNO0lBQ04sY0FBYztJQUNkLFFBQVE7SUFDUixRQUFRO0lBQ1IsU0FBUztJQUNULE1BQU07SUFDTixhQUFhO0lBQ2IsV0FBVztJQUNYLFVBQVU7SUFDVixlQUFlO0lBQ2YsWUFBWTtJQUNaLGFBQWE7SUFDYixRQUFRO0lBQ1Isa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2IsWUFBWTtDQUNmLENBQUM7QUFNRixNQUFNLE9BQU8sY0FBYztJQUV2QixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1AscUJBQXFCLEVBQUU7YUFDMUI7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0FUUSxjQUFjOytHQUFkLGNBQWM7WUFwQ3ZCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixPQUFPO1lBQ1AsUUFBUTtZQUNSLFFBQVE7WUFDUixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFNBQVM7WUFDVCxVQUFVO1lBQ1YsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1lBQ04sY0FBYztZQUNkLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULE1BQU07WUFDTixhQUFhO1lBQ2IsV0FBVztZQUNYLFVBQVU7WUFDVixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixRQUFRO1lBQ1Isa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixhQUFhO1lBQ2IsWUFBWTtZQTdCWixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixlQUFlO1lBQ2YsT0FBTztZQUNQLFFBQVE7WUFDUixRQUFRO1lBQ1IsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7WUFDWCxjQUFjO1lBQ2QsTUFBTTtZQUNOLGNBQWM7WUFDZCxRQUFRO1lBQ1IsUUFBUTtZQUNSLFNBQVM7WUFDVCxNQUFNO1lBQ04sYUFBYTtZQUNiLFdBQVc7WUFDWCxVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVk7K0dBT0gsY0FBYyxZQVZ2QixrQkFBa0I7WUFHbEIsWUFBWTs7MkZBT0gsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYk11bHRpRmlsZUNvbnRyb2x9IGZyb20gJy4vbXVsdGktZmlsZS1jb250cm9sL211bHRpLWZpbGUtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkV4dHJhRXJyb3JDb250cm9sc30gZnJvbSAnLi9kaXJlY3RpdmVzL2V4dHJhLWVycm9yLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiQ2hlY2tib3hHcm91cH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1TdWJtaXR0ZXJ9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkltYWdlUGlja2VyfSBmcm9tICcuL2ltYWdlLXBpY2tlci9pbWFnZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJGb3JtQ29udHJvbH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiUmFkaW9CdXR0b259IGZyb20gJy4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkltYWdlVXBsb2FkfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW1hZ2UtdXBsb2FkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRmlsZVBpY2tlcn0gZnJvbSAnLi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkRhdGVQaWNrZXJ9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJSYWRpb0dyb3VwfSBmcm9tICcuL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiUHJlZml4LCBCYlN1ZmZpeH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybUdyb3VwfSBmcm9tICcuL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1FcnJvcn0gZnJvbSAnLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlJlbGF0aXZlVGltZX0gZnJvbSAnLi9waXBlcy9yZWxhdGl2ZS10aW1lLnBpcGUnO1xuaW1wb3J0IHtCYkNoZWNrYm94fSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge3Byb3ZpZGVFbGVtZW50c0NvbmZpZ30gZnJvbSAnLi9lbGVtZW50cy5jb25maWcnO1xuaW1wb3J0IHtCYlNwaW5uZXJ9IGZyb20gJy4vc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiSW5wdXR9IGZyb20gJy4vZGlyZWN0aXZlcy9pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkZpbGVJbWFnZX0gZnJvbSAnLi9waXBlcy9maWxlLWltYWdlLnBpcGUnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtCYkljb259IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGF0ZX0gZnJvbSAnLi9waXBlcy9kYXRlLnBpcGUnO1xuXG5jb25zdCBJTVBPUlRTX0VYUE9SVFMgPSBbXG4gICAgLy8gRGlyZWN0aXZlcy5cbiAgICBCYkZvcm1FcnJvcixcbiAgICBCYkZvcm1TdWJtaXQsXG4gICAgQmJGb3JtU3VibWl0dGVyLFxuICAgIEJiSW5wdXQsXG4gICAgQmJQcmVmaXgsXG4gICAgQmJTdWZmaXgsXG4gICAgQmJJbWFnZVVwbG9hZCxcbiAgICBCYkV4dHJhRXJyb3JDb250cm9scyxcbiAgICAvLyBQaXBlcy5cbiAgICBCYkZpbGVTaXplLFxuICAgIEJiRmlsZUltYWdlLFxuICAgIEJiUmVsYXRpdmVUaW1lLFxuICAgIEJiRGF0ZSxcbiAgICAvLyBDb21wb25lbnRzLlxuICAgIEJiQnV0dG9uLFxuICAgIEJiQW5jaG9yLFxuICAgIEJiU3Bpbm5lcixcbiAgICBCYkljb24sXG4gICAgQmJGb3JtQ29udHJvbCxcbiAgICBCYkZvcm1Hcm91cCxcbiAgICBCYkNoZWNrYm94LFxuICAgIEJiQ2hlY2tib3hHcm91cCxcbiAgICBCYlJhZGlvR3JvdXAsXG4gICAgQmJSYWRpb0J1dHRvbixcbiAgICBCYkF2YXRhcixcbiAgICBCYk11bHRpRmlsZUNvbnRyb2wsXG4gICAgQmJGaWxlUGlja2VyLFxuICAgIEJiSW1hZ2VQaWNrZXIsXG4gICAgQmJEYXRlUGlja2VyXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5JTVBPUlRTX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5JTVBPUlRTX0VYUE9SVFNdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RWxlbWVudHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBFbGVtZW50c01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHByb3ZpZGVFbGVtZW50c0NvbmZpZygpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNyRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRXpDLE1BQU0sZUFBZSxHQUFHO0lBQ3BCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7SUFDZixPQUFPO0lBQ1AsUUFBUTtJQUNSLFFBQVE7SUFDUixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsV0FBVztJQUNYLGNBQWM7SUFDZCxNQUFNO0lBQ04sY0FBYztJQUNkLFFBQVE7SUFDUixRQUFRO0lBQ1IsU0FBUztJQUNULE1BQU07SUFDTixhQUFhO0lBQ2IsV0FBVztJQUNYLFVBQVU7SUFDVixlQUFlO0lBQ2YsWUFBWTtJQUNaLGFBQWE7SUFDYixRQUFRO0lBQ1Isa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2IsWUFBWTtDQUNmLENBQUM7QUFNRixNQUFNLE9BQU8sY0FBYztJQUV2QixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1AscUJBQXFCLEVBQUU7YUFDMUI7U0FDSixDQUFDO0lBQ04sQ0FBQzt1R0FUUSxjQUFjO3dHQUFkLGNBQWM7WUFwQ3ZCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixPQUFPO1lBQ1AsUUFBUTtZQUNSLFFBQVE7WUFDUixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFNBQVM7WUFDVCxVQUFVO1lBQ1YsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1lBQ04sY0FBYztZQUNkLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULE1BQU07WUFDTixhQUFhO1lBQ2IsV0FBVztZQUNYLFVBQVU7WUFDVixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixRQUFRO1lBQ1Isa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixhQUFhO1lBQ2IsWUFBWTtZQTdCWixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixlQUFlO1lBQ2YsT0FBTztZQUNQLFFBQVE7WUFDUixRQUFRO1lBQ1IsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7WUFDWCxjQUFjO1lBQ2QsTUFBTTtZQUNOLGNBQWM7WUFDZCxRQUFRO1lBQ1IsUUFBUTtZQUNSLFNBQVM7WUFDVCxNQUFNO1lBQ04sYUFBYTtZQUNiLFdBQVc7WUFDWCxVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2IsUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVk7d0dBT0gsY0FBYyxZQVZ2QixrQkFBa0I7WUFHbEIsWUFBWTs7MkZBT0gsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYk11bHRpRmlsZUNvbnRyb2x9IGZyb20gJy4vbXVsdGktZmlsZS1jb250cm9sL211bHRpLWZpbGUtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkV4dHJhRXJyb3JDb250cm9sc30gZnJvbSAnLi9kaXJlY3RpdmVzL2V4dHJhLWVycm9yLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiQ2hlY2tib3hHcm91cH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1TdWJtaXR0ZXJ9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkltYWdlUGlja2VyfSBmcm9tICcuL2ltYWdlLXBpY2tlci9pbWFnZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJGb3JtQ29udHJvbH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiUmFkaW9CdXR0b259IGZyb20gJy4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkltYWdlVXBsb2FkfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW1hZ2UtdXBsb2FkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRmlsZVBpY2tlcn0gZnJvbSAnLi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkRhdGVQaWNrZXJ9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJSYWRpb0dyb3VwfSBmcm9tICcuL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiUHJlZml4LCBCYlN1ZmZpeH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybUdyb3VwfSBmcm9tICcuL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1FcnJvcn0gZnJvbSAnLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlJlbGF0aXZlVGltZX0gZnJvbSAnLi9waXBlcy9yZWxhdGl2ZS10aW1lLnBpcGUnO1xuaW1wb3J0IHtCYkNoZWNrYm94fSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge3Byb3ZpZGVFbGVtZW50c0NvbmZpZ30gZnJvbSAnLi9lbGVtZW50cy5jb25maWcnO1xuaW1wb3J0IHtCYlNwaW5uZXJ9IGZyb20gJy4vc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiSW5wdXR9IGZyb20gJy4vZGlyZWN0aXZlcy9pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkZpbGVJbWFnZX0gZnJvbSAnLi9waXBlcy9maWxlLWltYWdlLnBpcGUnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtCYkljb259IGZyb20gJy4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGF0ZX0gZnJvbSAnLi9waXBlcy9kYXRlLnBpcGUnO1xuXG5jb25zdCBJTVBPUlRTX0VYUE9SVFMgPSBbXG4gICAgLy8gRGlyZWN0aXZlcy5cbiAgICBCYkZvcm1FcnJvcixcbiAgICBCYkZvcm1TdWJtaXQsXG4gICAgQmJGb3JtU3VibWl0dGVyLFxuICAgIEJiSW5wdXQsXG4gICAgQmJQcmVmaXgsXG4gICAgQmJTdWZmaXgsXG4gICAgQmJJbWFnZVVwbG9hZCxcbiAgICBCYkV4dHJhRXJyb3JDb250cm9scyxcbiAgICAvLyBQaXBlcy5cbiAgICBCYkZpbGVTaXplLFxuICAgIEJiRmlsZUltYWdlLFxuICAgIEJiUmVsYXRpdmVUaW1lLFxuICAgIEJiRGF0ZSxcbiAgICAvLyBDb21wb25lbnRzLlxuICAgIEJiQnV0dG9uLFxuICAgIEJiQW5jaG9yLFxuICAgIEJiU3Bpbm5lcixcbiAgICBCYkljb24sXG4gICAgQmJGb3JtQ29udHJvbCxcbiAgICBCYkZvcm1Hcm91cCxcbiAgICBCYkNoZWNrYm94LFxuICAgIEJiQ2hlY2tib3hHcm91cCxcbiAgICBCYlJhZGlvR3JvdXAsXG4gICAgQmJSYWRpb0J1dHRvbixcbiAgICBCYkF2YXRhcixcbiAgICBCYk11bHRpRmlsZUNvbnRyb2wsXG4gICAgQmJGaWxlUGlja2VyLFxuICAgIEJiSW1hZ2VQaWNrZXIsXG4gICAgQmJEYXRlUGlja2VyXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5JTVBPUlRTX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5JTVBPUlRTX0VYUE9SVFNdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RWxlbWVudHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBFbGVtZW50c01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHByb3ZpZGVFbGVtZW50c0NvbmZpZygpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
@@ -11,57 +11,33 @@ import { BehaviorSubject } from 'rxjs';
11
11
  import * as i0 from "@angular/core";
12
12
  let nextUniqueId = 0;
13
13
  export class BbFilePicker {
14
- constructor() {
15
- // Readonly data.
16
- this.labelId = `bb-file-picker-${nextUniqueId++}`;
17
- // Inputs.
18
- this.label = null;
19
- this.hint = null;
20
- this.accept = null;
21
- this.showImages = true;
22
- this.allowDragging = true;
23
- this.grouped = false;
24
- this.required = false;
25
- this.disabled = false;
26
- this.hideErrors = false;
27
- // State.
28
- this.hovered = false;
29
- this.error = false;
30
- this.value$ = new BehaviorSubject({});
31
- // Callbacks.
32
- this.onTouchedCallback = () => ({});
33
- this.onChangeCallback = () => ({});
34
- this.valueChange = new EventEmitter();
35
- this.saveFile = (files) => {
36
- // Validate the files exist.
37
- if (!files) {
38
- return;
39
- }
40
- // Retrieve the first file.
41
- const file = files[0];
42
- // Validate the first file exists.
43
- if (!file) {
44
- return;
45
- }
46
- // Save the file.
47
- this.value = file;
48
- };
49
- this.getFileListFromEvent = (event) => {
50
- const element = event.target;
51
- if (!element) {
52
- return null;
53
- }
54
- return element.files;
55
- };
56
- this.preventDefault = (event) => {
57
- event.preventDefault();
58
- event.stopPropagation();
59
- };
60
- }
14
+ // Readonly data.
15
+ labelId = `bb-file-picker-${nextUniqueId++}`;
16
+ // Views.
17
+ fileInput;
18
+ extraTemplate;
19
+ // Inputs.
20
+ label = null;
21
+ hint = null;
22
+ accept = null;
23
+ showImages = true;
24
+ allowDragging = true;
25
+ grouped = false;
26
+ required = false;
27
+ disabled = false;
28
+ hideErrors = false;
29
+ // State.
30
+ hovered = false;
31
+ error = false;
32
+ value$ = new BehaviorSubject({});
33
+ // Callbacks.
34
+ onTouchedCallback = () => ({});
35
+ onChangeCallback = () => ({});
61
36
  get value() {
62
37
  const { file } = this.value$.getValue();
63
38
  return file;
64
39
  }
40
+ valueChange = new EventEmitter();
65
41
  set value(value) {
66
42
  this.value$.next({ file: value });
67
43
  this.valueChange.emit(value);
@@ -148,8 +124,33 @@ export class BbFilePicker {
148
124
  invalidFileType: true
149
125
  };
150
126
  }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFilePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbFilePicker, isStandalone: true, selector: "bb-file-picker", inputs: { label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", grouped: ["grouped", "grouped", booleanAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
127
+ saveFile = (files) => {
128
+ // Validate the files exist.
129
+ if (!files) {
130
+ return;
131
+ }
132
+ // Retrieve the first file.
133
+ const file = files[0];
134
+ // Validate the first file exists.
135
+ if (!file) {
136
+ return;
137
+ }
138
+ // Save the file.
139
+ this.value = file;
140
+ };
141
+ getFileListFromEvent = (event) => {
142
+ const element = event.target;
143
+ if (!element) {
144
+ return null;
145
+ }
146
+ return element.files;
147
+ };
148
+ preventDefault = (event) => {
149
+ event.preventDefault();
150
+ event.stopPropagation();
151
+ };
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFilePicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbFilePicker, isStandalone: true, selector: "bb-file-picker", inputs: { label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", grouped: ["grouped", "grouped", booleanAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
153
154
  {
154
155
  provide: NG_VALUE_ACCESSOR,
155
156
  useExisting: forwardRef(() => BbFilePicker),
@@ -170,7 +171,7 @@ export class BbFilePicker {
170
171
  animate('200ms', style({ opacity: 0 }))
171
172
  ])
172
173
  ])
173
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
174
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
174
175
  }
175
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbFilePicker, decorators: [{
176
177
  type: Component,
@@ -245,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
245
246
  type: HostListener,
246
247
  args: ['drop', ['$event']]
247
248
  }] } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9DLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUVyQyxJQUFJLFlBQVks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LEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDZ0MsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0UsVUFBVTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFZaEMsS0FBSztzQkFEUixLQUFLO2dCQU1JLFdBQVc7c0JBQXBCLE1BQU07Z0JBU1AsTUFBTTtzQkFGTCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7O3NCQUMzQyxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7Z0JBYzlDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QmJGb3JtRXJyb3J9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7QmJUZW1wbGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuaW1wb3J0IHtCYkZpbGVJbWFnZX0gZnJvbSAnLi4vcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmltcG9ydCB7QmJGaWxlU2l6ZX0gZnJvbSAnLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1maWxlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmJGaWxlUGlja2VyKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQmJGaWxlUGlja2VyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItZmlsZS1waWNrZXInLFxuICAgICAgICAnW2NsYXNzLnJlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1tjbGFzcy5ncm91cGVkXSc6ICdncm91cGVkJyxcbiAgICAgICAgJ1tjbGFzcy5ob3ZlcmVkXSc6ICdob3ZlcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5lcnJvcl0nOiAnZXJyb3InXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2JiRmlsZVBpY2tlckltYWdlQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjAwbXMnLCBzdHlsZSh7b3BhY2l0eTogMX0pKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjAwbXMnLCBzdHlsZSh7b3BhY2l0eTogMH0pKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGltcG9ydHM6IFtCYlRlbXBsYXRlLCBBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXQsIEJiTG9jYWxpemUsIEJiRm9ybUVycm9yLCBCYkZpbGVTaXplLCBCYkZpbGVJbWFnZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkZpbGVQaWNrZXIgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICAvLyBSZWFkb25seSBkYXRhLlxuICAgIHJlYWRvbmx5IGxhYmVsSWQ6IHN0cmluZyA9IGBiYi1maWxlLXBpY2tlci0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgZmlsZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhpbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNob3dJbWFnZXM6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGFsbG93RHJhZ2dpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZ3JvdXBlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBoaWRlRXJyb3JzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBob3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgZmlsZT86IEZpbGUgfT4oe30pO1xuXG4gICAgLy8gQ2FsbGJhY2tzLlxuICAgIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcbiAgICBvbkNoYW5nZUNhbGxiYWNrOiAoXzogRmlsZSB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIGNvbnN0IHtmaWxlfSA9IHRoaXMudmFsdWUkLmdldFZhbHVlKCk7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IG51bGw+KCk7XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IEZpbGUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUkLm5leHQoe2ZpbGU6IHZhbHVlfSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCcsICd0cnVlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnLCAnZmFsc2UnXSlcbiAgICBvbkRyYWcoZXZlbnQ6IEV2ZW50LCBpc0hvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGNhbiBzdXBwb3J0IGRyYWcuXG4gICAgICAgIGlmICghdGhpcy5hbGxvd0RyYWdnaW5nIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgZXZlbnQgYWN0aW9uXG4gICAgICAgIC8vIGFuZCBzdGFydCB0aGUgaG92ZXJpbmcuXG4gICAgICAgIHRoaXMucHJldmVudERlZmF1bHQoZXZlbnQpO1xuICAgICAgICB0aGlzLmhvdmVyZWQgPSBpc0hvdmVyZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgaW5wdXQgY2FuIHN1cHBvcnQgZHJhZy5cbiAgICAgICAgaWYgKCF0aGlzLmFsbG93RHJhZ2dpbmcgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJldmVudCB0aGUgZGVmYXVsdCBldmVudCBhY3Rpb25cbiAgICAgICAgLy8gYW5kIHN0b3AgdGhlIGhvdmVyaW5nLlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gZmFsc2U7XG5cbiAgICAgICAgLy8gU2F2ZSB0aGUgZmlsZS5cbiAgICAgICAgdGhpcy5zYXZlRmlsZShldmVudFsnZGF0YVRyYW5zZmVyJ10uZmlsZXMpO1xuXG4gICAgICAgIC8vIFJ1biB0aGUgb24gY2hhbmdlIGNhbGxiYWNrLlxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgb25CdXR0b25QcmVzc2VkKGZpbGU/OiBGaWxlKSB7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5GaWxlUGlja2VyKCk7XG4gICAgfVxuXG4gICAgb3BlbkZpbGVQaWNrZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGVJbnB1dFxuICAgICAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGlja1xuICAgICAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uRmlsZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGlzIG5vdCBkaXNhYmxlZC5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4dHJhY3QgdGhlIGZpbGUgZnJvbSB0aGUgZXZlbnQuXG4gICAgICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5nZXRGaWxlTGlzdEZyb21FdmVudChldmVudCk7XG5cbiAgICAgICAgLy8gU2F2ZSB0aGUgZmlsZS5cbiAgICAgICAgdGhpcy5zYXZlRmlsZShmaWxlTGlzdCk7XG5cbiAgICAgICAgLy8gUnVuIHRoZSBvbiBjaGFuZ2UgY2FsbGJhY2suXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcblxuICAgICAgICAvLyBDbGVhciB0aGUgZmlsZSBpbnB1dC5cbiAgICAgICAgaWYgKHRoaXMuZmlsZUlucHV0ICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IEZpbGUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG1ldGhvZDogKF86IEZpbGUgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChtZXRob2Q6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgb25FcnJvckNoYW5nZShlcnJvcjogeyB0b2tlbjogc3RyaW5nLCBkYXRhPzogYW55IH0gfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAhIWVycm9yO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKHt2YWx1ZX06IEZvcm1Db250cm9sPEZpbGU+KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlZ2V4U3RyaW5nID0gKHRoaXMuYWNjZXB0IHx8ICcqJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXCovZywgJy5cXConKVxuICAgICAgICAgICAgLnJlcGxhY2UoLywvZywgJ3wnKTtcbiAgICAgICAgY29uc3QgbWltZVR5cGVSZWdleCA9IG5ldyBSZWdFeHAocmVnZXhTdHJpbmcpO1xuXG4gICAgICAgIGNvbnN0IGlzTm90VmFsaWQgPSAodHlwZW9mIEZpbGUgPT09ICd1bmRlZmluZWQnKSB8fCAhKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkgfHwgIW1pbWVUeXBlUmVnZXgudGVzdCh2YWx1ZT8udHlwZSk7XG4gICAgICAgIHJldHVybiBpc05vdFZhbGlkICYmIHtcbiAgICAgICAgICAgIGludmFsaWRGaWxlVHlwZTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUZpbGUgPSAoZmlsZXM/OiBGaWxlTGlzdCkgPT4ge1xuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgZmlsZXMgZXhpc3QuXG4gICAgICAgIGlmICghZmlsZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHJpZXZlIHRoZSBmaXJzdCBmaWxlLlxuICAgICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGZpcnN0IGZpbGUgZXhpc3RzLlxuICAgICAgICBpZiAoIWZpbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMudmFsdWUgPSBmaWxlO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGdldEZpbGVMaXN0RnJvbUV2ZW50ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbGVtZW50LmZpbGVzO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHByZXZlbnREZWZhdWx0ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuXG59XG4iLCI8IS0tIFRoZSBsYWJlbCBvZiB0aGUgaW5wdXQuIC0tPlxuQGlmIChsYWJlbDsgYXMgbGFiZWxDb250ZW50KSB7XG4gICAgPGxhYmVsIFtmb3JdPVwibGFiZWxJZFwiXG4gICAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItbGFiZWxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImxhYmVsQ29udGVudFwiPnt7IGxhYmVsQ29udGVudCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9sYWJlbD5cbn1cblxuPCEtLSBUaGUgaW5wdXQgdGhhdCBjYW4gb3BlbiB0aGUgZmlsZSBwaWNrZXIuIC0tPlxuPGlucHV0ICNmaWxlSW5wdXRcbiAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWlucHV0XCJcbiAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgdGFiaW5kZXg9XCItMVwiPlxuXG5AaWYgKHZhbHVlJCB8IGFzeW5jOyBhcyBkYXRhKSB7XG4gICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBUaGUgYnV0dG9uIHRoYXQgYWNjZXB0cyBmaWxlcy4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmRlc3RydWN0aXZlXT1cIiEhZGF0YT8uZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zdGFuZGFsb25lXT1cIiFhbGxvd0RyYWdnaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImxhYmVsSWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25QcmVzc2VkKGRhdGE/LmZpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/LmZpbGUgPyBjbG9zZUljb24gOiB1cGxvYWRJY29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAge3sgKGRhdGE/LmZpbGUgPyAnZmlsZS1waWNrZXIucmVtb3ZlJyA6ICdmaWxlLXBpY2tlci5jaG9vc2UnKSB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmIChhbGxvd0RyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLXpvbmVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ2ZpbGUtcGlja2VyLmRyb3AnIHwgYmJMb2NhbGl6ZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKCEhZXh0cmFUZW1wbGF0ZSkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV4dHJhVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGE/LmZpbGV9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKHNob3dJbWFnZXMpIHtcbiAgICAgICAgICAgIEBpZiAoZGF0YT8uZmlsZSB8IGJiRmlsZUltYWdlIHwgYXN5bmM7IGFzIGltYWdlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmItZmlsZS1waWNrZXItaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbQGJiRmlsZVBpY2tlckltYWdlQW5pbWF0aW9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy10b3AuJV09XCJpbWFnZT8uYXNwZWN0UmF0aW8gKiAxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJpbWFnZT8uYmFja2dyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRXh0cmEgaW5mb3JtYXRpb24gb2YgdGhlIGZpbGUuIC0tPlxuICAgICAgICA8ZGl2IFtjbGFzcy52aXNpYmxlXT1cIiEhZGF0YT8uZmlsZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbmZvXCI+XG4gICAgICAgICAgICBAaWYgKGRhdGE/LmZpbGU/Lm5hbWU7IGFzIG5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChkYXRhPy5maWxlPy5zaXplOyBhcyBzaXplKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgc2l6ZSB8IGJiRmlsZVNpemUgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuXG5AaWYgKCFoaWRlRXJyb3JzKSB7XG4gICAgPGJiLWZvcm0tZXJyb3IgKGVycm9yQ2hhbmdlKT1cIm9uRXJyb3JDaGFuZ2UoJGV2ZW50KVwiPjwvYmItZm9ybS1lcnJvcj5cbn1cblxuPCEtLSBUaGUgZmlsZSBwaWNrZXIgaGludC4gLS0+XG5AaWYgKGhpbnQ7IGFzIGhpbnRDb250ZW50KSB7XG4gICAgPHAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1oaW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbYmJUZW1wbGF0ZV09XCJoaW50Q29udGVudFwiPnt7IGhpbnRDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG59XG5cbjwhLS0gVXBsb2FkIGljb24uIC0tPlxuPG5nLXRlbXBsYXRlICN1cGxvYWRJY29uPlxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWljb25cIlxuICAgICAgICAgd2lkdGg9XCIxLjVyZW1cIlxuICAgICAgICAgaGVpZ2h0PVwiMS41cmVtXCJcbiAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIGQ9XCJNMiAxMi41QzIgOS40NiA0LjQ2IDcgNy41IDdIMThjMi4yMSAwIDQgMS43OSA0IDRzLTEuNzkgNC00IDRIOS41YTIuNSAyLjUgMCAwMTAtNUgxN3YySDkuNDFjLS41NSAwLS41NSAxIDAgMUgxOGMxLjEgMCAyLS45IDItMnMtLjktMi0yLTJINy41QzUuNTcgOSA0IDEwLjU3IDQgMTIuNVM1LjU3IDE2IDcuNSAxNkgxN3YySDcuNUM0LjQ2IDE4IDIgMTUuNTQgMiAxMi41elwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZmlsbD1cIm5vbmVcIiBkPVwiTTAgMGgyNHYyNEgwVjB6XCI+PC9wYXRoPlxuICAgIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDbG9zZSBpY29uLiAtLT5cbjxuZy10ZW1wbGF0ZSAjY2xvc2VJY29uPlxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWljb25cIlxuICAgICAgICAgd2lkdGg9XCIxLjVyZW1cIlxuICAgICAgICAgaGVpZ2h0PVwiMS41cmVtXCJcbiAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9DLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUVyQyxJQUFJLFlBQVks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QW5DLFlBQVk7dUJBQUMsT0FBTztnQkFHWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2dDLE9BQU87c0JBQTVDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0UsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFVBQVU7c0JBQS9DLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBWWhDLEtBQUs7c0JBRFIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQVNQLE1BQU07c0JBRkwsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDOztzQkFDM0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2dCQWM5QyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0JiRm9ybUVycm9yfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtCYkxvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge0JiVGVtcGxhdGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3V0aWxzJztcbmltcG9ydCB7QmJGaWxlSW1hZ2V9IGZyb20gJy4uL3BpcGVzL2ZpbGUtaW1hZ2UucGlwZSc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4uL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItZmlsZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiRmlsZVBpY2tlciksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEJiRmlsZVBpY2tlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWZpbGUtcGlja2VyJyxcbiAgICAgICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCcsXG4gICAgICAgICdbY2xhc3MuaG92ZXJlZF0nOiAnaG92ZXJlZCcsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiYkZpbGVQaWNrZXJJbWFnZUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDF9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBpbXBvcnRzOiBbQmJUZW1wbGF0ZSwgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0LCBCYkxvY2FsaXplLCBCYkZvcm1FcnJvciwgQmJGaWxlU2l6ZSwgQmJGaWxlSW1hZ2VdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJGaWxlUGlja2VyIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICByZWFkb25seSBsYWJlbElkOiBzdHJpbmcgPSBgYmItZmlsZS1waWNrZXItJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGZpbGVJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgYWNjZXB0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBzaG93SW1hZ2VzOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhbGxvd0RyYWdnaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGdyb3VwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgaGlkZUVycm9yczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGZpbGU/OiBGaWxlIH0+KHt9KTtcblxuICAgIC8vIENhbGxiYWNrcy5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IEZpbGUgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICBjb25zdCB7ZmlsZX0gPSB0aGlzLnZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBudWxsPigpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlJC5uZXh0KHtmaWxlOiB2YWx1ZX0pO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnLCAndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50JywgJ2ZhbHNlJ10pXG4gICAgb25EcmFnKGV2ZW50OiBFdmVudCwgaXNIb3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBjYW4gc3VwcG9ydCBkcmFnLlxuICAgICAgICBpZiAoIXRoaXMuYWxsb3dEcmFnZ2luZyB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IGV2ZW50IGFjdGlvblxuICAgICAgICAvLyBhbmQgc3RhcnQgdGhlIGhvdmVyaW5nLlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gaXNIb3ZlcmVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGNhbiBzdXBwb3J0IGRyYWcuXG4gICAgICAgIGlmICghdGhpcy5hbGxvd0RyYWdnaW5nIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgZXZlbnQgYWN0aW9uXG4gICAgICAgIC8vIGFuZCBzdG9wIHRoZSBob3ZlcmluZy5cbiAgICAgICAgdGhpcy5wcmV2ZW50RGVmYXVsdChldmVudCk7XG4gICAgICAgIHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZXZlbnRbJ2RhdGFUcmFuc2ZlciddLmZpbGVzKTtcblxuICAgICAgICAvLyBSdW4gdGhlIG9uIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uUHJlc3NlZChmaWxlPzogRmlsZSkge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuRmlsZVBpY2tlcigpO1xuICAgIH1cblxuICAgIG9wZW5GaWxlUGlja2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlSW5wdXRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2tcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBpcyBub3QgZGlzYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHRyYWN0IHRoZSBmaWxlIGZyb20gdGhlIGV2ZW50LlxuICAgICAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuZ2V0RmlsZUxpc3RGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZmlsZUxpc3QpO1xuXG4gICAgICAgIC8vIFJ1biB0aGUgb24gY2hhbmdlIGNhbGxiYWNrLlxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG5cbiAgICAgICAgLy8gQ2xlYXIgdGhlIGZpbGUgaW5wdXQuXG4gICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dCAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShtZXRob2Q6IChfOiBGaWxlIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQobWV0aG9kOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uRXJyb3JDaGFuZ2UoZXJyb3I6IHsgdG9rZW46IHN0cmluZywgZGF0YT86IGFueSB9IHwgbnVsbCkge1xuICAgICAgICB0aGlzLmVycm9yID0gISFlcnJvcjtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSh7dmFsdWV9OiBGb3JtQ29udHJvbDxGaWxlPikge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWdleFN0cmluZyA9ICh0aGlzLmFjY2VwdCB8fCAnKicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csICcuXFwqJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICd8Jyk7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlUmVnZXggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyaW5nKTtcblxuICAgICAgICBjb25zdCBpc05vdFZhbGlkID0gKHR5cGVvZiBGaWxlID09PSAndW5kZWZpbmVkJykgfHwgISh2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHx8ICFtaW1lVHlwZVJlZ2V4LnRlc3QodmFsdWU/LnR5cGUpO1xuICAgICAgICByZXR1cm4gaXNOb3RWYWxpZCAmJiB7XG4gICAgICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVGaWxlID0gKGZpbGVzPzogRmlsZUxpc3QpID0+IHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGZpbGVzIGV4aXN0LlxuICAgICAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgZmlyc3QgZmlsZS5cbiAgICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBmaXJzdCBmaWxlIGV4aXN0cy5cbiAgICAgICAgaWYgKCFmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTYXZlIHRoZSBmaWxlLlxuICAgICAgICB0aGlzLnZhbHVlID0gZmlsZTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTGlzdEZyb21FdmVudCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZWxlbWVudC5maWxlcztcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwcmV2ZW50RGVmYXVsdCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcblxufVxuIiwiPCEtLSBUaGUgbGFiZWwgb2YgdGhlIGlucHV0LiAtLT5cbkBpZiAobGFiZWw7IGFzIGxhYmVsQ29udGVudCkge1xuICAgIDxsYWJlbCBbZm9yXT1cImxhYmVsSWRcIlxuICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWxhYmVsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbYmJUZW1wbGF0ZV09XCJsYWJlbENvbnRlbnRcIj57eyBsYWJlbENvbnRlbnQgfX08L25nLXRlbXBsYXRlPlxuICAgIDwvbGFiZWw+XG59XG5cbjwhLS0gVGhlIGlucHV0IHRoYXQgY2FuIG9wZW4gdGhlIGZpbGUgcGlja2VyLiAtLT5cbjxpbnB1dCAjZmlsZUlucHV0XG4gICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbnB1dFwiXG4gICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgIHRhYmluZGV4PVwiLTFcIj5cblxuQGlmICh2YWx1ZSQgfCBhc3luYzsgYXMgZGF0YSkge1xuICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci13cmFwcGVyXCI+XG4gICAgICAgIDwhLS0gVGhlIGJ1dHRvbiB0aGF0IGFjY2VwdHMgZmlsZXMuIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmItZmlsZS1waWNrZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy5kZXN0cnVjdGl2ZV09XCIhIWRhdGE/LmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3RhbmRhbG9uZV09XCIhYWxsb3dEcmFnZ2luZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJsYWJlbElkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uUHJlc3NlZChkYXRhPy5maWxlKVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy5maWxlID8gY2xvc2VJY29uIDogdXBsb2FkSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHt7IChkYXRhPy5maWxlID8gJ2ZpbGUtcGlja2VyLnJlbW92ZScgOiAnZmlsZS1waWNrZXIuY2hvb3NlJykgfCBiYkxvY2FsaXplIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIEBpZiAoYWxsb3dEcmFnZ2luZykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci16b25lXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdmaWxlLXBpY2tlci5kcm9wJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmICghIWV4dHJhVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHRyYVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhPy5maWxlfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChzaG93SW1hZ2VzKSB7XG4gICAgICAgICAgICBAaWYgKGRhdGE/LmZpbGUgfCBiYkZpbGVJbWFnZSB8IGFzeW5jOyBhcyBpbWFnZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbWFnZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW0BiYkZpbGVQaWNrZXJJbWFnZUFuaW1hdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLiVdPVwiaW1hZ2U/LmFzcGVjdFJhdGlvICogMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiaW1hZ2U/LmJhY2tncm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEV4dHJhIGluZm9ybWF0aW9uIG9mIHRoZSBmaWxlLiAtLT5cbiAgICAgICAgPGRpdiBbY2xhc3MudmlzaWJsZV09XCIhIWRhdGE/LmZpbGVcIlxuICAgICAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItaW5mb1wiPlxuICAgICAgICAgICAgQGlmIChkYXRhPy5maWxlPy5uYW1lOyBhcyBuYW1lKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZGF0YT8uZmlsZT8uc2l6ZTsgYXMgc2l6ZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IHNpemUgfCBiYkZpbGVTaXplIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cblxuQGlmICghaGlkZUVycm9ycykge1xuICAgIDxiYi1mb3JtLWVycm9yIChlcnJvckNoYW5nZSk9XCJvbkVycm9yQ2hhbmdlKCRldmVudClcIj48L2JiLWZvcm0tZXJyb3I+XG59XG5cbjwhLS0gVGhlIGZpbGUgcGlja2VyIGhpbnQuIC0tPlxuQGlmIChoaW50OyBhcyBoaW50Q29udGVudCkge1xuICAgIDxwIGNsYXNzPVwiYmItZmlsZS1waWNrZXItaGludFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiaGludENvbnRlbnRcIj57eyBoaW50Q29udGVudCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9wPlxufVxuXG48IS0tIFVwbG9hZCBpY29uLiAtLT5cbjxuZy10ZW1wbGF0ZSAjdXBsb2FkSWNvbj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pY29uXCJcbiAgICAgICAgIHdpZHRoPVwiMS41cmVtXCJcbiAgICAgICAgIGhlaWdodD1cIjEuNXJlbVwiXG4gICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBkPVwiTTIgMTIuNUMyIDkuNDYgNC40NiA3IDcuNSA3SDE4YzIuMjEgMCA0IDEuNzkgNCA0cy0xLjc5IDQtNCA0SDkuNWEyLjUgMi41IDAgMDEwLTVIMTd2Mkg5LjQxYy0uNTUgMC0uNTUgMSAwIDFIMThjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0ySDcuNUM1LjU3IDkgNCAxMC41NyA0IDEyLjVTNS41NyAxNiA3LjUgMTZIMTd2Mkg3LjVDNC40NiAxOCAyIDE1LjU0IDIgMTIuNXpcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMFYwelwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQ2xvc2UgaWNvbi4gLS0+XG48bmctdGVtcGxhdGUgI2Nsb3NlSWNvbj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pY29uXCJcbiAgICAgICAgIHdpZHRoPVwiMS41cmVtXCJcbiAgICAgICAgIGhlaWdodD1cIjEuNXJlbVwiXG4gICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBkPVwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIj48L3BhdGg+XG4gICAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19