@bravobit/bb-foundation 0.27.0 → 0.28.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 (162) hide show
  1. package/auth/lib/auth.service.d.ts +2 -2
  2. package/esm2022/auth/lib/auth.interceptor.mjs +5 -6
  3. package/esm2022/auth/lib/auth.module.mjs +6 -7
  4. package/esm2022/auth/lib/auth.service.mjs +7 -8
  5. package/esm2022/auth/lib/directives/authenticated.directive.mjs +5 -6
  6. package/esm2022/auth/lib/guards/anonymous.guard.mjs +5 -6
  7. package/esm2022/auth/lib/guards/authenticated.guard.mjs +5 -6
  8. package/esm2022/collections/lib/collections.module.mjs +6 -7
  9. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +5 -6
  10. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +5 -6
  11. package/esm2022/collections/lib/components/collections.directive.mjs +17 -21
  12. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +5 -6
  13. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +5 -6
  14. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +6 -7
  15. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +5 -6
  16. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +5 -6
  17. package/esm2022/controls/lib/control-error/control-error.module.mjs +6 -7
  18. package/esm2022/controls/lib/controls.module.mjs +6 -7
  19. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +5 -6
  20. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +5 -6
  21. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +5 -6
  22. package/esm2022/controls/lib/form-control/form-control.module.mjs +6 -7
  23. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +5 -6
  24. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +5 -6
  25. package/esm2022/controls/lib/radio/radio.module.mjs +6 -7
  26. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +5 -6
  27. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +5 -6
  28. package/esm2022/controls/lib/toggle/toggle.module.mjs +6 -7
  29. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +5 -6
  30. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +5 -6
  31. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +5 -6
  32. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +5 -6
  33. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +5 -6
  34. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +5 -6
  35. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +5 -6
  36. package/esm2022/dashboard/lib/dashboard.module.mjs +6 -7
  37. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +5 -6
  38. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +5 -6
  39. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +5 -6
  40. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -6
  41. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +5 -6
  42. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +5 -6
  43. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +5 -6
  44. package/esm2022/dialog/lib/dialog.insertion.mjs +5 -6
  45. package/esm2022/dialog/lib/dialog.module.mjs +6 -7
  46. package/esm2022/dialog/lib/dialog.service.mjs +5 -6
  47. package/esm2022/elements/lib/avatar/avatar.component.mjs +5 -6
  48. package/esm2022/elements/lib/button/button.component.mjs +9 -11
  49. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +5 -6
  50. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +5 -6
  51. package/esm2022/elements/lib/directives/addon.directive.mjs +9 -11
  52. package/esm2022/elements/lib/directives/form-submit.directive.mjs +5 -6
  53. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +5 -6
  54. package/esm2022/elements/lib/directives/input.directive.mjs +9 -11
  55. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +9 -11
  56. package/esm2022/elements/lib/elements.module.mjs +6 -7
  57. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +5 -6
  58. package/esm2022/elements/lib/form-control/form-control.component.mjs +5 -6
  59. package/esm2022/elements/lib/form-error/form-error.component.mjs +5 -6
  60. package/esm2022/elements/lib/form-group/form-group.component.mjs +5 -6
  61. package/esm2022/elements/lib/icon/icon.component.mjs +5 -6
  62. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +5 -6
  63. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +5 -6
  64. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +5 -6
  65. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +5 -6
  66. package/esm2022/elements/lib/spinner/spinner.component.mjs +5 -6
  67. package/esm2022/elements/lib/tag/tag.component.mjs +5 -6
  68. package/esm2022/http/lib/classes/http.config.mjs +7 -7
  69. package/esm2022/http/lib/http.interfaces.mjs +1 -1
  70. package/esm2022/http/lib/http.module.mjs +6 -7
  71. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +27 -14
  72. package/esm2022/http/lib/interceptors/error.interceptor.mjs +5 -6
  73. package/esm2022/lib/core/services/clipboard.service.mjs +5 -6
  74. package/esm2022/lib/core/services/exif.service.mjs +5 -6
  75. package/esm2022/lib/core/services/file-loader.service.mjs +5 -6
  76. package/esm2022/lib/core/services/image-converter.service.mjs +5 -6
  77. package/esm2022/lib/core/services/languages.service.mjs +5 -6
  78. package/esm2022/lib/core/services/network.service.mjs +5 -6
  79. package/esm2022/lib/core/services/patch.service.mjs +5 -6
  80. package/esm2022/localize/lib/localize.module.mjs +6 -7
  81. package/esm2022/localize/lib/localize.pipe.mjs +5 -6
  82. package/esm2022/localize/lib/localize.service.mjs +5 -6
  83. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +2 -3
  84. package/esm2022/localize/lib/transforms/reference.transform.mjs +2 -3
  85. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +5 -6
  86. package/esm2022/localize/lib/views/localize-template.directive.mjs +5 -6
  87. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +5 -6
  88. package/esm2022/masking/lib/directives/date-mask.directive.mjs +5 -6
  89. package/esm2022/masking/lib/directives/input-mask.directive.mjs +5 -6
  90. package/esm2022/masking/lib/masking.module.mjs +6 -7
  91. package/esm2022/masking/lib/masking.service.mjs +5 -6
  92. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +5 -6
  93. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +5 -6
  94. package/esm2022/notifications/lib/notifications.module.mjs +6 -7
  95. package/esm2022/notifications/lib/notifications.service.mjs +5 -6
  96. package/esm2022/permissions/lib/directives/permission.directive.mjs +5 -6
  97. package/esm2022/permissions/lib/guards/permission.guard.mjs +5 -6
  98. package/esm2022/permissions/lib/permissions.module.mjs +6 -7
  99. package/esm2022/permissions/lib/permissions.service.mjs +5 -6
  100. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +5 -6
  101. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +5 -6
  102. package/esm2022/recaptcha/lib/recaptcha.module.mjs +6 -7
  103. package/esm2022/storage/lib/storage.service.mjs +5 -6
  104. package/esm2022/table/lib/components/table/table.component.mjs +13 -16
  105. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +5 -6
  106. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +5 -6
  107. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +5 -6
  108. package/esm2022/table/lib/table.module.mjs +6 -7
  109. package/esm2022/theming/lib/theming.directive.mjs +5 -6
  110. package/esm2022/theming/lib/theming.module.mjs +6 -7
  111. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +5 -6
  112. package/esm2022/tooltip/lib/tooltip.directive.mjs +5 -6
  113. package/esm2022/tooltip/lib/tooltip.module.mjs +6 -7
  114. package/esm2022/utils/lib/directives/autosize.directive.mjs +5 -6
  115. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +5 -6
  116. package/esm2022/utils/lib/directives/focus.directive.mjs +5 -6
  117. package/esm2022/utils/lib/directives/template.directive.mjs +5 -6
  118. package/esm2022/utils/lib/utils.module.mjs +6 -7
  119. package/esm2022/utils/public_api.mjs +1 -2
  120. package/fesm2022/bravobit-bb-foundation-auth.mjs +22 -22
  121. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  122. package/fesm2022/bravobit-bb-foundation-collections.mjs +22 -22
  123. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  124. package/fesm2022/bravobit-bb-foundation-controls.mjs +57 -57
  125. package/fesm2022/bravobit-bb-foundation-controls.mjs.map +1 -1
  126. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
  127. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  128. package/fesm2022/bravobit-bb-foundation-dialog.mjs +31 -31
  129. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  130. package/fesm2022/bravobit-bb-foundation-elements.mjs +76 -76
  131. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  132. package/fesm2022/bravobit-bb-foundation-http.mjs +38 -24
  133. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  134. package/fesm2022/bravobit-bb-foundation-localize.mjs +16 -16
  135. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  136. package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
  137. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  138. package/fesm2022/bravobit-bb-foundation-notifications.mjs +13 -13
  139. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  140. package/fesm2022/bravobit-bb-foundation-permissions.mjs +13 -13
  141. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  142. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
  143. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  144. package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
  145. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  146. package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
  147. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  148. package/fesm2022/bravobit-bb-foundation-theming.mjs +7 -7
  149. package/fesm2022/bravobit-bb-foundation-theming.mjs.map +1 -1
  150. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
  151. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  152. package/fesm2022/bravobit-bb-foundation-utils.mjs +17 -36
  153. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  154. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  155. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  156. package/http/lib/classes/http.config.d.ts +2 -2
  157. package/http/lib/http.interfaces.d.ts +9 -4
  158. package/http/lib/interceptors/base-url.interceptor.d.ts +3 -1
  159. package/package.json +23 -23
  160. package/utils/public_api.d.ts +0 -1
  161. package/esm2022/utils/lib/functions/parse-date.function.mjs +0 -19
  162. package/utils/lib/functions/parse-date.function.d.ts +0 -1
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/cdk/platform";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@bravobit/bb-foundation/localize";
6
- class BbNotificationsItem {
6
+ export class BbNotificationsItem {
7
7
  get getClass() {
8
8
  return `bb-notifications-item ${this.notification.type}`;
9
9
  }
@@ -78,11 +78,10 @@ class BbNotificationsItem {
78
78
  // Set a new timer outside of Angular.
79
79
  this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
83
  }
84
- export { BbNotificationsItem };
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbNotificationsItem, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbNotificationsItem, decorators: [{
86
85
  type: Component,
87
86
  args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
88
87
  'role': 'alert'
@@ -98,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
98
97
  type: HostBinding,
99
98
  args: ['class']
100
99
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSXZCLE1BV2EsbUJBQW1CO0lBd0I1QixJQUEwQixRQUFRO1FBQzlCLE9BQU8seUJBQXlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQW9CLEtBQWEsRUFDYixTQUFtQixFQUNuQixnQkFBbUM7UUFGbkMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQXJCdkQsUUFBUTtRQUNBLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBU25CLFFBQVE7UUFDUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBd0M3RCx5QkFBb0IsR0FBRyxDQUFDLFlBQTBCLEVBQUUsTUFBMEIsRUFBRSxFQUFFO1lBQzlFLHVDQUF1QztZQUN2QyxNQUFN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SSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV0RCxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0Isc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQzs4R0FsRlEsbUJBQW1CO2tHQUFuQixtQkFBbUIsb1ZDM0JoQywweUhBc0dBOztTRDNFYSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssUUFDcEI7d0JBQ0YsTUFBTSxFQUFFLE9BQU87cUJBQ2xCO29KQUtRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdpQixrQkFBa0I7c0JBQXhDLFNBQVM7dUJBQUMsVUFBVTtnQkFpQkssUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05vdGlmaWNhdGlvbiwgTm90aWZpY2F0aW9uQWN0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1ub3RpZmljYXRpb25zLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAncm9sZSc6ICdhbGVydCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0l0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gICAgQElucHV0KCkgZGlzbWlzc0J1dHRvblRleHQ6IHN0cmluZyB8IG51bGw7XG5cbiAgICAvLyBFbGVtZW50cy5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzcycpIHByb2dyZXNzRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3MgPSAwO1xuICAgIHByaXZhdGUgX2NvdW50ID0gMDtcblxuICAgIC8vIEhlbHBlciB2YXJpYWJsZXMuXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zcGVlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3RpbWVyOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3RhcnRUaW1lOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGlmZmVyZW5jZTogbnVtYmVyO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpdXMgPSAxOTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaXJjdW1mZXJlbmNlID0gdGhpcy5fcmFkaXVzICogMiAqIE1hdGguUEk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYGJiLW5vdGlmaWNhdGlvbnMtaXRlbSAke3RoaXMubm90aWZpY2F0aW9uLnR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgcHJvZ3Jlc3NTdHJva2VBcnJheSgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHRoaXMuX2NpcmN1bWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gYCR7dmFsdWV9LCAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlIC0gdGhpcy5fcHJvZ3Jlc3MgLyAxMDAgKiB0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb250ZW50U3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMubm90aWZpY2F0aW9uLmNvbnRlbnQgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbm90aWZpY2F0aW9uIHRpbWVvdXQgaXMgbm90IDAgYW5kIHRoZSBwbGF0Zm9ybSBpcyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbi50aW1lb3V0IDw9IDAgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGlzbWlzcyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgdGltZW91dC5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVvdXQgaWYgaXQgd2FzIHNldC5cbiAgICAgICAgdGhpcy5fdGltZXIgJiYgd2luZG93ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQgJiYgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XG4gICAgfVxuXG4gICAgY2FsbEFjdGlvbkFuZERlc3Ryb3kgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKSA9PiB7XG4gICAgICAgIC8vIFBlcmZvcm0gdGhlIGNhbGxiYWNrIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBhY3Rpb24gJiYgYWN0aW9uLmNhbGxiYWNrICYmIGFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGRlc3Ryb3kgbWV0aG9kIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3kgJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVvdXQoKSB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RlcHMgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3N0ZXBzID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIDEwO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3BlZWQgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3NwZWVkID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIEdldCB0aGUgc3RhcnQgdGltZS5cbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIgb3V0c2lkZSBvZiBBbmd1bGFyLlxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnN0YW5jZSA9ICgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICB0aGlzLl9kaWZmZXJlbmNlID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydFRpbWUpIC0gKHRoaXMuX2NvdW50ICogdGhpcy5fc3BlZWQpO1xuXG4gICAgICAgIC8vIEFkZCB1cCB0aGUgY291bnQuXG4gICAgICAgIGlmICh0aGlzLl9jb3VudCsrID09PSB0aGlzLl9zdGVwcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBzdGVwcyB0byB0aGUgcHJvZ3Jlc3MuXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzICs9IDEwMCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIFNldCBhIG5ldyB0aW1lci5cbiAgICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLnNldFRpbWVvdXQodGhpcy5pbnN0YW5jZSwgdGhpcy5fc3BlZWQgLSB0aGlzLl9kaWZmZXJlbmNlKTtcblxuICAgICAgICAvLyBSdW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0VGltZW91dCA9IChtZXRob2Q6ICgpID0+IHZvaWQsIHRpbWVvdXQ6IG51bWJlcikgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgd2luZG93IGFuZCBtZXRob2QgZXhpc3QuXG4gICAgICAgIGlmICghd2luZG93IHx8ICF3aW5kb3cuc2V0VGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQobWV0aG9kLCB0aW1lb3V0KTtcbiAgICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGljb24gZm9yIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICAgICAgVGhlIGljb24gaXMgcmVmbGVjdGVkIGJ5IHRoZSB0eXBlIG9mIHRoZVxuICAgICAgICBub3RpZmljYXRpb24uIFNhbWUgZ29lcyBmb3IgdGhlIGNvbG9yIGFuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIC0tPlxuICAgIDxkaXYgW3N0eWxlLmNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uY29sb3JcIlxuICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwibm90aWZpY2F0aW9uPy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxOS41XCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCAxOS41YzEuMSAwIDItLjkgMi0ySDZjMCAxLjEuOSAyIDIgMnpNMTQgMTMuNXYtNWMwLTMuMS0xLjYtNS42LTQuNS02LjN2LS43QzkuNS43IDguOCAwIDggMFM2LjUuNyA2LjUgMS41di43QzMuNiAyLjkgMiA1LjQgMiA4LjV2NWwtMiAydjFoMTZ2LTFsLTItMnpcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIGNpcmN1bGFyIHByb2dyZXNzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgICAgICBUaGUgcHJvZ3Jlc3MgaXMgb25seSB2aXNpYmxlIHdoZW4gYSB0aW1lb3V0IGlzXG4gICAgICAgICAgICBzZXQuIFRoZSBwcm9ncmVzcyBhZGFwdHMgdG8gdGhlIHRpbWUgcmVtYWluaW5nXG4gICAgICAgICAgICBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgLS0+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJub3RpZmljYXRpb24/LnRpbWVvdXQgPiAwXCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1wcm9ncmVzcy1yaW5nXCJcbiAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQwIDQwXCJcbiAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIj5cbiAgICAgICAgICAgIDxjaXJjbGUgI3Byb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNoYXJyYXldPVwicHJvZ3Jlc3NTdHJva2VBcnJheVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cInByb2dyZXNzU3Ryb2tlT2Zmc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnN0cm9rZV09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tcHJvZ3Jlc3MtY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIHI9XCIxOVwiXG4gICAgICAgICAgICAgICAgICAgIGN4PVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICBjeT1cIjIwXCI+XG4gICAgICAgICAgICA8L2NpcmNsZT5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBjb250ZW50IGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgIFRoaXMgZGlzcGxheXMgYSBzdHJpbmcgb3IgYSB0ZW1wbGF0ZSBiYXNlZFxuICAgICAgICBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyIGJ5IHRoZSB1c2VyLlxuICAgIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50U3RyaW5nOyBlbHNlIHRlbXBsYXRlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3dpdGNoXT1cIm5vdGlmaWNhdGlvbj8ubG9jYWxpemVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICB7eyAkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudCkgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICB7eyBub3RpZmljYXRpb24/LmNvbnRlbnQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIGFjdGlvbnMgb2YgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgIEFsbCBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaGVyZSBhbmQgYXJlXG4gICAgYmFzZWQgb24gdGhlIGFjdGlvbnMgYXJyYXkgdGhlIHVzZXIgcHJvdmlkZWQuXG4tLT5cbjxkaXYgKm5nSWY9XCJub3RpZmljYXRpb24/LmFjdGlvbnM/Lmxlbmd0aCA+IDAgfHwgbm90aWZpY2F0aW9uPy5kaXNtaXNzXCJcbiAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9uc1wiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBub3RpZmljYXRpb24/LmFjdGlvbnNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbGxBY3Rpb25BbmREZXN0cm95KG5vdGlmaWNhdGlvbiwgYWN0aW9uKVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZXN0cnVjdGl2ZV09XCJhY3Rpb24/LnR5cGUgPT09ICdjYW5jZWwnXCJcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uXCI+XG4gICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJub3RpZmljYXRpb24/LmxvY2FsaXplXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24taGlnaGxpZ2h0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgYWN0aW9uPy50aXRsZSB8IGJiTG9jYWxpemU6e2RhdGE6IG5vdGlmaWNhdGlvbj8uZGF0YX0gfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIm5vdGlmaWNhdGlvbj8uZGlzbWlzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwibm90aWZpY2F0aW9uPy5kZXN0cm95KClcIlxuICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24gZGVzdHJ1Y3RpdmVcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvbi1oaWdobGlnaHRcIj5cbiAgICAgICAgICAgIHt7IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1RleHQgfHwgZGlzbWlzc0J1dHRvblRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjwhLS1cbiAgICBUaGUgb3V0bGV0IGZvciB0aGUgbm90aWZpY2F0aW9uIGNvbnRlbnQgdGVtcGxhdGUgcmVmLlxuLS0+XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiJGFueShub3RpZmljYXRpb24/LmNvbnRlbnQpXCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBZXZCLE1BQU0sT0FBTyxtQkFBbUI7SUF3QjVCLElBQTBCLFFBQVE7UUFDOUIsT0FBTyx5QkFBeUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBb0IsS0FBYSxFQUNiLFNBQW1CLEVBQ25CLGdCQUFtQztRQUZuQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBckJ2RCxRQUFRO1FBQ0EsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFTbkIsUUFBUTtRQUNTLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixtQkFBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUF3QzdELHlCQUFvQixHQUFHLENBQUMsWUFBMEIsRUFBRSxNQUEwQixFQUFFLEVBQUU7WUFDOUUsdUNBQXVDO1lBQ3ZD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RyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXRELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOzhHQWxGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQixvVkMzQmhDLDB5SEFzR0E7OzJGRDNFYSxtQkFBbUI7a0JBWC9CLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLE1BQU0sRUFBRSxPQUFPO3FCQUNsQjtvSkFLUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHaUIsa0JBQWtCO3NCQUF4QyxTQUFTO3VCQUFDLFVBQVU7Z0JBaUJLLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbn0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3JvbGUnOiAnYWxlcnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNJdGVtIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICAgIEBJbnB1dCgpIGRpc21pc3NCdXR0b25UZXh0OiBzdHJpbmcgfCBudWxsO1xuXG4gICAgLy8gRWxlbWVudHMuXG4gICAgQFZpZXdDaGlsZCgncHJvZ3Jlc3MnKSBwcm9ncmVzc0VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3Byb2dyZXNzID0gMDtcbiAgICBwcml2YXRlIF9jb3VudCA9IDA7XG5cbiAgICAvLyBIZWxwZXIgdmFyaWFibGVzLlxuICAgIHByaXZhdGUgX3N0ZXBzOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3BlZWQ6IG51bWJlcjtcbiAgICBwcml2YXRlIF90aW1lcjogbnVtYmVyO1xuICAgIHByaXZhdGUgX3N0YXJ0VGltZTogbnVtYmVyO1xuICAgIHByaXZhdGUgX2RpZmZlcmVuY2U6IG51bWJlcjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmFkaXVzID0gMTk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2lyY3VtZmVyZW5jZSA9IHRoaXMuX3JhZGl1cyAqIDIgKiBNYXRoLlBJO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBnZXRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGBiYi1ub3RpZmljYXRpb25zLWl0ZW0gJHt0aGlzLm5vdGlmaWNhdGlvbi50eXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlQXJyYXkoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlfSwgJHt2YWx1ZX1gO1xuICAgIH1cblxuICAgIGdldCBwcm9ncmVzc1N0cm9rZU9mZnNldCgpIHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5fY2lyY3VtZmVyZW5jZSAtIHRoaXMuX3Byb2dyZXNzIC8gMTAwICogdGhpcy5fY2lyY3VtZmVyZW5jZSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29udGVudFN0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLm5vdGlmaWNhdGlvbi5jb250ZW50ID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG5vdGlmaWNhdGlvbiB0aW1lb3V0IGlzIG5vdCAwIGFuZCB0aGUgcGxhdGZvcm0gaXMgYSBicm93c2VyLlxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb24udGltZW91dCA8PSAwIHx8ICF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmRpc21pc3MgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIENsZWFyIHRoZSB0aW1lb3V0IGlmIGl0IHdhcyBzZXQuXG4gICAgICAgIHRoaXMuX3RpbWVyICYmIHdpbmRvdyAmJiB3aW5kb3cuY2xlYXJUaW1lb3V0ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fdGltZXIpO1xuICAgIH1cblxuICAgIGNhbGxBY3Rpb25BbmREZXN0cm95ID0gKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uLCBhY3Rpb246IE5vdGlmaWNhdGlvbkFjdGlvbikgPT4ge1xuICAgICAgICAvLyBQZXJmb3JtIHRoZSBjYWxsYmFjayAoaWYgaXQgZXhpc3RzKS5cbiAgICAgICAgYWN0aW9uICYmIGFjdGlvbi5jYWxsYmFjayAmJiBhY3Rpb24uY2FsbGJhY2soKTtcblxuICAgICAgICAvLyBDYWxsIHRoZSBkZXN0cm95IG1ldGhvZCAoaWYgaXQgZXhpc3RzKS5cbiAgICAgICAgbm90aWZpY2F0aW9uICYmIG5vdGlmaWNhdGlvbi5kZXN0cm95ICYmIG5vdGlmaWNhdGlvbi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc3RhcnRUaW1lb3V0KCkge1xuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHN0ZXBzIG9mIHRoZSB0aW1lb3V0LlxuICAgICAgICB0aGlzLl9zdGVwcyA9IHRoaXMubm90aWZpY2F0aW9uLnRpbWVvdXQgLyAxMDtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHNwZWVkIG9mIHRoZSB0aW1lb3V0LlxuICAgICAgICB0aGlzLl9zcGVlZCA9IHRoaXMubm90aWZpY2F0aW9uLnRpbWVvdXQgLyB0aGlzLl9zdGVwcztcblxuICAgICAgICAvLyBHZXQgdGhlIHN0YXJ0IHRpbWUuXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IERhdGUubm93KCk7XG5cbiAgICAgICAgLy8gU2V0IGEgbmV3IHRpbWVyIG91dHNpZGUgb2YgQW5ndWxhci5cbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLl90aW1lciA9IHRoaXMuc2V0VGltZW91dCh0aGlzLmluc3RhbmNlLCB0aGlzLl9zcGVlZCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5zdGFuY2UgPSAoKSA9PiB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZS5cbiAgICAgICAgdGhpcy5fZGlmZmVyZW5jZSA9IChEYXRlLm5vdygpIC0gdGhpcy5fc3RhcnRUaW1lKSAtICh0aGlzLl9jb3VudCAqIHRoaXMuX3NwZWVkKTtcblxuICAgICAgICAvLyBBZGQgdXAgdGhlIGNvdW50LlxuICAgICAgICBpZiAodGhpcy5fY291bnQrKyA9PT0gdGhpcy5fc3RlcHMpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCB0aGUgc3RlcHMgdG8gdGhlIHByb2dyZXNzLlxuICAgICAgICB0aGlzLl9wcm9ncmVzcyArPSAxMDAgLyB0aGlzLl9zdGVwcztcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIuXG4gICAgICAgIHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkIC0gdGhpcy5fZGlmZmVyZW5jZSk7XG5cbiAgICAgICAgLy8gUnVuIGEgbmV3IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuX2NoYW5nZURldGVjdGlvbi5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHNldFRpbWVvdXQgPSAobWV0aG9kOiAoKSA9PiB2b2lkLCB0aW1lb3V0OiBudW1iZXIpID0+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHdpbmRvdyBhbmQgbWV0aG9kIGV4aXN0LlxuICAgICAgICBpZiAoIXdpbmRvdyB8fCAhd2luZG93LnNldFRpbWVvdXQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KG1ldGhvZCwgdGltZW91dCk7XG4gICAgfTtcblxufVxuIiwiPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1jb250ZW50LXdyYXBwZXJcIj5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBpY29uIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgIFRoZSBpY29uIGlzIHJlZmxlY3RlZCBieSB0aGUgdHlwZSBvZiB0aGVcbiAgICAgICAgbm90aWZpY2F0aW9uLiBTYW1lIGdvZXMgZm9yIHRoZSBjb2xvciBhbmRcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvci5cbiAgICAtLT5cbiAgICA8ZGl2IFtzdHlsZS5jb2xvcl09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWljb24td3JhcHBlclwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTkuNVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvblwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTggMTkuNWMxLjEgMCAyLS45IDItMkg2YzAgMS4xLjkgMiAyIDJ6TTE0IDEzLjV2LTVjMC0zLjEtMS42LTUuNi00LjUtNi4zdi0uN0M5LjUuNyA4LjggMCA4IDBTNi41LjcgNi41IDEuNXYuN0MzLjYgMi45IDIgNS40IDIgOC41djVsLTIgMnYxaDE2di0xbC0yLTJ6XCI+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuXG4gICAgICAgIDwhLS1cbiAgICAgICAgICAgIFRoZSBjaXJjdWxhciBwcm9ncmVzcyBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICAgICAgVGhlIHByb2dyZXNzIGlzIG9ubHkgdmlzaWJsZSB3aGVuIGEgdGltZW91dCBpc1xuICAgICAgICAgICAgc2V0LiBUaGUgcHJvZ3Jlc3MgYWRhcHRzIHRvIHRoZSB0aW1lIHJlbWFpbmluZ1xuICAgICAgICAgICAgZm9yIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIC0tPlxuICAgICAgICA8c3ZnICpuZ0lmPVwibm90aWZpY2F0aW9uPy50aW1lb3V0ID4gMFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tcHJvZ3Jlc3MtcmluZ1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCI+XG4gICAgICAgICAgICA8Y2lyY2xlICNwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInByb2dyZXNzU3Ryb2tlQXJyYXlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaG9mZnNldF09XCJwcm9ncmVzc1N0cm9rZU9mZnNldFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5zdHJva2VdPVwibm90aWZpY2F0aW9uPy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLXByb2dyZXNzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICByPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICBjeD1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgY3k9XCIyMFwiPlxuICAgICAgICAgICAgPC9jaXJjbGU+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLVxuICAgICAgICBUaGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICBUaGlzIGRpc3BsYXlzIGEgc3RyaW5nIG9yIGEgdGVtcGxhdGUgYmFzZWRcbiAgICAgICAgb24gdGhlIGdpdmVuIHBhcmFtZXRlciBieSB0aGUgdXNlci5cbiAgICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29udGVudFN0cmluZzsgZWxzZSB0ZW1wbGF0ZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJub3RpZmljYXRpb24/LmxvY2FsaXplXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgJGFueShub3RpZmljYXRpb24/LmNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7ZGF0YTogbm90aWZpY2F0aW9uPy5kYXRhfSB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uPy5jb250ZW50IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLVxuICAgIFRoZSBhY3Rpb25zIG9mIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICBBbGwgYWN0aW9ucyBhcmUgZGlzcGxheWVkIGhlcmUgYW5kIGFyZVxuICAgIGJhc2VkIG9uIHRoZSBhY3Rpb25zIGFycmF5IHRoZSB1c2VyIHByb3ZpZGVkLlxuLS0+XG48ZGl2ICpuZ0lmPVwibm90aWZpY2F0aW9uPy5hY3Rpb25zPy5sZW5ndGggPiAwIHx8IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1wiXG4gICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnNcIj5cbiAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygbm90aWZpY2F0aW9uPy5hY3Rpb25zXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYWxsQWN0aW9uQW5kRGVzdHJveShub3RpZmljYXRpb24sIGFjdGlvbilcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiYWN0aW9uPy50eXBlID09PSAnY2FuY2VsJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvblwiPlxuICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwibm90aWZpY2F0aW9uPy5sb2NhbGl6ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uLWhpZ2hsaWdodFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICB7eyBhY3Rpb24/LnRpdGxlIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJub3RpZmljYXRpb24/LmRpc21pc3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbj8uZGVzdHJveSgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uIGRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b24taGlnaGxpZ2h0XCI+XG4gICAgICAgICAgICB7eyBub3RpZmljYXRpb24/LmRpc21pc3NUZXh0IHx8IGRpc21pc3NCdXR0b25UZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIG91dGxldCBmb3IgdGhlIG5vdGlmaWNhdGlvbiBjb250ZW50IHRlbXBsYXRlIHJlZi5cbi0tPlxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZUNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIiRhbnkobm90aWZpY2F0aW9uPy5jb250ZW50KVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "../notifications.interfaces";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "../notifications-item/notifications-item.component";
7
- class BbNotificationsList {
7
+ export class BbNotificationsList {
8
8
  constructor(data) {
9
9
  this.data = data;
10
10
  // Data.
@@ -28,11 +28,10 @@ class BbNotificationsList {
28
28
  const [y, x] = (this.data.position ?? '').split('|');
29
29
  return { vertical: y ?? null, horizontal: x ?? null };
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{inset:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{inset:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
33
33
  }
34
- export { BbNotificationsList };
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbNotificationsList, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbNotificationsList, decorators: [{
36
35
  type: Component,
37
36
  args: [{ selector: 'bb-notifications-list', animations: [notificationAnimation], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
38
37
  'class': 'bb-notifications-list',
@@ -45,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
45
44
  type: HostBinding,
46
45
  args: ['style.align-items']
47
46
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFFbEUsTUFhYSxtQkFBbUI7SUFRNUIsWUFBbUIsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFOMUMsUUFBUTtRQUNSLGFBQVEsR0FBaUMsSUFBSSxDQUFDO1FBRTlDLHFCQUFxQjtRQUNyQixjQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUdoRCxDQUFDO0lBRUQsSUFDSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixLQUFLLFlBQVk7WUFDL0MsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFVCxPQUFPLEVBQUMsRUFBRSxFQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVksUUFBUTtRQUNoQixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJELE9BQU8sRUFBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBQyxDQUFDO0lBQ3hELENBQUM7OEdBakNRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGtRQ2pCaEMsb3lCQXNCQSxvdEJEZGdCLENBQUMscUJBQXFCLENBQUM7O1NBUzFCLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLHVCQUF1QixjQUdyQixDQUFDLHFCQUFxQixDQUFDLG1CQUNsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLE1BQU0sRUFBRSxNQUFNO3FCQUNqQjt3R0FjRyxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbnNEYXRhLCBOb3RpZmljYXRpb25zUG9zaXRpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge25vdGlmaWNhdGlvbkFuaW1hdGlvbn0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy5hbmltYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1ub3RpZmljYXRpb25zLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtub3RpZmljYXRpb25BbmltYXRpb25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItbm90aWZpY2F0aW9ucy1saXN0JyxcbiAgICAgICAgJ3JvbGUnOiAnbGlzdCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0xpc3Qge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwb3NpdGlvbjogTm90aWZpY2F0aW9uc1Bvc2l0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBUcmFjayBieSBmdW5jdGlvbi5cbiAgICB0cmFja0J5Rm4gPSAoXywgaXRlbTogTm90aWZpY2F0aW9uKSA9PiBpdGVtPy5pZDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBOb3RpZmljYXRpb25zRGF0YSkge1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuanVzdGlmeS1jb250ZW50JylcbiAgICBnZXQgaG9yaXpvbnRhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYWxpZ24taXRlbXMnKVxuICAgIGdldCB2ZXJ0aWNhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi52ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICBnZXQgYW5pbWF0aW9uKCkge1xuICAgICAgICBjb25zdCB0byA9IHRoaXMuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnZmxleC1zdGFydCdcbiAgICAgICAgICAgID8gLTUwXG4gICAgICAgICAgICA6IDUwO1xuXG4gICAgICAgIHJldHVybiB7dG99O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgICBjb25zdCBbeSwgeF0gPSAodGhpcy5kYXRhLnBvc2l0aW9uID8/ICcnKS5zcGxpdCgnfCcpO1xuXG4gICAgICAgIHJldHVybiB7dmVydGljYWw6IHkgPz8gbnVsbCwgaG9yaXpvbnRhbDogeCA/PyBudWxsfTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGUgbm90aWZpY2F0aW9ucyBsaXN0LlxuXG4gICAgVGhlIGxpc3QgcHJvdmlkZXMgdGhlIGFuaW1hdGlvbiBlZmZlY3QgZm9yIHRoZVxuICAgIGluY29taW5nIG5vdGlmaWNhdGlvbnMuXG4tLT5cbjxkaXYgKm5nSWY9XCJkYXRhPy5kYXRhIHwgYXN5bmMgYXMgbm90aWZpY2F0aW9uc1wiXG4gICAgIFtAbm90aWZpY2F0aW9uTGlzdEFuaW1hdGlvbl09XCJ7dmFsdWU6IG5vdGlmaWNhdGlvbnM/Lmxlbmd0aCwgcGFyYW1zOiBhbmltYXRpb259XCJcbiAgICAgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3Qtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGxvb3AgZm9yIHRoZSBub3RpZmljYXRpb25zLlxuXG4gICAgICAgIEFsbCBub3RpZmljYXRpb25zIHdpbGwgYmUgZGlzcGxheWVkIGhlcmUuIFRoZXlcbiAgICAgICAgYXJlIHdyYXBwZWQgd2l0aGluIGEgd3JhcHBlciB3aGljaCBzZXBhcmF0ZXMgdGhlbS5cbiAgICAtLT5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pdGVtLXdyYXBwZXJcIj5cbiAgICAgICAgPGJiLW5vdGlmaWNhdGlvbnMtaXRlbSBbbm90aWZpY2F0aW9uXT1cIm5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc21pc3NCdXR0b25UZXh0XT1cImRhdGE/LmRpc21pc3NUZXh0XCI+XG4gICAgICAgIDwvYmItbm90aWZpY2F0aW9ucy1pdGVtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFlbEUsTUFBTSxPQUFPLG1CQUFtQjtJQVE1QixZQUFtQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQU4xQyxRQUFRO1FBQ1IsYUFBUSxHQUFpQyxJQUFJLENBQUM7UUFFOUMscUJBQXFCO1FBQ3JCLGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBR2hELENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssWUFBWTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE9BQU8sRUFBQyxFQUFFLEVBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckQsT0FBTyxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FqQ1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsa1FDakJoQyxveUJBc0JBLG90QkRkZ0IsQ0FBQyxxQkFBcUIsQ0FBQzs7MkZBUzFCLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFDbEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsdUJBQXVCO3dCQUNoQyxNQUFNLEVBQUUsTUFBTTtxQkFDakI7d0dBY0csa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLHVCQUF1QjtnQkFNaEMsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25zRGF0YSwgTm90aWZpY2F0aW9uc1Bvc2l0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtub3RpZmljYXRpb25BbmltYXRpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbbm90aWZpY2F0aW9uQW5pbWF0aW9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgICAgICdyb2xlJzogJ2xpc3QnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNMaXN0IHtcblxuICAgIC8vIERhdGEuXG4gICAgcG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gVHJhY2sgYnkgZnVuY3Rpb24uXG4gICAgdHJhY2tCeUZuID0gKF8sIGl0ZW06IE5vdGlmaWNhdGlvbikgPT4gaXRlbT8uaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogTm90aWZpY2F0aW9uc0RhdGEpIHtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmp1c3RpZnktY29udGVudCcpXG4gICAgZ2V0IGhvcml6b250YWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24uaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmFsaWduLWl0ZW1zJylcbiAgICBnZXQgdmVydGljYWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24udmVydGljYWw7XG4gICAgfVxuXG4gICAgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICAgICAgY29uc3QgdG8gPSB0aGlzLmhvcml6b250YWxQb3NpdGlvbiA9PT0gJ2ZsZXgtc3RhcnQnXG4gICAgICAgICAgICA/IC01MFxuICAgICAgICAgICAgOiA1MDtcblxuICAgICAgICByZXR1cm4ge3RvfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsb2NhdGlvbigpIHtcbiAgICAgICAgY29uc3QgW3ksIHhdID0gKHRoaXMuZGF0YS5wb3NpdGlvbiA/PyAnJykuc3BsaXQoJ3wnKTtcblxuICAgICAgICByZXR1cm4ge3ZlcnRpY2FsOiB5ID8/IG51bGwsIGhvcml6b250YWw6IHggPz8gbnVsbH07XG4gICAgfVxuXG59XG4iLCI8IS0tXG4gICAgVGhlIG5vdGlmaWNhdGlvbnMgbGlzdC5cblxuICAgIFRoZSBsaXN0IHByb3ZpZGVzIHRoZSBhbmltYXRpb24gZWZmZWN0IGZvciB0aGVcbiAgICBpbmNvbWluZyBub3RpZmljYXRpb25zLlxuLS0+XG48ZGl2ICpuZ0lmPVwiZGF0YT8uZGF0YSB8IGFzeW5jIGFzIG5vdGlmaWNhdGlvbnNcIlxuICAgICBbQG5vdGlmaWNhdGlvbkxpc3RBbmltYXRpb25dPVwie3ZhbHVlOiBub3RpZmljYXRpb25zPy5sZW5ndGgsIHBhcmFtczogYW5pbWF0aW9ufVwiXG4gICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0LXdyYXBwZXJcIj5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBsb29wIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cblxuICAgICAgICBBbGwgbm90aWZpY2F0aW9ucyB3aWxsIGJlIGRpc3BsYXllZCBoZXJlLiBUaGV5XG4gICAgICAgIGFyZSB3cmFwcGVkIHdpdGhpbiBhIHdyYXBwZXIgd2hpY2ggc2VwYXJhdGVzIHRoZW0uXG4gICAgLS0+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaXRlbS13cmFwcGVyXCI+XG4gICAgICAgIDxiYi1ub3RpZmljYXRpb25zLWl0ZW0gW25vdGlmaWNhdGlvbl09XCJub3RpZmljYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNtaXNzQnV0dG9uVGV4dF09XCJkYXRhPy5kaXNtaXNzVGV4dFwiPlxuICAgICAgICA8L2JiLW5vdGlmaWNhdGlvbnMtaXRlbT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -6,7 +6,7 @@ import { NgModule } from '@angular/core';
6
6
  import { Notifications } from './notifications.service';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import * as i0 from "@angular/core";
9
- class NotificationsModule {
9
+ export class NotificationsModule {
10
10
  static forRoot(config) {
11
11
  return {
12
12
  ngModule: NotificationsModule,
@@ -16,16 +16,15 @@ class NotificationsModule {
16
16
  ]
17
17
  };
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] }); }
22
22
  }
23
- export { NotificationsModule };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NotificationsModule, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NotificationsModule, decorators: [{
25
24
  type: NgModule,
26
25
  args: [{
27
26
  imports: [CommonModule, LocalizeModule],
28
27
  declarations: [BbNotificationsList, BbNotificationsItem]
29
28
  }]
30
29
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFN0MsTUFJYSxtQkFBbUI7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE0QjtRQUN2QyxPQUFPO1lBQ0gsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1AsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDaEQsYUFBYTthQUNoQjtTQUNKLENBQUM7SUFDTixDQUFDOzhHQVZRLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUZiLG1CQUFtQixFQUFFLG1CQUFtQixhQUQ3QyxZQUFZLEVBQUUsY0FBYzsrR0FHN0IsbUJBQW1CLFlBSGxCLFlBQVksRUFBRSxjQUFjOztTQUc3QixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO29CQUN2QyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQztpQkFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYk5vdGlmaWNhdGlvbnNJdGVtfSBmcm9tICcuL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxpemVNb2R1bGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uc0NvbmZpZ30gZnJvbSAnLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnN9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExvY2FsaXplTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtCYk5vdGlmaWNhdGlvbnNMaXN0LCBCYk5vdGlmaWNhdGlvbnNJdGVtXVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IE5vdGlmaWNhdGlvbnNDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5vdGlmaWNhdGlvbnNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOb3RpZmljYXRpb25zTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge3Byb3ZpZGU6IE5vdGlmaWNhdGlvbnNDb25maWcsIHVzZVZhbHVlOiBjb25maWd9LFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbnNcbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNN0MsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTRCO1FBQ3ZDLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDO2dCQUNoRCxhQUFhO2FBQ2hCO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBVlEsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBRmIsbUJBQW1CLEVBQUUsbUJBQW1CLGFBRDdDLFlBQVksRUFBRSxjQUFjOytHQUc3QixtQkFBbUIsWUFIbEIsWUFBWSxFQUFFLGNBQWM7OzJGQUc3QixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYk5vdGlmaWNhdGlvbnNMaXN0fSBmcm9tICcuL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7QmJOb3RpZmljYXRpb25zSXRlbX0gZnJvbSAnLi9ub3RpZmljYXRpb25zLWl0ZW0vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvY2FsaXplTW9kdWxlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnNDb25maWd9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25zfSBmcm9tICcuL25vdGlmaWNhdGlvbnMuc2VydmljZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMb2NhbGl6ZU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbQmJOb3RpZmljYXRpb25zTGlzdCwgQmJOb3RpZmljYXRpb25zSXRlbV1cbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc01vZHVsZSB7XG5cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBOb3RpZmljYXRpb25zQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOb3RpZmljYXRpb25zTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTm90aWZpY2F0aW9uc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBOb3RpZmljYXRpb25zQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnfSxcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25zXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/cdk/platform";
8
8
  import * as i2 from "@bravobit/bb-foundation/localize";
9
9
  import * as i3 from "./notifications.interfaces";
10
- class Notifications {
10
+ export class Notifications {
11
11
  constructor(_platform, _applicationRef, _environmentInjector, _localize, _config) {
12
12
  this._platform = _platform;
13
13
  this._applicationRef = _applicationRef;
@@ -128,15 +128,14 @@ class Notifications {
128
128
  // Don't do anything, because it must've failed.
129
129
  }
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
132
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Notifications }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
132
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Notifications }); }
133
133
  }
134
- export { Notifications };
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Notifications, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Notifications, decorators: [{
136
135
  type: Injectable
137
136
  }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }, { type: i2.Localize, decorators: [{
138
137
  type: Optional
139
138
  }] }, { type: i3.NotificationsConfig, decorators: [{
140
139
  type: Optional
141
140
  }] }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMscUJBQXFCLEVBQXVCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0osT0FBTyxFQUErQixlQUFlLEVBQUUseUJBQXlCLEVBQXVCLFVBQVUsRUFBRSxRQUFRLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFHdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRXJDLE1BQ2EsYUFBYTtJQWdCdEIsWUFBb0IsU0FBbUIsRUFDbkIsZUFBK0IsRUFDL0Isb0JBQXlDLEVBQzdCLFNBQW9CLEVBQ3BCLE9BQTZCO1FBSnpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVA3RCx5Q0FBeUM7UUFDakMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUEySTFELGdCQUFXLEdBQUcsQ0FBQyxRQUFhLEVBQUUsWUFBaUIsRUFBRSxFQUFFO1lBQ3ZELE9BQU8sT0FBTyxRQUFRLEtBQUssV0FBVztnQkFDbEMsQ0FBQyxDQUFDLFlBQVk7Z0JBQ2QsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNuQixDQUFDLENBQUM7UUF4SUUsa0JB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bUIsRUFBRSxFQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQztRQUV4RSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU1QyxpREFBaUQ7UUFDakQsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEQsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFFRCxJQUFJO1lBQ0EsaUNBQWlDO1lBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9EO1FBQUMsTUFBTTtZQUNKLGdEQUFnRDtTQUNuRDtJQUNMLENBQUM7OEdBdkpRLGFBQWE7a0hBQWIsYUFBYTs7U0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQW9CTSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLCBOb3RpZmljYXRpb25zQ29uZmlnLCBOb3RpZmljYXRpb25UeXBlLCBOb3RpZmljYXRpb25zRGF0YX0gZnJvbSAnLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsIGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IsIEVudmlyb25tZW50SW5qZWN0b3IsIEluamVjdGFibGUsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnMge1xuXG4gICAgLy8gUmVmZXJlbmNlIHRvIHRoZSBsaXN0LlxuICAgIHByaXZhdGUgX3JlZjogQ29tcG9uZW50UmVmPEJiTm90aWZpY2F0aW9uc0xpc3Q+O1xuXG4gICAgLy8gVGhlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHRoZSBub3RpZmljYXRpb25zLlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRNb2RlOiAncHJlcGVuZCcgfCAnYXBwZW5kJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0VGltZW91dDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRMb2NhbGl6ZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0RGlzbWlzczogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0RGlzbWlzc1RleHQ6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0UG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbjtcblxuICAgIC8vIFRoZSBkYXRhIGNvbnRhaW5pbmcgdGhlIG5vdGlmaWNhdGlvbnMuXG4gICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vdGlmaWNhdGlvbltdPihbXSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2Vudmlyb25tZW50SW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb25maWc/OiBOb3RpZmljYXRpb25zQ29uZmlnKSB7XG4gICAgICAgIC8vIEdldCB0aGUgY29uZmlnLlxuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb25maWcgfHwge307XG5cbiAgICAgICAgLy8gU2V0IHRoZSBjb25maWcuXG4gICAgICAgIHRoaXMuX2RlZmF1bHRNb2RlID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcubW9kZSwgJ3ByZXBlbmQnKTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFRpbWVvdXQgPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy50aW1lb3V0LCA4MDAwKTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdExvY2FsaXplID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcubG9jYWxpemUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdERpc21pc3MgPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5kaXNtaXNzLCB0cnVlKTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0ID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcuZGlzbWlzc1RleHQsICdEaXNtaXNzJyk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRQb3NpdGlvbiA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLnBvc2l0aW9uLCBOb3RpZmljYXRpb25zUG9zaXRpb24uVG9wUmlnaHQpO1xuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgZWxlbWVudCB0aGF0IGhvbGRzIGFsbCBub3RpZmljYXRpb25zLlxuICAgICAgICB0aGlzLmNyZWF0ZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBzdWNjZXNzKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuU3VjY2Vzc30pO1xuICAgIH1cblxuICAgIGVycm9yKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuRXJyb3J9KTtcbiAgICB9XG5cbiAgICB3YXJuKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuV2FybmluZ30pO1xuICAgIH1cblxuICAgIGluZm8oY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgYWN0aW9uczogTm90aWZpY2F0aW9uQWN0aW9uW10gPSBbXSwgdGltZW91dCA9IHRoaXMuX2RlZmF1bHRUaW1lb3V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7Y29udGVudCwgdGltZW91dCwgYWN0aW9ucywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5JbmZvfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIC8vIENvbXBvc2UgYSBuZXcgbm90aWZpY2F0aW9uIGl0ZW0uXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNvbXBvc2Uobm90aWZpY2F0aW9uKTtcblxuICAgICAgICAvLyBBZGQgdGhlIGRlc3Ryb3kgZnVuY3Rpb24gdG8gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgaXRlbS5kZXN0cm95ID0gKCkgPT4gdGhpcy5wdWxsKGl0ZW0pO1xuXG4gICAgICAgIC8vIEFkZCB0aGUgbm90aWZpY2F0aW9uIHRvIHRoZSBsaXN0XG4gICAgICAgIC8vIGFuZCByZXR1cm4gdGhlIGl0ZW0uXG4gICAgICAgIHJldHVybiB0aGlzLnB1c2goaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwdXNoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBsaXN0LlxuICAgICAgICBjb25zdCBvbGRMaXN0ID0gdGhpcy5fbm90aWZpY2F0aW9ucyQuZ2V0VmFsdWUoKTtcblxuICAgICAgICAvLyBDaGVjayB3aGljaCBtb2RlIGlzIGFjdGl2YXRlZC5cbiAgICAgICAgbGV0IG5ld0xpc3Q6IE5vdGlmaWNhdGlvbltdO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuX2RlZmF1bHRNb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdhcHBlbmQnOlxuICAgICAgICAgICAgICAgIG5ld0xpc3QgPSBbLi4ub2xkTGlzdCwgbm90aWZpY2F0aW9uXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3ByZXBlbmQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBuZXdMaXN0ID0gW25vdGlmaWNhdGlvbiwgLi4ub2xkTGlzdF07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQdXNoIHRoZSBuZXcgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucyQubmV4dChuZXdMaXN0KTtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIG5vdGlmaWNhdGlvbiBmb3IgZnVydGhlciB1c2UuXG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwdWxsKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBsaXN0LlxuICAgICAgICBjb25zdCBuZXdMaXN0ID0gdGhpcy5fbm90aWZpY2F0aW9ucyRcbiAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gbm90aWZpY2F0aW9uLmlkKTtcblxuICAgICAgICAvLyBQdXNoIGEgbmV3IGxpc3QuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQobmV3TGlzdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wb3NlKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIC8vIEF0dGFjaCBhIHJhbmRvbSBpZCB0byB0aGUgbm90aWZpY2F0aW9uLlxuICAgICAgICBub3RpZmljYXRpb24uaWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTIpO1xuXG4gICAgICAgIC8vIFNldCBhbGwgcHJvcGVydGllcy5cbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi50eXBlLCBOb3RpZmljYXRpb25UeXBlLkN1c3RvbSk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5jb250ZW50ID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24uY29udGVudCwgbnVsbCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5kYXRhID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24uZGF0YSwge30pO1xuICAgICAgICBub3RpZmljYXRpb24udGltZW91dCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLnRpbWVvdXQsIHRoaXMuX2RlZmF1bHRUaW1lb3V0KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmxvY2FsaXplID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24ubG9jYWxpemUsIHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5kaXNtaXNzID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24uZGlzbWlzcywgdGhpcy5fZGVmYXVsdERpc21pc3MpO1xuXG4gICAgICAgIC8vIERpc21pc3MgdGV4dCBsb2NhbGl6YXRpb24uXG4gICAgICAgIGNvbnN0IGRpc21pc3NUZXh0ID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24uZGlzbWlzc1RleHQsIHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5kaXNtaXNzVGV4dCA9IHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSAmJiB0aGlzLl9sb2NhbGl6ZVxuICAgICAgICAgICAgPyB0aGlzLl9sb2NhbGl6ZS50cmFuc2xhdGUoZGlzbWlzc1RleHQpXG4gICAgICAgICAgICA6IGRpc21pc3NUZXh0O1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgY29tcG9zZWQgbm90aWZpY2F0aW9uLlxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRWxlbWVudCgpIHtcbiAgICAgICAgY29uc3QgZW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5vdGlmaWNhdGlvbnNEYXRhLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuX25vdGlmaWNhdGlvbnMkLnBpcGUoc2hhcmUoKSksXG4gICAgICAgICAgICAgICAgICAgIGRpc21pc3NUZXh0OiB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLl9kZWZhdWx0UG9zaXRpb25cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF0sIHRoaXMuX2Vudmlyb25tZW50SW5qZWN0b3IpO1xuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgY29tcG9uZW50LlxuICAgICAgICB0aGlzLl9yZWYgPSBjcmVhdGVDb21wb25lbnQoQmJOb3RpZmljYXRpb25zTGlzdCwge2Vudmlyb25tZW50SW5qZWN0b3J9KTtcblxuICAgICAgICAvLyBEZXRlY3QgdGhlIGNoYW5nZXMuXG4gICAgICAgIHRoaXMuX3JlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgLy8gQXR0YWNoIHRoZSBjb21wb25lbnQncyB2aWV3IHRvIHRoZSBhcHBsaWNhdGlvblxuICAgICAgICAvLyBzbyB0aGF0IHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHdpbGwgcnVuIHByb3Blcmx5LlxuICAgICAgICB0aGlzLl9hcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KHRoaXMuX3JlZi5ob3N0Vmlldyk7XG5cbiAgICAgICAgLy8gSWYgdGhlIHBsYXRmb3JtIGlzIG5vdCBhIGJyb3dzZXIgcmV0dXJuLlxuICAgICAgICBpZiAoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgZWxlbWVudCB0byB0aGUgRE9NLlxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcsIGJlY2F1c2UgaXQgbXVzdCd2ZSBmYWlsZWQuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb3BlcnR5ID0gKHByb3BlcnR5OiBhbnksIGRlZmF1bHRWYWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgcHJvcGVydHkgPT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICA/IGRlZmF1bHRWYWx1ZVxuICAgICAgICAgICAgOiBwcm9wZXJ0eTtcbiAgICB9O1xuXG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMscUJBQXFCLEVBQXVCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0osT0FBTyxFQUErQixlQUFlLEVBQUUseUJBQXlCLEVBQXVCLFVBQVUsRUFBRSxRQUFRLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFHdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBR3JDLE1BQU0sT0FBTyxhQUFhO0lBZ0J0QixZQUFvQixTQUFtQixFQUNuQixlQUErQixFQUMvQixvQkFBeUMsRUFDN0IsU0FBb0IsRUFDcEIsT0FBNkI7UUFKekMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBUDdELHlDQUF5QztRQUNqQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztRQTJJMUQsZ0JBQVcsR0FBRyxDQUFDLFFBQWEsRUFBRSxZQUFpQixFQUFFLEVBQUU7WUFDdkQsT0FBTyxPQUFPLFFBQVEsS0FBSyxXQUFXO2dCQUNsQyxDQUFDLENBQUMsWUFBWTtnQkFDZCxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQXhJ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LG1CQUFtQixFQUFFLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO1FBRXhFLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTVDLGlEQUFpRDtRQUNqRCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRCwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUVELElBQUk7WUFDQSxpQ0FBaUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDL0Q7UUFBQyxNQUFNO1lBQ0osZ0RBQWdEO1NBQ25EO0lBQ0wsQ0FBQzs4R0F2SlEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFvQk0sUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25BY3Rpb24sIE5vdGlmaWNhdGlvbnNQb3NpdGlvbiwgTm90aWZpY2F0aW9uc0NvbmZpZywgTm90aWZpY2F0aW9uVHlwZSwgTm90aWZpY2F0aW9uc0RhdGF9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbmplY3RhYmxlLCBPcHRpb25hbCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYk5vdGlmaWNhdGlvbnNMaXN0fSBmcm9tICcuL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3NoYXJlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zIHtcblxuICAgIC8vIFJlZmVyZW5jZSB0byB0aGUgbGlzdC5cbiAgICBwcml2YXRlIF9yZWY6IENvbXBvbmVudFJlZjxCYk5vdGlmaWNhdGlvbnNMaXN0PjtcblxuICAgIC8vIFRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TW9kZTogJ3ByZXBlbmQnIHwgJ2FwcGVuZCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFRpbWVvdXQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TG9jYWxpemU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3M6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3NUZXh0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFBvc2l0aW9uOiBOb3RpZmljYXRpb25zUG9zaXRpb247XG5cbiAgICAvLyBUaGUgZGF0YSBjb250YWluaW5nIHRoZSBub3RpZmljYXRpb25zLlxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb3RpZmljYXRpb25bXT4oW10pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2xvY2FsaXplPzogTG9jYWxpemUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnPzogTm90aWZpY2F0aW9uc0NvbmZpZykge1xuICAgICAgICAvLyBHZXQgdGhlIGNvbmZpZy5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5fY29uZmlnIHx8IHt9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgY29uZmlnLlxuICAgICAgICB0aGlzLl9kZWZhdWx0TW9kZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLm1vZGUsICdwcmVwZW5kJyk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRUaW1lb3V0ID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcudGltZW91dCwgODAwMCk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmxvY2FsaXplLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcuZGlzbWlzcywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmRpc21pc3NUZXh0LCAnRGlzbWlzcycpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0UG9zaXRpb24gPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5wb3NpdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLlRvcFJpZ2h0KTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGVsZW1lbnQgdGhhdCBob2xkcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgc3VjY2Vzcyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3N9KTtcbiAgICB9XG5cbiAgICBlcnJvcihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkVycm9yfSk7XG4gICAgfVxuXG4gICAgd2Fybihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm5pbmd9KTtcbiAgICB9XG5cbiAgICBpbmZvKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuSW5mb30pO1xuICAgIH1cblxuICAgIGNyZWF0ZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBDb21wb3NlIGEgbmV3IG5vdGlmaWNhdGlvbiBpdGVtLlxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb21wb3NlKG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBkZXN0cm95IGZ1bmN0aW9uIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIGl0ZW0uZGVzdHJveSA9ICgpID0+IHRoaXMucHVsbChpdGVtKTtcblxuICAgICAgICAvLyBBZGQgdGhlIG5vdGlmaWNhdGlvbiB0byB0aGUgbGlzdFxuICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBpdGVtLlxuICAgICAgICByZXR1cm4gdGhpcy5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVzaChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3Qgb2xkTGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkLmdldFZhbHVlKCk7XG5cbiAgICAgICAgLy8gQ2hlY2sgd2hpY2ggbW9kZSBpcyBhY3RpdmF0ZWQuXG4gICAgICAgIGxldCBuZXdMaXN0OiBOb3RpZmljYXRpb25bXTtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9kZWZhdWx0TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnYXBwZW5kJzpcbiAgICAgICAgICAgICAgICBuZXdMaXN0ID0gWy4uLm9sZExpc3QsIG5vdGlmaWNhdGlvbl07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdwcmVwZW5kJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbmV3TGlzdCA9IFtub3RpZmljYXRpb24sIC4uLm9sZExpc3RdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHVzaCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQobmV3TGlzdCk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBub3RpZmljYXRpb24gZm9yIGZ1cnRoZXIgdXNlLlxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVsbChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3QgbmV3TGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkXG4gICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XG5cbiAgICAgICAgLy8gUHVzaCBhIG5ldyBsaXN0LlxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KG5ld0xpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBBdHRhY2ggYSByYW5kb20gaWQgdG8gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgbm90aWZpY2F0aW9uLmlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDEyKTtcblxuICAgICAgICAvLyBTZXQgYWxsIHByb3BlcnRpZXMuXG4gICAgICAgIG5vdGlmaWNhdGlvbi50eXBlID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24udHlwZSwgTm90aWZpY2F0aW9uVHlwZS5DdXN0b20pO1xuICAgICAgICBub3RpZmljYXRpb24uY29udGVudCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmNvbnRlbnQsIG51bGwpO1xuICAgICAgICBub3RpZmljYXRpb24uZGF0YSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRhdGEsIHt9KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnRpbWVvdXQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi50aW1lb3V0LCB0aGlzLl9kZWZhdWx0VGltZW91dCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5sb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmxvY2FsaXplLCB0aGlzLl9kZWZhdWx0TG9jYWxpemUpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzcyA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3MsIHRoaXMuX2RlZmF1bHREaXNtaXNzKTtcblxuICAgICAgICAvLyBEaXNtaXNzIHRleHQgbG9jYWxpemF0aW9uLlxuICAgICAgICBjb25zdCBkaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3NUZXh0LCB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzc1RleHQgPSB0aGlzLl9kZWZhdWx0TG9jYWxpemUgJiYgdGhpcy5fbG9jYWxpemVcbiAgICAgICAgICAgID8gdGhpcy5fbG9jYWxpemUudHJhbnNsYXRlKGRpc21pc3NUZXh0KVxuICAgICAgICAgICAgOiBkaXNtaXNzVGV4dDtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbXBvc2VkIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUVsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOb3RpZmljYXRpb25zRGF0YSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLl9ub3RpZmljYXRpb25zJC5waXBlKHNoYXJlKCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXNtaXNzVGV4dDogdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5fZGVmYXVsdFBvc2l0aW9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdLCB0aGlzLl9lbnZpcm9ubWVudEluamVjdG9yKTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNvbXBvbmVudC5cbiAgICAgICAgdGhpcy5fcmVmID0gY3JlYXRlQ29tcG9uZW50KEJiTm90aWZpY2F0aW9uc0xpc3QsIHtlbnZpcm9ubWVudEluamVjdG9yfSk7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHRoZSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLl9yZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8vIEF0dGFjaCB0aGUgY29tcG9uZW50J3MgdmlldyB0byB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgLy8gc28gdGhhdCB0aGUgY2hhbmdlIGRldGVjdGlvbiB3aWxsIHJ1biBwcm9wZXJseS5cbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLl9yZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIC8vIElmIHRoZSBwbGF0Zm9ybSBpcyBub3QgYSBicm93c2VyIHJldHVybi5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGVsZW1lbnQgdG8gdGhlIERPTS5cbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nLCBiZWNhdXNlIGl0IG11c3QndmUgZmFpbGVkLlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wZXJ0eSA9IChwcm9wZXJ0eTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5ID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBkZWZhdWx0VmFsdWVcbiAgICAgICAgICAgIDogcHJvcGVydHk7XG4gICAgfTtcblxufVxuIl19
@@ -3,7 +3,7 @@ import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
3
3
  import { distinctUntilChanged, switchMap } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../permissions.service";
6
- class BbPermission {
6
+ export class BbPermission {
7
7
  set bbPermission(value) {
8
8
  const permissions = Array.isArray(value) ? value : [value];
9
9
  this._permission$.next(permissions);
@@ -70,11 +70,10 @@ class BbPermission {
70
70
  throw new Error(`${property} must be a TemplateRef.`);
71
71
  }
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 }); }
75
75
  }
76
- export { BbPermission };
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbPermission, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbPermission, decorators: [{
78
77
  type: Directive,
79
78
  args: [{
80
79
  selector: '[bbPermission]'
@@ -86,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
86
85
  }], bbPermissionMode: [{
87
86
  type: Input
88
87
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3Blcm1pc3Npb25zL3NyYy9saWIvZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFtQixLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUkvRCxNQUdhLFlBQVk7SUFjckIsSUFDSSxZQUFZLENBQUMsS0FBd0I7UUFDckMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxnQkFBZ0IsQ0FBQyxXQUE2QjtRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLElBQXFCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFLRCxZQUFvQixZQUF5QixFQUN6QixZQUE4QixFQUM5QixpQkFBbUM7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Z0I7c0JBRG5CLEtBQUs7Z0JBUUYsZ0JBQWdCO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc01vZGV9IGZyb20gJy4uL3Blcm1pc3Npb25zLmludGVyZmFjZSc7XG5pbXBvcnQge1Blcm1pc3Npb25zfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJQZXJtaXNzaW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgQmJQZXJtaXNzaW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gVGVtcGxhdGVzLlxuICAgIHByaXZhdGUgX2Vsc2VUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gVmlldyByZWZzLlxuICAgIHByaXZhdGUgX3RoZW5WaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2Vsc2VWaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIF92YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Blcm1pc3Npb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuICAgIHByaXZhdGUgX21vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQZXJtaXNzaW9uc01vZGU+KCdhbmQnKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJiUGVybWlzc2lvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbiQubmV4dChwZXJtaXNzaW9ucyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJiUGVybWlzc2lvbkVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5hc3NlcnRUZW1wbGF0ZSgnYmJQZXJtaXNzaW9uRWxzZScsIHRlbXBsYXRlUmVmKTtcbiAgICAgICAgdGhpcy5fZWxzZVRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJiUGVybWlzc2lvbk1vZGUobW9kZTogUGVybWlzc2lvbnNNb2RlKSB7XG4gICAgICAgIHRoaXMuX21vZGUkLm5leHQobW9kZSk7XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaXB0aW9ucy5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wZXJtaXNzaW9uczogUGVybWlzc2lvbnMsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBjaGVjayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wZXJtaXNzaW9uJCwgdGhpcy5fbW9kZSRdKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcGVybWlzc2lvbnMsIG1vZGVdKSA9PiB0aGlzLl9wZXJtaXNzaW9ucy5oYXMocGVybWlzc2lvbnMsIHttb2RlfSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGNoZWNrJC5zdWJzY3JpYmUodmFsaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWQgPSB2YWxpZDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xuICAgICAgICBpZiAodGhpcy5fdmFsaWQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fdGhlblZpZXdSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxzZVZpZXdSZWYgPSBudWxsO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aGVuVmlld1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2Vsc2VWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RoZW5WaWV3UmVmID0gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZWxzZVRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vsc2VWaWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fZWxzZVRlbXBsYXRlUmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2VydFRlbXBsYXRlKHByb3BlcnR5OiBzdHJpbmcsIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xuICAgICAgICBjb25zdCBpc1RlbXBsYXRlUmVmT3JOdWxsID0gISEoIXRlbXBsYXRlUmVmIHx8IHRlbXBsYXRlUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyk7XG4gICAgICAgIGlmICghaXNUZW1wbGF0ZVJlZk9yTnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3Byb3BlcnR5fSBtdXN0IGJlIGEgVGVtcGxhdGVSZWYuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYmJQZXJtaXNzaW9uOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYmJQZXJtaXNzaW9uRWxzZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYmJQZXJtaXNzaW9uTW9kZTogUGVybWlzc2lvbnNNb2RlO1xuXG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3Blcm1pc3Npb25zL3NyYy9saWIvZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFtQixLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQU8vRCxNQUFNLE9BQU8sWUFBWTtJQWNyQixJQUNJLFlBQVksQ0FBQyxLQUF3QjtRQUNyQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLFdBQTZCO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksZ0JBQWdCLENBQUMsSUFBcUI7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUtELFlBQW9CLFlBQXlCLEVBQ3pCLFlBQThCLEVBQzlCLGlC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QURuQixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGVybWlzc2lvbnNNb2RlfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc30gZnJvbSAnLi4vcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiUGVybWlzc2lvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEJiUGVybWlzc2lvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIFRlbXBsYXRlcy5cbiAgICBwcml2YXRlIF9lbHNlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFZpZXcgcmVmcy5cbiAgICBwcml2YXRlIF90aGVuVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9lbHNlVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9wZXJtaXNzaW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICBwcml2YXRlIF9tb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGVybWlzc2lvbnNNb2RlPignYW5kJyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICAgIHRoaXMuX3Blcm1pc3Npb24kLm5leHQocGVybWlzc2lvbnMpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb25FbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuYXNzZXJ0VGVtcGxhdGUoJ2JiUGVybWlzc2lvbkVsc2UnLCB0ZW1wbGF0ZVJlZik7XG4gICAgICAgIHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb25Nb2RlKG1vZGU6IFBlcm1pc3Npb25zTW9kZSkge1xuICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KG1vZGUpO1xuICAgIH1cblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY2hlY2skID0gY29tYmluZUxhdGVzdChbdGhpcy5fcGVybWlzc2lvbiQsIHRoaXMuX21vZGUkXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW3Blcm1pc3Npb25zLCBtb2RlXSkgPT4gdGhpcy5fcGVybWlzc2lvbnMuaGFzKHBlcm1pc3Npb25zLCB7bW9kZX0pKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBjaGVjayQuc3Vic2NyaWJlKHZhbGlkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkID0gdmFsaWQ7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmlldygpIHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbGlkKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RoZW5WaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGhlblZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9lbHNlVmlld1JlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVuVmlld1JlZiA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbHNlVmlld1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3NlcnRUZW1wbGF0ZShwcm9wZXJ0eTogc3RyaW5nLCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgaXNUZW1wbGF0ZVJlZk9yTnVsbCA9ICEhKCF0ZW1wbGF0ZVJlZiB8fCB0ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcpO1xuICAgICAgICBpZiAoIWlzVGVtcGxhdGVSZWZPck51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtwcm9wZXJ0eX0gbXVzdCBiZSBhIFRlbXBsYXRlUmVmLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbjogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbkVsc2U6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbk1vZGU6IFBlcm1pc3Npb25zTW9kZTtcblxufVxuIl19
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/router";
6
6
  import * as i2 from "../permissions.service";
7
7
  import * as i3 from "../permissions.interface";
8
- class BbPermissionGuard {
8
+ export class BbPermissionGuard {
9
9
  constructor(_router, _permissions, _config) {
10
10
  this._router = _router;
11
11
  this._permissions = _permissions;
@@ -42,11 +42,10 @@ class BbPermissionGuard {
42
42
  }
43
43
  return this._permissions.has(data?.value, data?.options);
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i1.Router }, { token: i2.Permissions }, { token: i3.PermissionsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i1.Router }, { token: i2.Permissions }, { token: i3.PermissionsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' }); }
47
47
  }
48
- export { BbPermissionGuard };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbPermissionGuard, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BbPermissionGuard, decorators: [{
50
49
  type: Injectable,
51
50
  args: [{
52
51
  providedIn: 'root'
@@ -54,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
54
53
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Permissions }, { type: i3.PermissionsConfig, decorators: [{
55
54
  type: Optional
56
55
  }] }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJeEIsTUFHYSxpQkFBaUI7SUFFMUIsWUFBb0IsT0FBZSxFQUNmLFlBQXlCLEVBQ2IsT0FBMkI7UUFGdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQyxFQUFFLEtBQTBCO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLElBQUksS0FBSyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDdkIsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFFRCxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNWLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0MsRUFBRSxLQUEwQjtRQUMzRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBb0Y7UUFDeEcsSUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQzFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzdELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQTlDUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07O1NBRVQsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLZ0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7UGVybWlzc2lvbnNPcHRpb25zLCBQZXJtaXNzaW9uc0NvbmZpZ30gZnJvbSAnLi4vcGVybWlzc2lvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc30gZnJvbSAnLi4vcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5cbmRlY2xhcmUgbGV0IG5nRGV2TW9kZTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYlBlcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3Blcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb25maWc/OiBQZXJtaXNzaW9uc0NvbmZpZykge1xuICAgIH1cblxuICAgIGNhbkFjdGl2YXRlKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gc25hcHNob3Q/LmRhdGE/LlsncGVybWlzc2lvbiddID8/IG51bGw7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb24kID0gdGhpcy5wYXJzZVBlcm1pc3Npb24ocGVybWlzc2lvbik7XG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9uJC5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbGlkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgb25QZXJtaXNzaW9uRGVuaWVkRm4gPSB0aGlzLl9jb25maWc/Lm9uUGVybWlzc2lvbkRlbmllZCA/PyBudWxsO1xuICAgICAgICAgICAgICAgIGlmICghb25QZXJtaXNzaW9uRGVuaWVkRm4pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFRyZWUgPSBvblBlcm1pc3Npb25EZW5pZWRGbih0aGlzLl9yb3V0ZXIsIHNuYXBzaG90LCBzdGF0ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCF1cmxUcmVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWQgPyB0cnVlIDogdXJsVHJlZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FuQWN0aXZhdGVDaGlsZChjaGlsZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShjaGlsZFJvdXRlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVBlcm1pc3Npb24oZGF0YTogc3RyaW5nIHwgc3RyaW5nW10gfCB7IHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9ucz86IFBlcm1pc3Npb25zT3B0aW9ucyB9KSB7XG4gICAgICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiAoZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEgPT09IG51bGwpKSB7XG4gICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYE5vIFwiZGF0YS5wZXJtaXNzaW9uXCIgcHJvcGVydHkgd2FzIHBhc3NlZC5gKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSB8fCB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wZXJtaXNzaW9ucy5oYXMoZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvbnMuaGFzKGRhdGE/LnZhbHVlLCBkYXRhPy5vcHRpb25zKTtcbiAgICB9XG5cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9ndWFyZHMvcGVybWlzc2lvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPeEIsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixZQUFvQixPQUFlLEVBQ2YsWUFBeUIsRUFDYixPQUEyQjtRQUZ2QyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUMzRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdDLEVBQUUsS0FBMEI7UUFDcEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUM7WUFDdEUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUN2QixPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUVELE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFrQyxFQUFFLEtBQTBCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFvRjtRQUN4RyxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDMUYsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDN0QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7OEdBOUNRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS2dCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3R9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Blcm1pc3Npb25zT3B0aW9ucywgUGVybWlzc2lvbnNDb25maWd9IGZyb20gJy4uL3Blcm1pc3Npb25zLmludGVyZmFjZSc7XG5pbXBvcnQge0luamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4uL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG5kZWNsYXJlIGxldCBuZ0Rldk1vZGU7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmJQZXJtaXNzaW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wZXJtaXNzaW9uczogUGVybWlzc2lvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnPzogUGVybWlzc2lvbnNDb25maWcpIHtcbiAgICB9XG5cbiAgICBjYW5BY3RpdmF0ZShzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHNuYXBzaG90Py5kYXRhPy5bJ3Blcm1pc3Npb24nXSA/PyBudWxsO1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9uJCA9IHRoaXMucGFyc2VQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xuICAgICAgICByZXR1cm4gcGVybWlzc2lvbiQucGlwZShcbiAgICAgICAgICAgIG1hcCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG9uUGVybWlzc2lvbkRlbmllZEZuID0gdGhpcy5fY29uZmlnPy5vblBlcm1pc3Npb25EZW5pZWQgPz8gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAoIW9uUGVybWlzc2lvbkRlbmllZEZuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB1cmxUcmVlID0gb25QZXJtaXNzaW9uRGVuaWVkRm4odGhpcy5fcm91dGVyLCBzbmFwc2hvdCwgc3RhdGUpO1xuICAgICAgICAgICAgICAgIGlmICghdXJsVHJlZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkID8gdHJ1ZSA6IHVybFRyZWU7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbkFjdGl2YXRlQ2hpbGQoY2hpbGRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUoY2hpbGRSb3V0ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VQZXJtaXNzaW9uKGRhdGE6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBQZXJtaXNzaW9uc09wdGlvbnMgfSkge1xuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgKGRhdGEgPT09IHVuZGVmaW5lZCB8fCBkYXRhID09PSBudWxsKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKGBObyBcImRhdGEucGVybWlzc2lvblwiIHByb3BlcnR5IHdhcyBwYXNzZWQuYCk7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkgfHwgdHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvbnMuaGFzKGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25zLmhhcyhkYXRhPy52YWx1ZSwgZGF0YT8ub3B0aW9ucyk7XG4gICAgfVxuXG59XG4iXX0=
@@ -6,7 +6,7 @@ import { PermissionsConfig } from './permissions.interface';
6
6
  import { Permissions } from './permissions.service';
7
7
  import { Auth } from '@bravobit/bb-foundation/auth';
8
8
  import * as i0 from "@angular/core";
9
- class PermissionsModule {
9
+ export class PermissionsModule {
10
10
  static forRoot(config) {
11
11
  const defaultProvider = {
12
12
  provide: PermissionsHandler,
@@ -25,16 +25,15 @@ class PermissionsModule {
25
25
  ]
26
26
  };
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PermissionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: PermissionsModule, declarations: [BbPermission], exports: [BbPermission] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PermissionsModule }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: PermissionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: PermissionsModule, declarations: [BbPermission], exports: [BbPermission] }); }
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: PermissionsModule }); }
31
31
  }
32
- export { PermissionsModule };
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PermissionsModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: PermissionsModule, decorators: [{
34
33
  type: NgModule,
35
34
  args: [{
36
35
  declarations: [BbPermission],
37
36
  exports: [BbPermission]
38
37
  }]
39
38
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9wZXJtaXNzaW9ucy9zcmMvbGliL3Blcm1pc3Npb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFbEQsTUFJYSxpQkFBaUI7SUFFMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUEwQjtRQUNyQyxNQUFNLGVBQWUsR0FBYTtZQUM5QixPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLFVBQVUsRUFBRSxDQUFDLElBQVUsRUFBRSxFQUFFO2dCQUN2QixPQUFPLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM3RSxDQUFDO1NBQ0osQ0FBQztRQUNGLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxFQUFFLFFBQVEsSUFBSSxlQUFlLENBQUM7UUFFdEUsT0FBTztZQUNILFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNQLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUM7Z0JBQzlDLHlCQUF5QjtnQkFDekIsV0FBVzthQUNkO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBcEJRLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQUhYLFlBQVksYUFDakIsWUFBWTsrR0FFYixpQkFBaUI7O1NBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxQZXJtaXNzaW9uc0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvbG9jYWwuaGFuZGxlcic7XG5pbXBvcnQge1Blcm1pc3Npb25zSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9hYnN0cmFjdC5oYW5kbGVyJztcbmltcG9ydCB7QmJQZXJtaXNzaW9ufSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc0NvbmZpZ30gZnJvbSAnLi9wZXJtaXNzaW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc30gZnJvbSAnLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aH0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vYXV0aCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQmJQZXJtaXNzaW9uXSxcbiAgICBleHBvcnRzOiBbQmJQZXJtaXNzaW9uXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc01vZHVsZSB7XG5cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBQZXJtaXNzaW9uc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UGVybWlzc2lvbnNNb2R1bGU+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFBlcm1pc3Npb25zSGFuZGxlcixcbiAgICAgICAgICAgIGRlcHM6IFtBdXRoXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChhdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMb2NhbFBlcm1pc3Npb25zSGFuZGxlcihhdXRoLCBjb25maWc/LmxvY2FsUGVybWlzc2lvbnMgPz8ge30pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9uSGFuZGxlclByb3ZpZGVyID0gY29uZmlnPy5wcm92aWRlciA/PyBkZWZhdWx0UHJvdmlkZXI7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBQZXJtaXNzaW9uc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBQZXJtaXNzaW9uc0NvbmZpZywgdXNlVmFsdWU6IGNvbmZpZ30sXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbkhhbmRsZXJQcm92aWRlcixcbiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uc1xuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9wZXJtaXNzaW9ucy9zcmMvbGliL3Blcm1pc3Npb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7QUFNbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTBCO1FBQ3JDLE1BQU0sZUFBZSxHQUFhO1lBQzlCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osVUFBVSxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLENBQUM7U0FDSixDQUFDO1FBQ0YsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLEVBQUUsUUFBUSxJQUFJLGVBQWUsQ0FBQztRQUV0RSxPQUFPO1lBQ0gsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1AsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDOUMseUJBQXlCO2dCQUN6QixXQUFXO2FBQ2Q7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0FwQlEsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSFgsWUFBWSxhQUNqQixZQUFZOytHQUViLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsUGVybWlzc2lvbnNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2xvY2FsLmhhbmRsZXInO1xuaW1wb3J0IHtQZXJtaXNzaW9uc0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlcic7XG5pbXBvcnQge0JiUGVybWlzc2lvbn0gZnJvbSAnLi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmltcG9ydCB7UGVybWlzc2lvbnNDb25maWd9IGZyb20gJy4vcGVybWlzc2lvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4vcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQge0F1dGh9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2F1dGgnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0JiUGVybWlzc2lvbl0sXG4gICAgZXhwb3J0czogW0JiUGVybWlzc2lvbl1cbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogUGVybWlzc2lvbnNDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBlcm1pc3Npb25zTW9kdWxlPiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gICAgICAgICAgICBwcm92aWRlOiBQZXJtaXNzaW9uc0hhbmRsZXIsXG4gICAgICAgICAgICBkZXBzOiBbQXV0aF0sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoYXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTG9jYWxQZXJtaXNzaW9uc0hhbmRsZXIoYXV0aCwgY29uZmlnPy5sb2NhbFBlcm1pc3Npb25zID8/IHt9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbkhhbmRsZXJQcm92aWRlciA9IGNvbmZpZz8ucHJvdmlkZXIgPz8gZGVmYXVsdFByb3ZpZGVyO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogUGVybWlzc2lvbnNNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogUGVybWlzc2lvbnNDb25maWcsIHVzZVZhbHVlOiBjb25maWd9LFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25IYW5kbGVyUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgUGVybWlzc2lvbnNcbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -3,7 +3,7 @@ import { distinctUntilChanged, map } from 'rxjs/operators';
3
3
  import { Injectable } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./handlers/abstract.handler";
6
- class Permissions {
6
+ export class Permissions {
7
7
  constructor(_handler) {
8
8
  this._handler = _handler;
9
9
  // State.
@@ -87,11 +87,10 @@ class Permissions {
87
87
  });
88
88
  this._subscription.add(subscription);
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Permissions, deps: [{ token: i1.PermissionsHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Permissions }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Permissions, deps: [{ token: i1.PermissionsHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Permissions }); }
92
92
  }
93
- export { Permissions };
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Permissions, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: Permissions, decorators: [{
95
94
  type: Injectable
96
95
  }], ctorParameters: function () { return [{ type: i1.PermissionsHandler }]; } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHckUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7OztBQUVwRCxNQUNhLFdBQVc7SUFRcEIsWUFBb0IsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFOaEQsU0FBUztRQUNELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLGlCQUFpQjtRQUNULGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELEdBQUc7UUFDQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBd0IsRUFBRSxPQUE0QjtRQUN0RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDbEMsT0FB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LEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBekdRLFdBQVc7a0hBQVgsV0FBVzs7U0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgaXNPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGVybWlzc2lvbnNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2Fic3RyYWN0LmhhbmRsZXInO1xuaW1wb3J0IHtQZXJtaXNzaW9uc09wdGlvbnN9IGZyb20gJy4vcGVybWlzc2lvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnMgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLy8gU3RhdGUuXG4gICAgcHJpdmF0ZSBfYWN0aXZlUGVybWlzc2lvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gICAgLy8gU3Vic2NyaXB0aW9ucy5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9oYW5kbGVyOiBQZXJtaXNzaW9uc0hhbmRsZXIpIHtcbiAgICAgICAgdGhpcy50cmFja1Blcm1pc3Npb25zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBhbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVQZXJtaXNzaW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgYWxsU3luYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBlcm1pc3Npb25zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGhhcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBQZXJtaXNzaW9uc09wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQZXJtaXNzaW9ucyA9IHRoaXMuZ2V0UmVxdWlyZWRQZXJtaXNzaW9ucyh2YWx1ZSk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBlcm1pc3Npb25zPy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVQZXJtaXNzaW9ucyQucGlwZShcbiAgICAgICAgICAgIG1hcChhY3RpdmVQZXJtaXNzaW9ucyA9PiB0aGlzLmhhc1Blcm1pc3Npb24ocmVxdWlyZWRQZXJtaXNzaW9ucywgYWN0aXZlUGVybWlzc2lvbnMsIG9wdGlvbnMpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBoYXNTeW5jKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9ucz86IFBlcm1pc3Npb25zT3B0aW9ucykge1xuICAgICAgICBjb25zdCByZXF1aXJlZFBlcm1pc3Npb25zID0gdGhpcy5nZXRSZXF1aXJlZFBlcm1pc3Npb25zKHZhbHVlKTtcbiAgICAgICAgaWYgKHJlcXVpcmVkUGVybWlzc2lvbnM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RpdmVQZXJtaXNzaW9ucyA9IHRoaXMuX2FjdGl2ZVBlcm1pc3Npb25zJC5nZXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNQZXJtaXNzaW9uKHJlcXVpcmVkUGVybWlzc2lvbnMsIGFjdGl2ZVBlcm1pc3Npb25zLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1Blcm1pc3Npb24ocmVxdWlyZWRQZXJtaXNzaW9uczogc3RyaW5nW10sIGFjdGl2ZVBlcm1pc3Npb25zOiBzdHJpbmdbXSwgb3B0aW9ucz86IFBlcm1pc3Npb25zT3B0aW9ucykge1xuICAgICAgICBjb25zdCBtb2RlID0gb3B0aW9ucz8ubW9kZSA/PyAnYW5kJztcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZ5TW9kZU9yKHJlcXVpcmVkUGVybWlzc2lvbnMsIGFjdGl2ZVBlcm1pc3Npb25zKTtcbiAgICAgICAgICAgIGNhc2UgJ25vdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZ5TW9kZU5vdChyZXF1aXJlZFBlcm1pc3Npb25zLCBhY3RpdmVQZXJtaXNzaW9ucyk7XG4gICAgICAgICAgICBjYXNlICdhbmQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52ZXJpZnlNb2RlQW5kKHJlcXVpcmVkUGVybWlzc2lvbnMsIGFjdGl2ZVBlcm1pc3Npb25zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5TW9kZUFuZChwZXJtaXNzaW9uczogc3RyaW5nW10sIGFjdGl2ZVBlcm1pc3Npb25zOiBzdHJpbmdbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHBlcm1pc3Npb24gb2YgcGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkID0gYWN0aXZlUGVybWlzc2lvbnM/LmluY2x1ZGVzKHBlcm1pc3Npb24pO1xuICAgICAgICAgICAgaWYgKCF2ZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5TW9kZU5vdChwZXJtaXNzaW9uczogc3RyaW5nW10sIGFjdGl2ZVBlcm1pc3Npb25zOiBzdHJpbmdbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHBlcm1pc3Npb24gb2YgcGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIGlmIChhY3RpdmVQZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5TW9kZU9yKHBlcm1pc3Npb25zOiBzdHJpbmdbXSwgYWN0aXZlUGVybWlzc2lvbnM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWQgPSBhY3RpdmVQZXJtaXNzaW9ucz8uaW5jbHVkZXMocGVybWlzc2lvbik7XG4gICAgICAgICAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlcXVpcmVkUGVybWlzc2lvbnModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJhY2tQZXJtaXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX2hhbmRsZXIuZ2V0KCk7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zJCA9IGlzT2JzZXJ2YWJsZShkYXRhKSA/IGRhdGEgOiBvZihkYXRhKTtcblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBwZXJtaXNzaW9ucyQuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVBlcm1pc3Npb25zJC5uZXh0KHBlcm1pc3Npb25zID8/IFtdKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHckUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7OztBQUdwRCxNQUFNLE9BQU8sV0FBVztJQVFwQixZQUFvQixRQUE0QjtRQUE1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQU5oRCxTQUFTO1FBQ0Qsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFaEUsaUJBQWlCO1FBQ1Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUF3QixFQUFFLE9BQTRCO1FBQ3RELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksbUJBQW1CLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNs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LFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0F6R1EsV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Blcm1pc3Npb25zSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9hYnN0cmFjdC5oYW5kbGVyJztcbmltcG9ydCB7UGVybWlzc2lvbnNPcHRpb25zfSBmcm9tICcuL3Blcm1pc3Npb25zLmludGVyZmFjZSc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHByaXZhdGUgX2FjdGl2ZVBlcm1pc3Npb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaGFuZGxlcjogUGVybWlzc2lvbnNIYW5kbGVyKSB7XG4gICAgICAgIHRoaXMudHJhY2tQZXJtaXNzaW9ucygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgYWxsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlUGVybWlzc2lvbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGFsbFN5bmMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVQZXJtaXNzaW9ucyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBoYXModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcHRpb25zPzogUGVybWlzc2lvbnNPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUGVybWlzc2lvbnMgPSB0aGlzLmdldFJlcXVpcmVkUGVybWlzc2lvbnModmFsdWUpO1xuICAgICAgICBpZiAocmVxdWlyZWRQZXJtaXNzaW9ucz8ubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlUGVybWlzc2lvbnMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoYWN0aXZlUGVybWlzc2lvbnMgPT4gdGhpcy5oYXNQZXJtaXNzaW9uKHJlcXVpcmVkUGVybWlzc2lvbnMsIGFjdGl2ZVBlcm1pc3Npb25zLCBvcHRpb25zKSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaGFzU3luYyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBQZXJtaXNzaW9uc09wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQZXJtaXNzaW9ucyA9IHRoaXMuZ2V0UmVxdWlyZWRQZXJtaXNzaW9ucyh2YWx1ZSk7XG4gICAgICAgIGlmIChyZXF1aXJlZFBlcm1pc3Npb25zPy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aXZlUGVybWlzc2lvbnMgPSB0aGlzLl9hY3RpdmVQZXJtaXNzaW9ucyQuZ2V0VmFsdWUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGVybWlzc2lvbihyZXF1aXJlZFBlcm1pc3Npb25zLCBhY3RpdmVQZXJtaXNzaW9ucywgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNQZXJtaXNzaW9uKHJlcXVpcmVkUGVybWlzc2lvbnM6IHN0cmluZ1tdLCBhY3RpdmVQZXJtaXNzaW9uczogc3RyaW5nW10sIG9wdGlvbnM/OiBQZXJtaXNzaW9uc09wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgbW9kZSA9IG9wdGlvbnM/Lm1vZGUgPz8gJ2FuZCc7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnb3InOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcmlmeU1vZGVPcihyZXF1aXJlZFBlcm1pc3Npb25zLCBhY3RpdmVQZXJtaXNzaW9ucyk7XG4gICAgICAgICAgICBjYXNlICdub3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcmlmeU1vZGVOb3QocmVxdWlyZWRQZXJtaXNzaW9ucywgYWN0aXZlUGVybWlzc2lvbnMpO1xuICAgICAgICAgICAgY2FzZSAnYW5kJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVyaWZ5TW9kZUFuZChyZXF1aXJlZFBlcm1pc3Npb25zLCBhY3RpdmVQZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeU1vZGVBbmQocGVybWlzc2lvbnM6IHN0cmluZ1tdLCBhY3RpdmVQZXJtaXNzaW9uczogc3RyaW5nW10pIHtcbiAgICAgICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZCA9IGFjdGl2ZVBlcm1pc3Npb25zPy5pbmNsdWRlcyhwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgIGlmICghdmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeU1vZGVOb3QocGVybWlzc2lvbnM6IHN0cmluZ1tdLCBhY3RpdmVQZXJtaXNzaW9uczogc3RyaW5nW10pIHtcbiAgICAgICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlUGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeU1vZGVPcihwZXJtaXNzaW9uczogc3RyaW5nW10sIGFjdGl2ZVBlcm1pc3Npb25zOiBzdHJpbmdbXSkge1xuICAgICAgICBmb3IgKGNvbnN0IHBlcm1pc3Npb24gb2YgcGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkID0gYWN0aXZlUGVybWlzc2lvbnM/LmluY2x1ZGVzKHBlcm1pc3Npb24pO1xuICAgICAgICAgICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1aXJlZFBlcm1pc3Npb25zKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogW3ZhbHVlXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYWNrUGVybWlzc2lvbnMoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9oYW5kbGVyLmdldCgpO1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyQgPSBpc09ic2VydmFibGUoZGF0YSkgPyBkYXRhIDogb2YoZGF0YSk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gcGVybWlzc2lvbnMkLnN1YnNjcmliZShwZXJtaXNzaW9ucyA9PiB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVQZXJtaXNzaW9ucyQubmV4dChwZXJtaXNzaW9ucyA/PyBbXSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG59XG4iXX0=