@acorex/core 7.17.28 → 7.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dateTime/lib/calendar.service.d.ts +1 -0
  2. package/esm2022/dateTime/lib/calendar.service.mjs +8 -3
  3. package/esm2022/events/index.mjs +2 -1
  4. package/esm2022/events/lib/event.service.mjs +8 -1
  5. package/esm2022/events/lib/event.type.mjs +6 -0
  6. package/esm2022/format/index.mjs +2 -1
  7. package/esm2022/format/lib/format.module.mjs +26 -12
  8. package/esm2022/format/lib/format.pipe.mjs +16 -4
  9. package/esm2022/format/lib/format.service.mjs +8 -1
  10. package/esm2022/format/lib/formatters/string-formatter.mjs +16 -0
  11. package/esm2022/translation/lib/translation.service.mjs +74 -14
  12. package/esm2022/translation/lib/translator.directive.mjs +1 -1
  13. package/esm2022/translation/lib/translator.pipe.mjs +13 -31
  14. package/esm2022/validation/lib/rules/between-rule.mjs +2 -2
  15. package/esm2022/validation/lib/rules/callback-rule.mjs +2 -2
  16. package/esm2022/validation/lib/rules/equal-rule.mjs +2 -2
  17. package/esm2022/validation/lib/rules/greater-than.mjs +2 -2
  18. package/esm2022/validation/lib/rules/length-rule.mjs +2 -2
  19. package/esm2022/validation/lib/rules/less-than-rule.mjs +2 -2
  20. package/esm2022/validation/lib/rules/maxlength-rule.mjs +2 -2
  21. package/esm2022/validation/lib/rules/minlength-rule.mjs +2 -2
  22. package/esm2022/validation/lib/rules/regex-rule.mjs +4 -3
  23. package/esm2022/validation/lib/rules/required-rule.mjs +4 -3
  24. package/esm2022/validation/lib/validation.module.mjs +24 -11
  25. package/esm2022/validation/lib/validation.service.mjs +4 -4
  26. package/esm2022/validation/lib/validation.types.mjs +1 -1
  27. package/events/index.d.ts +1 -0
  28. package/events/lib/event.service.d.ts +8 -0
  29. package/events/lib/event.type.d.ts +5 -0
  30. package/fesm2022/acorex-core-dateTime.mjs +7 -2
  31. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  32. package/fesm2022/acorex-core-events.mjs +14 -1
  33. package/fesm2022/acorex-core-events.mjs.map +1 -1
  34. package/fesm2022/acorex-core-format.mjs +62 -14
  35. package/fesm2022/acorex-core-format.mjs.map +1 -1
  36. package/fesm2022/acorex-core-translation.mjs +83 -43
  37. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  38. package/fesm2022/acorex-core-validation.mjs +40 -24
  39. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  40. package/format/index.d.ts +1 -0
  41. package/format/lib/format.module.d.ts +1 -3
  42. package/format/lib/format.pipe.d.ts +4 -1
  43. package/format/lib/format.service.d.ts +3 -0
  44. package/format/lib/formatters/string-formatter.d.ts +14 -0
  45. package/package.json +1 -1
  46. package/translation/lib/translation.service.d.ts +5 -0
  47. package/translation/lib/translator.pipe.d.ts +6 -9
  48. package/validation/lib/rules/between-rule.d.ts +1 -1
  49. package/validation/lib/rules/callback-rule.d.ts +1 -1
  50. package/validation/lib/rules/equal-rule.d.ts +1 -1
  51. package/validation/lib/rules/greater-than.d.ts +1 -1
  52. package/validation/lib/rules/length-rule.d.ts +1 -1
  53. package/validation/lib/rules/less-than-rule.d.ts +1 -1
  54. package/validation/lib/rules/maxlength-rule.d.ts +1 -1
  55. package/validation/lib/rules/minlength-rule.d.ts +1 -1
  56. package/validation/lib/rules/regex-rule.d.ts +1 -1
  57. package/validation/lib/rules/required-rule.d.ts +1 -1
  58. package/validation/lib/validation.module.d.ts +1 -3
  59. package/validation/lib/validation.service.d.ts +1 -1
  60. package/validation/lib/validation.types.d.ts +1 -1
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class AXCalendarService {
6
6
  private config;
7
7
  private _holidaysLoader;
8
+ private eventService;
8
9
  get calendar(): AXCalendar;
9
10
  private activeCalendar;
10
11
  calendarChanges$: import("rxjs").Observable<AXCalendar>;
@@ -3,6 +3,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
3
3
  import { AX_DATETIME_CONFIG } from './dateTime.config';
4
4
  import { AXDateTime } from './datetime.class';
5
5
  import { AX_DATETIME_HOLIDAYS_LOADER } from './holidays.loader';
6
+ import { AXEventService, AXEventTypes } from '@acorex/core/events';
6
7
  import * as i0 from "@angular/core";
7
8
  export class AXCalendarService {
8
9
  get calendar() {
@@ -15,8 +16,11 @@ export class AXCalendarService {
15
16
  return this.activeCalendar.getValue();
16
17
  }
17
18
  setActiveCalendar(name) {
18
- const calendar = this.resolveCalendar(name);
19
- this.activeCalendar.next(calendar);
19
+ if (name != this.calendar.name()) {
20
+ const calendar = this.resolveCalendar(name);
21
+ this.activeCalendar.next(calendar);
22
+ this.eventService.emitEvent({ type: AXEventTypes.AXCalendarChanged, payload: this.getActiveCalendar() });
23
+ }
20
24
  }
21
25
  get holidays() {
22
26
  return this._holidays;
@@ -24,6 +28,7 @@ export class AXCalendarService {
24
28
  constructor() {
25
29
  this.config = inject(AX_DATETIME_CONFIG);
26
30
  this._holidaysLoader = inject(AX_DATETIME_HOLIDAYS_LOADER);
31
+ this.eventService = inject(AXEventService);
27
32
  this.activeCalendar = new BehaviorSubject(this.getDefaultCalendar());
28
33
  this.calendarChanges$ = this.activeCalendar.asObservable();
29
34
  this.onHolidaysChanged = new Subject();
@@ -83,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
83
88
  type: Injectable,
84
89
  args: [{ providedIn: 'root' }]
85
90
  }], ctorParameters: () => [] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2NhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxVQUFVLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQTBDLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR3hHLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUtNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7UUE3QlEsV0FBTSxHQUFxQixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztR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QUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzs7Z0JBQ3BFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLEtBQWMsQ0FBQztRQUN4RSxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQWpGVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVDb25maWcsIEFYX0RBVEVUSU1FX0NPTkZJRyB9IGZyb20gJy4vZGF0ZVRpbWUuY29uZmlnJztcbmltcG9ydCB7IEFYQ2FsZW5kYXIsIEFYRGF0ZVRpbWUsIEFYRGF0ZVZhbHVlIH0gZnJvbSAnLi9kYXRldGltZS5jbGFzcyc7XG5pbXBvcnQgeyBBWEhvbGlkYXlEYXRlLCBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucywgQVhfREFURVRJTUVfSE9MSURBWVNfTE9BREVSIH0gZnJvbSAnLi9ob2xpZGF5cy5sb2FkZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc6IEFYRGF0ZVRpbWVDb25maWcgPSBpbmplY3QoQVhfREFURVRJTUVfQ09ORklHKTtcbiAgcHJpdmF0ZSBfaG9saWRheXNMb2FkZXIgPSBpbmplY3QoQVhfREFURVRJTUVfSE9MSURBWVNfTE9BREVSKTtcblxuICBwdWJsaWMgZ2V0IGNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZUNhbGVuZGFyKCk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2ZUNhbGVuZGFyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWENhbGVuZGFyPih0aGlzLmdldERlZmF1bHRDYWxlbmRhcigpKTtcbiAgY2FsZW5kYXJDaGFuZ2VzJCA9IHRoaXMuYWN0aXZlQ2FsZW5kYXIuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGdldERlZmF1bHRDYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY2FsZW5kYXJzW3RoaXMuY29uZmlnLmNhbGVuZGFyXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3RpdmVDYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDYWxlbmRhci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2ZUNhbGVuZGFyKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5yZXNvbHZlQ2FsZW5kYXIobmFtZSk7XG4gICAgdGhpcy5hY3RpdmVDYWxlbmRhci5uZXh0KGNhbGVuZGFyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhvbGlkYXlzQ2hhbmdlZDogU3ViamVjdDxBWEhvbGlkYXlEYXRlW10+ID0gbmV3IFN1YmplY3Q8QVhIb2xpZGF5RGF0ZVtdPigpO1xuICBwcml2YXRlIF9ob2xpZGF5czogQVhIb2xpZGF5RGF0ZVtdID0gW107XG4gIHB1YmxpYyBnZXQgaG9saWRheXMoKTogQVhIb2xpZGF5RGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRIb2xpZGF5cygpO1xuICB9XG5cbiAgcHVibGljIGxvYWRIb2xpZGF5cyhvcHRpb25zPzogQVhIb2xpZGF5c0xvYWRlck9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXNMb2FkZXIuZ2V0SG9saWRheXMob3B0aW9ucykudGhlbigodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuX2hvbGlkYXlzID0gdmFsdWU7XG4gICAgICB0aGlzLm9uSG9saWRheXNDaGFuZ2VkLm5leHQodGhpcy5faG9saWRheXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWU7XG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IERhdGUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWU7XG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IEFYRGF0ZVZhbHVlIHwgRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgY2FsZW5kYXIgPSBjYWxlbmRhck5hbWUgPyB0aGlzLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhck5hbWUpIDogdGhpcy5jYWxlbmRhcjtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodmFsdWUsIGNhbGVuZGFyKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlPy55ZWFyICYmIHZhbHVlPy5tb250aCkge1xuICAgICAgcmV0dXJuIGNhbGVuZGFyLmNyZWF0ZSh2YWx1ZSBhcyBBWERhdGVWYWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5vdygpO1xuICB9XG5cbiAgcHVibGljIG5vdyhjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCBjYWxlbmRhcik7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUNhbGVuZGFyKG5hbWU6IHN0cmluZyk6IEFYQ2FsZW5kYXIge1xuICAgIGNvbnN0IGMgPSB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbbmFtZV07XG4gICAgaWYgKCFjKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBcIiR7bmFtZX1cIiBpcyBub3QgYSB2YWxpZCBjYWxlbmRhciBuYW1lIWApO1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gICAgfVxuICAgIHJldHVybiBjO1xuICB9XG5cbiAgcHVibGljIGNvbnZlcnQodmFsdWU6IERhdGUgfCBBWERhdGVUaW1lIHwgc3RyaW5nLCBjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBpc0lTT1N0cmluZyA9IChzdHIpID0+IHtcbiAgICAgIGlmICghL1xcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KC5cXGR7M31aKT8vLnRlc3Qoc3RyKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHN0cik7XG4gICAgICByZXR1cm4gZCBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGQuZ2V0VGltZSgpKTsgLy8gdmFsaWQgZGF0ZVxuICAgIH07XG4gICAgLy9cbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaXNJU09TdHJpbmcodmFsdWUpKSByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUodmFsdWUpLCBjYWxlbmRhcik7XG4gICAgICBlbHNlIHJldHVybiBjYWxlbmRhci5wYXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSB2YWx1ZSBpbnN0YW5jZW9mIEFYRGF0ZVRpbWUgPyB2YWx1ZS5kYXRlIDogKHZhbHVlIGFzIERhdGUpO1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShkYXRlLCBjYWxlbmRhcik7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2NhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxVQUFVLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQTBDLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBS00sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsSUFB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WSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhO1FBQ2hFLENBQUMsQ0FBQztRQUNGLEVBQUU7UUFDRixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbkYsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7O2dCQUNwRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxLQUFjLENBQUM7UUFDeEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0F0RlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lQ29uZmlnLCBBWF9EQVRFVElNRV9DT05GSUcgfSBmcm9tICcuL2RhdGVUaW1lLmNvbmZpZyc7XG5pbXBvcnQgeyBBWENhbGVuZGFyLCBBWERhdGVUaW1lLCBBWERhdGVWYWx1ZSB9IGZyb20gJy4vZGF0ZXRpbWUuY2xhc3MnO1xuaW1wb3J0IHsgQVhIb2xpZGF5RGF0ZSwgQVhIb2xpZGF5c0xvYWRlck9wdGlvbnMsIEFYX0RBVEVUSU1FX0hPTElEQVlTX0xPQURFUiB9IGZyb20gJy4vaG9saWRheXMubG9hZGVyJztcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWEV2ZW50VHlwZXMgfSBmcm9tICdAYWNvcmV4L2NvcmUvZXZlbnRzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBBWERhdGVUaW1lQ29uZmlnID0gaW5qZWN0KEFYX0RBVEVUSU1FX0NPTkZJRyk7XG4gIHByaXZhdGUgX2hvbGlkYXlzTG9hZGVyID0gaW5qZWN0KEFYX0RBVEVUSU1FX0hPTElEQVlTX0xPQURFUik7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYRXZlbnRTZXJ2aWNlKTtcblxuXG4gIHB1YmxpYyBnZXQgY2FsZW5kYXIoKTogQVhDYWxlbmRhciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlQ2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlQ2FsZW5kYXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYQ2FsZW5kYXI+KHRoaXMuZ2V0RGVmYXVsdENhbGVuZGFyKCkpO1xuICBjYWxlbmRhckNoYW5nZXMkID0gdGhpcy5hY3RpdmVDYWxlbmRhci5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgZ2V0RGVmYXVsdENhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbdGhpcy5jb25maWcuY2FsZW5kYXJdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUNhbGVuZGFyLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgIT0gdGhpcy5jYWxlbmRhci5uYW1lKCkpIHtcbiAgICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5yZXNvbHZlQ2FsZW5kYXIobmFtZSk7XG4gICAgICB0aGlzLmFjdGl2ZUNhbGVuZGFyLm5leHQoY2FsZW5kYXIpO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdEV2ZW50KHsgdHlwZTogQVhFdmVudFR5cGVzLkFYQ2FsZW5kYXJDaGFuZ2VkLCBwYXlsb2FkOiB0aGlzLmdldEFjdGl2ZUNhbGVuZGFyKCkgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSG9saWRheXNDaGFuZ2VkOiBTdWJqZWN0PEFYSG9saWRheURhdGVbXT4gPSBuZXcgU3ViamVjdDxBWEhvbGlkYXlEYXRlW10+KCk7XG4gIHByaXZhdGUgX2hvbGlkYXlzOiBBWEhvbGlkYXlEYXRlW10gPSBbXTtcbiAgcHVibGljIGdldCBob2xpZGF5cygpOiBBWEhvbGlkYXlEYXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9hZEhvbGlkYXlzKCk7XG4gIH1cblxuICBwdWJsaWMgbG9hZEhvbGlkYXlzKG9wdGlvbnM/OiBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5c0xvYWRlci5nZXRIb2xpZGF5cyhvcHRpb25zKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5faG9saWRheXMgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25Ib2xpZGF5c0NoYW5nZWQubmV4dCh0aGlzLl9ob2xpZGF5cyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBBWERhdGVWYWx1ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUgfCBEYXRlLCBjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZSh2YWx1ZSwgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWU/LnllYXIgJiYgdmFsdWU/Lm1vbnRoKSB7XG4gICAgICByZXR1cm4gY2FsZW5kYXIuY3JlYXRlKHZhbHVlIGFzIEFYRGF0ZVZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm93KCk7XG4gIH1cblxuICBwdWJsaWMgbm93KGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgIGNvbnN0IGNhbGVuZGFyID0gY2FsZW5kYXJOYW1lID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKSA6IHRoaXMuY2FsZW5kYXI7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIGNhbGVuZGFyKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogQVhDYWxlbmRhciB7XG4gICAgY29uc3QgYyA9IHRoaXMuY29uZmlnLmNhbGVuZGFyc1tuYW1lXTtcbiAgICBpZiAoIWMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFwiJHtuYW1lfVwiIGlzIG5vdCBhIHZhbGlkIGNhbGVuZGFyIG5hbWUhYCk7XG4gICAgICByZXR1cm4gdGhpcy5jYWxlbmRhcjtcbiAgICB9XG4gICAgcmV0dXJuIGM7XG4gIH1cblxuICBwdWJsaWMgY29udmVydCh2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUgfCBzdHJpbmcsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgIGNvbnN0IGlzSVNPU3RyaW5nID0gKHN0cikgPT4ge1xuICAgICAgaWYgKCEvXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oLlxcZHszfVopPy8udGVzdChzdHIpKSByZXR1cm4gZmFsc2U7XG4gICAgICBjb25zdCBkID0gbmV3IERhdGUoc3RyKTtcbiAgICAgIHJldHVybiBkIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZC5nZXRUaW1lKCkpOyAvLyB2YWxpZCBkYXRlXG4gICAgfTtcbiAgICAvL1xuICAgIGNvbnN0IGNhbGVuZGFyID0gY2FsZW5kYXJOYW1lID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKSA6IHRoaXMuY2FsZW5kYXI7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpc0lTT1N0cmluZyh2YWx1ZSkpIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSh2YWx1ZSksIGNhbGVuZGFyKTtcbiAgICAgIGVsc2UgcmV0dXJuIGNhbGVuZGFyLnBhcnNlKHZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgZGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSA/IHZhbHVlLmRhdGUgOiAodmFsdWUgYXMgRGF0ZSk7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGRhdGUsIGNhbGVuZGFyKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './lib/event.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZXZlbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZXZlbnQuc2VydmljZSc7XG4iXX0=
2
+ export * from './lib/event.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZXZlbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ldmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V2ZW50LnR5cGUnO1xuIl19
@@ -1,9 +1,16 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class AXEventService {
4
5
  constructor() {
6
+ this.eventSubject = new Subject();
7
+ // Observable property
8
+ this.onEvent = this.eventSubject.asObservable();
5
9
  this.list = [];
6
10
  }
11
+ emitEvent(event) {
12
+ this.eventSubject.next(event);
13
+ }
7
14
  broadcast(key, options) {
8
15
  const d = this.list.find((c) => c.key === key);
9
16
  if (d) {
@@ -33,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
33
40
  type: Injectable,
34
41
  args: [{ providedIn: 'root' }]
35
42
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsU0FBSSxHQUFVLEVBQUUsQ0FBQztLQTBCMUI7SUF4QlEsU0FBUyxDQUFDLEdBQVcsRUFBRSxPQUFhO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDMUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxFQUFFLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3RELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDM0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQzs4R0ExQlUsY0FBYztrSEFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cy5mb3JFYWNoKChjOiBhbnkpID0+IHtcbiAgICAgICAgYyhvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbihrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKSB7XG4gICAgbGV0IGQgPSB0aGlzLmxpc3QuZmluZCgoYykgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgaWYgKCFkKSB7XG4gICAgICBkID0geyBrZXksIGV2ZW50czogW10gfTtcbiAgICAgIHRoaXMubGlzdC5wdXNoKGQpO1xuICAgIH1cbiAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KGtleTogc3RyaW5nLCBjYWxsYmFjazogKG9wdGlvbnM/OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXM0MsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFHVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDbEQsc0JBQXNCO1FBQ2YsWUFBTyxHQUE0QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBT25FLFNBQUksR0FBVSxFQUFFLENBQUM7S0EwQjFCO0lBL0JDLFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBS00sU0FBUyxDQUFDLEdBQVcsRUFBRSxPQUFhO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDMUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxFQUFFLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3RELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDM0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQzs4R0FwQ1UsY0FBYztrSEFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBBWEV2ZW50RGF0YSB7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF5bG9hZD86IGFueTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcblxuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYRXZlbnREYXRhPigpO1xuICAvLyBPYnNlcnZhYmxlIHByb3BlcnR5XG4gIHB1YmxpYyBvbkV2ZW50OiBPYnNlcnZhYmxlPEFYRXZlbnREYXRhPiA9IHRoaXMuZXZlbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGVtaXRFdmVudChldmVudDogQVhFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cy5mb3JFYWNoKChjOiBhbnkpID0+IHtcbiAgICAgICAgYyhvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbihrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKSB7XG4gICAgbGV0IGQgPSB0aGlzLmxpc3QuZmluZCgoYykgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgaWYgKCFkKSB7XG4gICAgICBkID0geyBrZXksIGV2ZW50czogW10gfTtcbiAgICAgIHRoaXMubGlzdC5wdXNoKGQpO1xuICAgIH1cbiAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KGtleTogc3RyaW5nLCBjYWxsYmFjazogKG9wdGlvbnM/OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export const AXEventTypes = {
2
+ AXLanguageChanged: 'AX_LANGUAGE_CHANGED',
3
+ AXLanguageLoaded: 'AX_LANGUAGE_LOADED',
4
+ AXCalendarChanged: 'AX_CALENDAR_CHANGED',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLGlCQUFpQixFQUFFLHFCQUFxQjtDQUMzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYRXZlbnRUeXBlcyA9IHtcbiAgICBBWExhbmd1YWdlQ2hhbmdlZDogJ0FYX0xBTkdVQUdFX0NIQU5HRUQnLFxuICAgIEFYTGFuZ3VhZ2VMb2FkZWQ6ICdBWF9MQU5HVUFHRV9MT0FERUQnLFxuICAgIEFYQ2FsZW5kYXJDaGFuZ2VkOiAnQVhfQ0FMRU5EQVJfQ0hBTkdFRCcsXG59Il19
@@ -4,4 +4,5 @@ export * from './lib/format.module';
4
4
  export * from './lib/format.pipe';
5
5
  export * from './lib/format.service';
6
6
  export * from './lib/formatters/number-formatter';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1hdC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXQuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1hdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0dGVycy9udW1iZXItZm9ybWF0dGVyJztcbiJdfQ==
7
+ export * from './lib/formatters/string-formatter';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0LnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1hdC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtYXR0ZXJzL251bWJlci1mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0dGVycy9zdHJpbmctZm9ybWF0dGVyJztcbiJdfQ==
@@ -1,11 +1,12 @@
1
- import { APP_INITIALIZER, NgModule } from '@angular/core';
1
+ import { Inject, NgModule } from '@angular/core';
2
2
  import { AXFormatPipe } from './format.pipe';
3
3
  import { AXNumberFormatter } from './formatters/number-formatter';
4
4
  import { AXFormatterRegistryService } from './format.service';
5
+ import { AXStringFormatter } from './formatters/string-formatter';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "./format.service";
7
7
  const BUILT_IN_RULES = [
8
8
  AXNumberFormatter,
9
+ AXStringFormatter
9
10
  ];
10
11
  export class AXFormatModule {
11
12
  static forRoot(configs) {
@@ -14,8 +15,10 @@ export class AXFormatModule {
14
15
  providers: [
15
16
  ...(configs?.formatters || []),
16
17
  {
17
- provide: APP_INITIALIZER,
18
- useFactory: (pluginRegistry) => () => pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.formatters || [])]),
18
+ provide: 'AXFormatModuleFactory',
19
+ useFactory: (pluginRegistry) => () => {
20
+ pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.formatters || [])]);
21
+ },
19
22
  deps: [AXFormatterRegistryService],
20
23
  multi: true
21
24
  }
@@ -23,22 +26,30 @@ export class AXFormatModule {
23
26
  };
24
27
  }
25
28
  static forChild(configs) {
26
- AXFormatModule.registry.register(...[...BUILT_IN_RULES, ...(configs?.formatters || [])]);
27
29
  return {
28
30
  ngModule: AXFormatModule,
29
31
  providers: [
30
- ...(configs?.formatters || [])
32
+ ...(configs?.formatters || []),
33
+ {
34
+ provide: 'AXFormatModuleFactory',
35
+ useFactory: (pluginRegistry) => () => {
36
+ pluginRegistry.register(...[...BUILT_IN_RULES, ...(configs?.formatters || [])]);
37
+ },
38
+ deps: [AXFormatterRegistryService],
39
+ multi: true
40
+ }
31
41
  ]
32
42
  };
33
43
  }
34
44
  /**
35
45
  * @ignore
36
46
  */
37
- constructor(pluginRegistry) {
38
- AXFormatModule.registry = pluginRegistry;
39
- AXFormatModule.registry.register(...BUILT_IN_RULES);
47
+ constructor(instances) {
48
+ instances.forEach(f => {
49
+ f();
50
+ });
40
51
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatModule, deps: [{ token: i1.AXFormatterRegistryService }], target: i0.ɵɵFactoryTarget.NgModule }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatModule, deps: [{ token: 'AXFormatModuleFactory' }], target: i0.ɵɵFactoryTarget.NgModule }); }
42
53
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXFormatModule, declarations: [AXFormatPipe], exports: [AXFormatPipe] }); }
43
54
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatModule }); }
44
55
  }
@@ -49,5 +60,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
49
60
  exports: [AXFormatPipe],
50
61
  declarations: [AXFormatPipe],
51
62
  }]
52
- }], ctorParameters: () => [{ type: i1.AXFormatterRegistryService }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9mb3JtYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFJOUQsTUFBTSxjQUFjLEdBQUc7SUFDckIsaUJBQWlCO0NBQ2xCLENBQUE7QUFXRCxNQUFNLE9BQU8sY0FBYztJQUl6QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzVDLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO2dCQUM5QjtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLENBQUMsY0FBMEMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQy9ELGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pGLElBQUksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUNsQyxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQStCO1FBQzdDLGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7YUFDL0I7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxjQUEwQztRQUNwRCxjQUFjLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN6QyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBcENVLGNBQWM7K0dBQWQsY0FBYyxpQkFGVixZQUFZLGFBRGpCLFlBQVk7K0dBR1gsY0FBYzs7MkZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEZvcm1hdFBpcGUgfSBmcm9tICcuL2Zvcm1hdC5waXBlJztcbmltcG9ydCB7IEFYTnVtYmVyRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXR0ZXJzL251bWJlci1mb3JtYXR0ZXInO1xuaW1wb3J0IHsgQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL2Zvcm1hdC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXQuY29uZmlnJztcblxuXG5jb25zdCBCVUlMVF9JTl9SVUxFUyA9IFtcbiAgQVhOdW1iZXJGb3JtYXR0ZXIsXG5dXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhGb3JtYXRNb2R1bGVDb25maWdzIHtcbiAgZm9ybWF0dGVyczogKG5ldyAoKSA9PiBBWEZvcm1hdHRlcilbXVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW0FYRm9ybWF0UGlwZV0sXG4gIGRlY2xhcmF0aW9uczogW0FYRm9ybWF0UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYRm9ybWF0TW9kdWxlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWdpc3RyeTogQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2U7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlncz86IEFYRm9ybWF0TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhGb3JtYXRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYRm9ybWF0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihjb25maWdzPy5mb3JtYXR0ZXJzIHx8IFtdKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocGx1Z2luUmVnaXN0cnk6IEFYRm9ybWF0dGVyUmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PlxuICAgICAgICAgICAgcGx1Z2luUmVnaXN0cnkucmVnaXN0ZXIoLi4uWy4uLkJVSUxUX0lOX1JVTEVTLCAuLi4oY29uZmlncz8uZm9ybWF0dGVycyB8fCBbXSldKSxcbiAgICAgICAgICBkZXBzOiBbQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZ3M/OiBBWEZvcm1hdE1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYRm9ybWF0TW9kdWxlPiB7XG4gICAgQVhGb3JtYXRNb2R1bGUucmVnaXN0cnkucmVnaXN0ZXIoLi4uWy4uLkJVSUxUX0lOX1JVTEVTLCAuLi4oY29uZmlncz8uZm9ybWF0dGVycyB8fCBbXSldKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYRm9ybWF0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihjb25maWdzPy5mb3JtYXR0ZXJzIHx8IFtdKVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocGx1Z2luUmVnaXN0cnk6IEFYRm9ybWF0dGVyUmVnaXN0cnlTZXJ2aWNlKSB7XG4gICAgQVhGb3JtYXRNb2R1bGUucmVnaXN0cnkgPSBwbHVnaW5SZWdpc3RyeTtcbiAgICBBWEZvcm1hdE1vZHVsZS5yZWdpc3RyeS5yZWdpc3RlciguLi5CVUlMVF9JTl9SVUxFUyk7XG4gIH1cbn1cbiJdfQ==
63
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: ['AXFormatModuleFactory']
66
+ }] }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9mb3JtYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUdsRSxNQUFNLGNBQWMsR0FBRztJQUNyQixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ2xCLENBQUE7QUFXRCxNQUFNLE9BQU8sY0FBYztJQUd6QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzVDLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO2dCQUM5QjtvQkFDRSxPQUFPLEVBQUUsdUJBQXVCO29CQUNoQyxVQUFVLEVBQUUsQ0FBQyxjQUEwQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQy9ELGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEYsQ0FBQztvQkFDRCxJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDbEMsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUErQjtRQUM3QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztnQkFDOUI7b0JBQ0UsT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsVUFBVSxFQUFFLENBQUMsY0FBMEMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO3dCQUMvRCxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2xGLENBQUM7b0JBQ0QsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ2xDLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBRUY7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBNkMsU0FBZ0I7UUFDM0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3Q1UsY0FBYyxrQkF5Q0wsdUJBQXVCOytHQXpDaEMsY0FBYyxpQkFGVixZQUFZLGFBRGpCLFlBQVk7K0dBR1gsY0FBYzs7MkZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDN0I7OzBCQTBDYyxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9ybWF0UGlwZSB9IGZyb20gJy4vZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHsgQVhOdW1iZXJGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdHRlcnMvbnVtYmVyLWZvcm1hdHRlcic7XG5pbXBvcnQgeyBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vZm9ybWF0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdC5jb25maWcnO1xuaW1wb3J0IHsgQVhTdHJpbmdGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdHRlcnMvc3RyaW5nLWZvcm1hdHRlcic7XG5cblxuY29uc3QgQlVJTFRfSU5fUlVMRVMgPSBbXG4gIEFYTnVtYmVyRm9ybWF0dGVyLFxuICBBWFN0cmluZ0Zvcm1hdHRlclxuXVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYRm9ybWF0TW9kdWxlQ29uZmlncyB7XG4gIGZvcm1hdHRlcnM6IChuZXcgKCkgPT4gQVhGb3JtYXR0ZXIpW11cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtBWEZvcm1hdFBpcGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBWEZvcm1hdFBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdE1vZHVsZSB7XG5cblxuICBzdGF0aWMgZm9yUm9vdChjb25maWdzPzogQVhGb3JtYXRNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWEZvcm1hdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhGb3JtYXRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uKGNvbmZpZ3M/LmZvcm1hdHRlcnMgfHwgW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYRm9ybWF0TW9kdWxlRmFjdG9yeScsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHBsdWdpblJlZ2lzdHJ5OiBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcGx1Z2luUmVnaXN0cnkucmVnaXN0ZXIoLi4uWy4uLkJVSUxUX0lOX1JVTEVTLCAuLi4oY29uZmlncz8uZm9ybWF0dGVycyB8fCBbXSldKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHM6IFtBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlncz86IEFYRm9ybWF0TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhGb3JtYXRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYRm9ybWF0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihjb25maWdzPy5mb3JtYXR0ZXJzIHx8IFtdKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6ICdBWEZvcm1hdE1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChwbHVnaW5SZWdpc3RyeTogQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgIHBsdWdpblJlZ2lzdHJ5LnJlZ2lzdGVyKC4uLlsuLi5CVUlMVF9JTl9SVUxFUywgLi4uKGNvbmZpZ3M/LmZvcm1hdHRlcnMgfHwgW10pXSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cblxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoQEluamVjdCgnQVhGb3JtYXRNb2R1bGVGYWN0b3J5JykgaW5zdGFuY2VzOiBhbnlbXSkge1xuICAgIGluc3RhbmNlcy5mb3JFYWNoKGYgPT4ge1xuICAgICAgZigpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,21 +1,33 @@
1
1
  import { Pipe, inject } from '@angular/core';
2
2
  import { AXFormatService } from './format.service';
3
+ import { filter, of, startWith, switchMap } from 'rxjs';
4
+ import { AXEventService } from '@acorex/core/events';
3
5
  import * as i0 from "@angular/core";
4
6
  export class AXFormatPipe {
5
7
  constructor() {
6
8
  this.formatService = inject(AXFormatService);
9
+ this.eventService = inject(AXEventService);
10
+ this.triggers = ['AX_CALENDAR_CHANGED', 'AX_LANGUAGE_CHANGED', 'AX_LANGUAGE_LOADED'];
7
11
  }
8
12
  transform(value, name, options) {
9
- return this.formatService.format(value, name, options);
13
+ // Initial formatted value
14
+ const initialFormattedValue = this.formatService.format(value, name, options);
15
+ // React to language changes and re-format the value
16
+ return this.eventService.onEvent.pipe(filter((event) => this.triggers.includes(event.type)), startWith(initialFormattedValue), // Emit the initial formatted value immediately
17
+ switchMap((event) => {
18
+ // Re-call format method on every language change
19
+ const formattedValue = this.formatService.format(value, name, options);
20
+ return of(formattedValue);
21
+ }));
10
22
  }
11
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, name: "format", pure: false }); }
24
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, name: "format" }); }
13
25
  }
14
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, decorators: [{
15
27
  type: Pipe,
16
28
  args: [{
17
29
  name: 'format',
18
- pure: false,
30
+ pure: true
19
31
  }]
20
32
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPbkQsTUFBTSxPQUFPLFlBQVk7SUFKekI7UUFLVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUtqRDtJQUhDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFFLE9BQWtDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQUxVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtYXQuc2VydmljZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuL2Zvcm1hdC50eXBlcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1hdCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnMgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCBuYW1lIGFzIGFueSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQWMsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLFlBQVk7SUFKekI7UUFLVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0tBaUJ4RjtJQWZDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFFLE9BQWtDO1FBQ3hFLDBCQUEwQjtRQUMxQixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckYsb0RBQW9EO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxNQUFNLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbEUsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsK0NBQStDO1FBQ2pGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xCLGlEQUFpRDtZQUNqRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXBCVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJy4vZm9ybWF0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhGb3JtYXRPcHRpb25zIH0gZnJvbSAnLi9mb3JtYXQudHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWEV2ZW50RGF0YSB9IGZyb20gJ0BhY29yZXgvY29yZS9ldmVudHMnO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1hdCcsXG4gIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG5cbiAgcHJpdmF0ZSB0cmlnZ2VycyA9IFsnQVhfQ0FMRU5EQVJfQ0hBTkdFRCcsICdBWF9MQU5HVUFHRV9DSEFOR0VEJywgJ0FYX0xBTkdVQUdFX0xPQURFRCddXG5cbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnMgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIC8vIEluaXRpYWwgZm9ybWF0dGVkIHZhbHVlXG4gICAgY29uc3QgaW5pdGlhbEZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh2YWx1ZSwgbmFtZSBhcyBhbnksIG9wdGlvbnMpO1xuXG4gICAgLy8gUmVhY3QgdG8gbGFuZ3VhZ2UgY2hhbmdlcyBhbmQgcmUtZm9ybWF0IHRoZSB2YWx1ZVxuICAgIHJldHVybiB0aGlzLmV2ZW50U2VydmljZS5vbkV2ZW50LnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBBWEV2ZW50RGF0YSkgPT4gdGhpcy50cmlnZ2Vycy5pbmNsdWRlcyhldmVudC50eXBlKSksXG4gICAgICBzdGFydFdpdGgoaW5pdGlhbEZvcm1hdHRlZFZhbHVlKSwgLy8gRW1pdCB0aGUgaW5pdGlhbCBmb3JtYXR0ZWQgdmFsdWUgaW1tZWRpYXRlbHlcbiAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgLy8gUmUtY2FsbCBmb3JtYXQgbWV0aG9kIG9uIGV2ZXJ5IGxhbmd1YWdlIGNoYW5nZVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodmFsdWUsIG5hbWUgYXMgYW55LCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIG9mKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { Injectable, Injector } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class AXFormatterRegistryService {
4
5
  constructor(injector) {
@@ -29,6 +30,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
29
30
  export class AXFormatService {
30
31
  constructor(pluginRegistry) {
31
32
  this.pluginRegistry = pluginRegistry;
33
+ this.renderSubject = new Subject();
34
+ // Observable that other services/components can subscribe to
35
+ this.onRender = this.renderSubject.asObservable();
36
+ }
37
+ render() {
38
+ this.renderSubject.next();
32
39
  }
33
40
  /**
34
41
  * Resolves a formatter by its name.
@@ -82,4 +89,4 @@ class AXFormatFluent {
82
89
  }
83
90
  }
84
91
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3JELE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFBWSxRQUFrQjtRQUp0QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUtsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsT0FBa0M7UUFDNUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JILE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzhHQXRCVSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQTJCRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNVLGNBQTBDO1FBQTFDLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtJQUNoRCxDQUFDO0lBRUw7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLElBQVk7UUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQVlELHNDQUFzQztJQUN0QyxNQUFNLENBQ0osS0FBYyxFQUNkLFNBQWEsRUFDYixPQUErQjtRQUUvQixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDOzhHQXhDVSxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBNkNsQyxNQUFNLGNBQWM7SUFFbEIsWUFBb0IsYUFBOEIsRUFBVSxZQUFxQjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBUztJQUFJLENBQUM7SUFFdEY7Ozs7O1FBS0k7SUFDSixFQUFFLENBQXFDLFNBQVksRUFBRSxPQUErQjtRQUNsRixJQUFJO1lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRSxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2Qsb0NBQW9DO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXQuY29uZmlnJztcbmltcG9ydCB7IEFYRm9ybWF0T3B0aW9uc01hcCB9IGZyb20gJy4vZm9ybWF0LnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2Uge1xuICBwcml2YXRlIHBsdWdpbnM6IEFYRm9ybWF0dGVyW10gPSBbXTtcblxuICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmluamVjdG9yID0gaW5qZWN0b3I7XG4gIH1cblxuICByZWdpc3RlciguLi5wbHVnaW5zOiAobmV3ICgpID0+IEFYRm9ybWF0dGVyKVtdKSB7XG4gICAgcGx1Z2lucy5mb3JFYWNoKHQgPT4ge1xuICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogdCwgdXNlQ2xhc3M6IHQsIGRlcHM6IFtdIH1dLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgICBjb25zdCB2ID0gY2hpbGRJbmplY3Rvci5nZXQodCk7XG5cbiAgICAgIGlmICh2ICYmICF0aGlzLnBsdWdpbnMuc29tZShwID0+IHAubmFtZSA9PSB2Lm5hbWUpKSB7XG4gICAgICAgIHRoaXMucGx1Z2lucy5wdXNoKHYpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXQgZm9ybWF0dGVycygpOiBBWEZvcm1hdHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW5zO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW5SZWdpc3RyeTogQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBmb3JtYXR0ZXIgYnkgaXRzIG5hbWUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBmb3JtYXR0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZXIgaWYgZm91bmQsIG90aGVyd2lzZSB0aHJvd3MgYW4gZXJyb3IuXG4gICAqL1xuICByZXNvbHZlRm9ybWF0dGVyKG5hbWU6IHN0cmluZyk6IEFYRm9ybWF0dGVyIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSB0aGlzLnBsdWdpblJlZ2lzdHJ5LmZvcm1hdHRlcnMuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpO1xuICAgIGlmICghZm9ybWF0dGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvcm1hdHRlciBub3QgZm91bmQ6ICR7bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdHRlcjtcbiAgfVxuXG4gIC8vIE92ZXJsb2FkIGZvciB0cmFkaXRpb25hbCBmb3JtYXR0aW5nXG4gIGZvcm1hdDxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBuYW1lOiBLLFxuICAgIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS11cbiAgKTogc3RyaW5nO1xuXG4gIC8vIE92ZXJsb2FkIGZvciBzdGFydGluZyBmbHVlbnQgQVBJIGNoYWluXG4gIGZvcm1hdCh2YWx1ZTogdW5rbm93bik6IEFYRm9ybWF0Rmx1ZW50O1xuXG4gIC8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBmb3JtYXQgbWV0aG9kXG4gIGZvcm1hdDxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBmb3JtYXR0ZXI/OiBLLFxuICAgIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS11cbiAgKTogc3RyaW5nIHwgQVhGb3JtYXRGbHVlbnQge1xuICAgIGlmICh0eXBlb2YgZm9ybWF0dGVyID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZm9ybWF0dGVyUmVmID0gdGhpcy5yZXNvbHZlRm9ybWF0dGVyKGZvcm1hdHRlcik7XG4gICAgICByZXR1cm4gZm9ybWF0dGVyUmVmLmZvcm1hdCh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgQVhGb3JtYXRGbHVlbnQodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5cbmNsYXNzIEFYRm9ybWF0Rmx1ZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZSwgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IHVua25vd24pIHsgfVxuXG4gIC8qKlxuICAgICogRm9ybWF0cyB0aGUgdmFsdWUgdXNpbmcgdGhlIHNwZWNpZmllZCBmb3JtYXR0ZXIgYW5kIG9wdGlvbnMuXG4gICAgKiBAcGFyYW0gZm9ybWF0dGVyIFRoZSBuYW1lIG9mIHRoZSBmb3JtYXR0ZXIgdG8gdXNlLlxuICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgZm9ybWF0dGVyLlxuICAgICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBzdHJpbmcuXG4gICAgKi9cbiAgdG88SyBleHRlbmRzIGtleW9mIEFYRm9ybWF0T3B0aW9uc01hcD4oZm9ybWF0dGVyOiBLLCBvcHRpb25zPzogQVhGb3JtYXRPcHRpb25zTWFwW0tdKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZm9ybWF0dGVyUmVmID0gdGhpcy5mb3JtYXRTZXJ2aWNlLnJlc29sdmVGb3JtYXR0ZXIoZm9ybWF0dGVyKTtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXJSZWYuZm9ybWF0KHRoaXMuaW5pdGlhbFZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIG9yIGxvZyB0aGUgZXJyb3IgYXMgbmVlZGVkXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiBTdHJpbmcodGhpcy5pbml0aWFsVmFsdWUpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFZLFFBQWtCO1FBSnRCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBS2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxPQUFrQztRQUM1QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckgsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7OEdBdEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBMkJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsY0FBMEM7UUFBMUMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBSTVDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1Qyw2REFBNkQ7UUFDN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFOekMsQ0FBQztJQVNMLE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBWUQsc0NBQXNDO0lBQ3RDLE1BQU0sQ0FDSixLQUFjLEVBQ2QsU0FBYSxFQUNiLE9BQStCO1FBRS9CLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7OEdBcERVLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUF5RGxDLE1BQU0sY0FBYztJQUVsQixZQUFvQixhQUE4QixFQUFVLFlBQXFCO1FBQTdELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFTO0lBQUksQ0FBQztJQUV0Rjs7Ozs7UUFLSTtJQUNKLEVBQUUsQ0FBcUMsU0FBWSxFQUFFLE9BQStCO1FBQ2xGLElBQUk7WUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxvQ0FBb0M7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdC5jb25maWcnO1xuaW1wb3J0IHsgQVhGb3JtYXRPcHRpb25zTWFwIH0gZnJvbSAnLi9mb3JtYXQudHlwZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgcGx1Z2luczogQVhGb3JtYXR0ZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgfVxuXG4gIHJlZ2lzdGVyKC4uLnBsdWdpbnM6IChuZXcgKCkgPT4gQVhGb3JtYXR0ZXIpW10pIHtcbiAgICBwbHVnaW5zLmZvckVhY2godCA9PiB7XG4gICAgICBjb25zdCBjaGlsZEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiB0LCB1c2VDbGFzczogdCwgZGVwczogW10gfV0sIHBhcmVudDogdGhpcy5pbmplY3RvciB9KTtcbiAgICAgIGNvbnN0IHYgPSBjaGlsZEluamVjdG9yLmdldCh0KTtcblxuICAgICAgaWYgKHYgJiYgIXRoaXMucGx1Z2lucy5zb21lKHAgPT4gcC5uYW1lID09IHYubmFtZSkpIHtcbiAgICAgICAgdGhpcy5wbHVnaW5zLnB1c2godik7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldCBmb3JtYXR0ZXJzKCk6IEFYRm9ybWF0dGVyW10ge1xuICAgIHJldHVybiB0aGlzLnBsdWdpbnM7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpblJlZ2lzdHJ5OiBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZVxuICApIHsgfVxuXG5cbiAgcHJpdmF0ZSByZW5kZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBPYnNlcnZhYmxlIHRoYXQgb3RoZXIgc2VydmljZXMvY29tcG9uZW50cyBjYW4gc3Vic2NyaWJlIHRvXG4gIG9uUmVuZGVyID0gdGhpcy5yZW5kZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG5cbiAgcmVuZGVyKCkge1xuICAgIHRoaXMucmVuZGVyU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIGZvcm1hdHRlciBieSBpdHMgbmFtZS5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGZvcm1hdHRlci5cbiAgICogQHJldHVybnMgVGhlIGZvcm1hdHRlciBpZiBmb3VuZCwgb3RoZXJ3aXNlIHRocm93cyBhbiBlcnJvci5cbiAgICovXG4gIHJlc29sdmVGb3JtYXR0ZXIobmFtZTogc3RyaW5nKTogQVhGb3JtYXR0ZXIge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IHRoaXMucGx1Z2luUmVnaXN0cnkuZm9ybWF0dGVycy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG4gICAgaWYgKCFmb3JtYXR0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRm9ybWF0dGVyIG5vdCBmb3VuZDogJHtuYW1lfWApO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVyO1xuICB9XG5cbiAgLy8gT3ZlcmxvYWQgZm9yIHRyYWRpdGlvbmFsIGZvcm1hdHRpbmdcbiAgZm9ybWF0PEsgZXh0ZW5kcyBrZXlvZiBBWEZvcm1hdE9wdGlvbnNNYXA+KFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIG5hbWU6IEssXG4gICAgb3B0aW9ucz86IEFYRm9ybWF0T3B0aW9uc01hcFtLXVxuICApOiBzdHJpbmc7XG5cbiAgLy8gT3ZlcmxvYWQgZm9yIHN0YXJ0aW5nIGZsdWVudCBBUEkgY2hhaW5cbiAgZm9ybWF0KHZhbHVlOiB1bmtub3duKTogQVhGb3JtYXRGbHVlbnQ7XG5cbiAgLy8gSW1wbGVtZW50YXRpb24gb2YgdGhlIGZvcm1hdCBtZXRob2RcbiAgZm9ybWF0PEsgZXh0ZW5kcyBrZXlvZiBBWEZvcm1hdE9wdGlvbnNNYXA+KFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGZvcm1hdHRlcj86IEssXG4gICAgb3B0aW9ucz86IEFYRm9ybWF0T3B0aW9uc01hcFtLXVxuICApOiBzdHJpbmcgfCBBWEZvcm1hdEZsdWVudCB7XG4gICAgaWYgKHR5cGVvZiBmb3JtYXR0ZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZXJSZWYgPSB0aGlzLnJlc29sdmVGb3JtYXR0ZXIoZm9ybWF0dGVyKTtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXJSZWYuZm9ybWF0KHZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBBWEZvcm1hdEZsdWVudCh0aGlzLCB2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cblxuY2xhc3MgQVhGb3JtYXRGbHVlbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybWF0U2VydmljZTogQVhGb3JtYXRTZXJ2aWNlLCBwcml2YXRlIGluaXRpYWxWYWx1ZTogdW5rbm93bikgeyB9XG5cbiAgLyoqXG4gICAgKiBGb3JtYXRzIHRoZSB2YWx1ZSB1c2luZyB0aGUgc3BlY2lmaWVkIGZvcm1hdHRlciBhbmQgb3B0aW9ucy5cbiAgICAqIEBwYXJhbSBmb3JtYXR0ZXIgVGhlIG5hbWUgb2YgdGhlIGZvcm1hdHRlciB0byB1c2UuXG4gICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBmb3JtYXR0ZXIuXG4gICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHN0cmluZy5cbiAgICAqL1xuICB0bzxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihmb3JtYXR0ZXI6IEssIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS10pOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZXJSZWYgPSB0aGlzLmZvcm1hdFNlcnZpY2UucmVzb2x2ZUZvcm1hdHRlcihmb3JtYXR0ZXIpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlclJlZi5mb3JtYXQodGhpcy5pbml0aWFsVmFsdWUsIG9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgb3IgbG9nIHRoZSBlcnJvciBhcyBuZWVkZWRcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ export class AXStringFormatter {
2
+ get name() {
3
+ return 'string';
4
+ }
5
+ format(value, options) {
6
+ debugger;
7
+ if (typeof value != 'string')
8
+ return String(value);
9
+ const result = value.replace(/{{\s*([^}]+)\s*}}/g, (match, variable) => {
10
+ const value = options?.[variable];
11
+ return value ?? match;
12
+ });
13
+ return result;
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9mb3JtYXR0ZXJzL3N0cmluZy1mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixJQUFJLElBQUk7UUFDTixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWMsRUFBRSxPQUFpQztRQUN0RCxRQUFRLENBQUE7UUFDUixJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVE7WUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBRXJFLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBVyxDQUFDO1lBQzVDLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0dGVyIH0gZnJvbSAnLi4vZm9ybWF0LmNvbmZpZyc7XG5pbXBvcnQgeyBBWEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuLi9mb3JtYXQudHlwZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhTdHJpbmdGb3JtYXR0ZXJPcHRpb25zIGV4dGVuZHMgQVhGb3JtYXRPcHRpb25zIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG59XG5cbmRlY2xhcmUgbW9kdWxlICcuLi9mb3JtYXQudHlwZXMnIHtcbiAgaW50ZXJmYWNlIEFYRm9ybWF0T3B0aW9uc01hcCB7XG4gICAgJ3N0cmluZyc6IEFYU3RyaW5nRm9ybWF0dGVyT3B0aW9ucztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhTdHJpbmdGb3JtYXR0ZXIgaW1wbGVtZW50cyBBWEZvcm1hdHRlciB7XG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdzdHJpbmcnO1xuICB9XG5cbiAgZm9ybWF0KHZhbHVlOiB1bmtub3duLCBvcHRpb25zOiBBWFN0cmluZ0Zvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGRlYnVnZ2VyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdmFsdWUucmVwbGFjZSgve3tcXHMqKFtefV0rKVxccyp9fS9nLCAobWF0Y2gsIHZhcmlhYmxlKSA9PiB7XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucz8uW3ZhcmlhYmxlXSBhcyBzdHJpbmc7XG4gICAgICByZXR1cm4gdmFsdWUgPz8gbWF0Y2g7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -1,8 +1,9 @@
1
1
  import { Injectable, inject } from '@angular/core';
2
- import { BehaviorSubject, catchError, forkJoin, map, of, switchMap, tap } from 'rxjs';
2
+ import { BehaviorSubject, catchError, finalize, firstValueFrom, forkJoin, map, of, shareReplay, startWith, switchMap, take, tap } from 'rxjs';
3
3
  import { AX_TRANSLATION_LOADER } from './translation.loader';
4
4
  import { set as lodashSet, get as lodashGet } from 'lodash-es';
5
5
  import { AX_TRANSLATION_CONFIG } from './translation.config';
6
+ import { AXEventService, AXEventTypes } from '@acorex/core/events';
6
7
  import * as i0 from "@angular/core";
7
8
  let service;
8
9
  export function translateSync(key, options) {
@@ -15,22 +16,41 @@ export class AXTranslationService {
15
16
  constructor() {
16
17
  this.loader = inject(AX_TRANSLATION_LOADER);
17
18
  this.config = inject(AX_TRANSLATION_CONFIG);
19
+ this.eventService = inject(AXEventService);
18
20
  this.translationCache = {};
21
+ this.ongoingRequests = new Map();
19
22
  this.activeLang = new BehaviorSubject(this.getDefaultLang());
20
23
  this.langChanges$ = this.activeLang.asObservable();
24
+ this.lastActiveLang = null;
21
25
  service = this;
22
26
  }
23
27
  loadLanguagesAndScopes(languages, scopes) {
24
28
  const requests = languages.flatMap(lang => scopes.map(scope => {
29
+ // Check if translations are already cached
25
30
  if (this.translationCache[lang]?.[scope]) {
26
31
  return of(this.translationCache[lang][scope]);
27
32
  }
28
- return this.loader.getTranslation({ lang, scope }).pipe(tap(translations => this.cacheTranslations(lang, scope, translations)), catchError(error => {
29
- console.error(`Error loading translations for lang: ${lang}, scope: ${scope}`, error);
30
- return of(null); // You can return 'null' or any other fallback value
31
- }));
33
+ // Use the new method to handle ongoing requests and loading
34
+ return this.getOrLoadTranslations(lang, scope);
32
35
  }));
33
- return forkJoin(...requests);
36
+ return forkJoin(requests);
37
+ }
38
+ getOrLoadTranslations(lang, scope) {
39
+ const requestKey = `${lang}_${scope}`;
40
+ // Return existing observable if the request is already in progress
41
+ if (this.ongoingRequests.has(requestKey)) {
42
+ return this.ongoingRequests.get(requestKey);
43
+ }
44
+ // Load translations if not in cache or ongoing requests
45
+ const translationObservable = this.loader.getTranslation({ lang, scope }).pipe(tap(translations => this.cacheTranslations(lang, scope, translations)), catchError(error => {
46
+ console.error(`Error loading translations for lang: ${lang}, scope: ${scope}`, error);
47
+ return of(null);
48
+ }), finalize(() => {
49
+ this.eventService.emitEvent({ type: AXEventTypes.AXLanguageLoaded, payload: lang });
50
+ this.ongoingRequests.delete(requestKey);
51
+ }), shareReplay(1));
52
+ this.ongoingRequests.set(requestKey, translationObservable);
53
+ return translationObservable;
34
54
  }
35
55
  cacheTranslations(lang, scope, translations) {
36
56
  lodashSet(this.translationCache, `${lang}.${scope}`, translations);
@@ -42,17 +62,22 @@ export class AXTranslationService {
42
62
  return this.activeLang.getValue();
43
63
  }
44
64
  setActiveLang(lang) {
45
- this.activeLang.next(lang);
65
+ if (lang != this.getActiveLang()) {
66
+ this.lastActiveLang = this.getActiveLang(); // Update last active language
67
+ this.activeLang.next(lang);
68
+ this.eventService.emitEvent({ type: AXEventTypes.AXLanguageChanged, payload: lang });
69
+ }
46
70
  }
47
71
  load(key, options = {}) {
48
72
  const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options;
73
+ // Function to fetch translation
49
74
  const fetchTranslation = (language) => {
50
75
  // Check if translations are available in the cache
51
76
  if (this.translationCache[language]?.[scope]) {
52
77
  return of(this.getTranslation(key, language, scope, options.params));
53
78
  }
54
- // Load translations for the language and scope
55
- return this.loadLanguagesAndScopes([language], [scope]).pipe(map(() => {
79
+ // Use the new method to handle ongoing requests and loading
80
+ return this.getOrLoadTranslations(language, scope).pipe(map(() => {
56
81
  const translation = this.translationCache[language]?.[scope]?.[key] || key;
57
82
  return this.getTranslation(translation, language, scope, options.params);
58
83
  }), switchMap(translatedText => {
@@ -64,8 +89,14 @@ export class AXTranslationService {
64
89
  return of(translatedText);
65
90
  }));
66
91
  };
67
- // Return the translation or initiate fetching process
68
- return fetchTranslation(lang);
92
+ // First, try to fetch the translation for the requested language
93
+ const translationForRequestedLang = fetchTranslation(lang);
94
+ // If lastActiveLang is available and different from the requested language, use it as a fallback
95
+ if (this.lastActiveLang && this.lastActiveLang !== lang) {
96
+ const translationForLastActiveLang = this.getTranslation(key, this.lastActiveLang, scope, options.params);
97
+ return translationForRequestedLang.pipe(startWith(translationForLastActiveLang));
98
+ }
99
+ return translationForRequestedLang;
69
100
  }
70
101
  getTranslation(key, lang, scope, params) {
71
102
  let translation = (lodashGet(this.translationCache, `${lang}.${scope}.${key}`) || key);
@@ -87,13 +118,42 @@ export class AXTranslationService {
87
118
  if (options?.lang) {
88
119
  return this.load(key, options);
89
120
  }
90
- return this.langChanges$.pipe(switchMap((lang) => {
121
+ return this.langChanges$.pipe(startWith(this.getActiveLang()), switchMap((lang) => {
91
122
  return this.load(key, { ...options, lang: lang });
92
123
  }));
93
124
  }
125
+ async translateAsync(key, options) {
126
+ const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options || {};
127
+ let translation = lodashGet(this.translationCache, `${lang}.${scope}.${key}`);
128
+ if (!translation) {
129
+ // If the translation is not in the cache, load it
130
+ await firstValueFrom(this.load(key, { lang, scope }).pipe(take(1)));
131
+ translation = lodashGet(this.translationCache, `${lang}.${scope}.${key}`);
132
+ }
133
+ // If still not available, try the last active language or default language
134
+ if (!translation && this.lastActiveLang) {
135
+ translation = lodashGet(this.translationCache, `${this.lastActiveLang}.${scope}.${key}`);
136
+ }
137
+ if (!translation) {
138
+ translation = lodashGet(this.translationCache, `${this.getDefaultLang()}.${scope}.${key}`);
139
+ }
140
+ // Perform parameter replacement
141
+ return this.getTranslation((translation || key), lang, scope, options?.params);
142
+ }
94
143
  translateSync(key, options) {
95
144
  const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options || {};
96
- return this.getTranslation(key, lang, scope, options?.params);
145
+ // Check if the translation for the active language is available
146
+ let translation = lodashGet(this.translationCache, `${lang}.${scope}.${key}`);
147
+ // If not available, check lastActiveLang
148
+ if (!translation && this.lastActiveLang) {
149
+ translation = lodashGet(this.translationCache, `${this.lastActiveLang}.${scope}.${key}`);
150
+ }
151
+ // If still not available, use the default language
152
+ if (!translation) {
153
+ translation = lodashGet(this.translationCache, `${this.getDefaultLang()}.${scope}.${key}`);
154
+ }
155
+ // Perform parameter replacement
156
+ return this.getTranslation((translation || key), lang, scope, options?.params);
97
157
  }
98
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
159
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }
@@ -102,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
102
162
  type: Injectable,
103
163
  args: [{ providedIn: 'root' }]
104
164
  }], ctorParameters: () => [] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUU3RCxJQUFJLE9BQTZCLENBQUM7QUFHbEMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7SUFDbkUsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBSUQsTUFBTSxPQUFPLG9CQUFvQjtJQVc3Qjs7T0FFRztJQUNIO1FBWlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3RDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUV0QyxxQkFBZ0IsR0FBbUQsRUFBRSxDQUFDO1FBRXRFLGVBQVUsR0FBNEIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakcsaUJBQVksR0FBdUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU85RCxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFHTSxzQkFBc0IsQ0FBQyxTQUFtQixFQUFFLE1BQWdCO1FBQy9ELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDdEUsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLElBQUksWUFBWSxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvREFBb0Q7WUFDekUsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFlBQXdDO1FBQzNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFJTyxJQUFJLENBQUMsR0FBVyxFQUFFLFVBQThCLEVBQUU7UUFDdEQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWxGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQixFQUFzQixFQUFFO1lBQzlELG1EQUFtRDtZQUNuRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsK0NBQStDO1lBQy9DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEQsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDTCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztnQkFDM0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksY0FBYyxLQUFLLEdBQUcsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO29CQUM5RCxtRUFBbUU7b0JBQ25FLHlDQUF5QztvQkFDekMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztpQkFDbEQ7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLHNEQUFzRDtRQUN0RCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVyxFQUFFLElBQVksRUFBRSxLQUFhLEVBQUUsTUFBMEI7UUFDdkYsSUFBSSxXQUFXLEdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBVyxDQUFBO1FBRXhHLGlDQUFpQztRQUNqQyxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFXLENBQUM7Z0JBQzlDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsUUFBUSxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDOUYsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELDJDQUEyQztRQUMzQyxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUFDO1FBQ3ZELFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQTRCO1FBQ3RELElBQUksT0FBTyxFQUFFLElBQUksRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNyRCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7UUFDMUQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OEdBeEhRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUhhc2hNYXAsIEFYVHJhbnNsYXRlT3B0aW9ucywgQVhUcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IHNldCBhcyBsb2Rhc2hTZXQsIGdldCBhcyBsb2Rhc2hHZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfVFJBTlNMQVRJT05fQ09ORklHIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5jb25maWcnO1xuXG5sZXQgc2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2U7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVN5bmMoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoa2V5LCBvcHRpb25zKTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25TZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgbG9hZGVyID0gaW5qZWN0KEFYX1RSQU5TTEFUSU9OX0xPQURFUilcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpXG5cbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uQ2FjaGU6IEFYVHJhbnNsYXRlSGFzaE1hcDxBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPj4gPSB7fTtcblxuICAgIHByaXZhdGUgYWN0aXZlTGFuZzogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICBsYW5nQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuYWN0aXZlTGFuZy5hc09ic2VydmFibGUoKTtcblxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzZXJ2aWNlID0gdGhpcztcbiAgICB9XG5cblxuICAgIHB1YmxpYyBsb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKGxhbmd1YWdlczogc3RyaW5nW10sIHNjb3Blczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBsYW5ndWFnZXMuZmxhdE1hcChsYW5nID0+XG4gICAgICAgICAgICBzY29wZXMubWFwKHNjb3BlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmddPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ11bc2NvcGVdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVyLmdldFRyYW5zbGF0aW9uKHsgbGFuZywgc2NvcGUgfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKHRyYW5zbGF0aW9ucyA9PiB0aGlzLmNhY2hlVHJhbnNsYXRpb25zKGxhbmcsIHNjb3BlLCB0cmFuc2xhdGlvbnMpKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIHRyYW5zbGF0aW9ucyBmb3IgbGFuZzogJHtsYW5nfSwgc2NvcGU6ICR7c2NvcGV9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpOyAvLyBZb3UgY2FuIHJldHVybiAnbnVsbCcgb3IgYW55IG90aGVyIGZhbGxiYWNrIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKC4uLnJlcXVlc3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZywgdHJhbnNsYXRpb25zOiBBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBsb2Rhc2hTZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfWAsIHRyYW5zbGF0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERlZmF1bHRMYW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlTGFuZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZUxhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlTGFuZy5uZXh0KGxhbmcpO1xuICAgIH1cblxuXG5cbiAgICBwcml2YXRlIGxvYWQoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEFYVHJhbnNsYXRlT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIGNvbnN0IGZldGNoVHJhbnNsYXRpb24gPSAobGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0cmFuc2xhdGlvbnMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGVcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5LCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExvYWQgdHJhbnNsYXRpb25zIGZvciB0aGUgbGFuZ3VhZ2UgYW5kIHNjb3BlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKFtsYW5ndWFnZV0sIFtzY29wZV0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdPy5ba2V5XSB8fCBrZXk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uLCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodHJhbnNsYXRlZFRleHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRlZFRleHQgPT09IGtleSAmJiBsYW5ndWFnZSAhPT0gdGhpcy5nZXREZWZhdWx0TGFuZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNsYXRpb24gaXMgbm90IGZvdW5kIGFuZCB0aGUgbGFuZ3VhZ2UgaXMgbm90IGRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnkgZmV0Y2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoVHJhbnNsYXRpb24odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJhbnNsYXRlZFRleHQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgdHJhbnNsYXRpb24gb3IgaW5pdGlhdGUgZmV0Y2hpbmcgcHJvY2Vzc1xuICAgICAgICByZXR1cm4gZmV0Y2hUcmFuc2xhdGlvbihsYW5nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHBhcmFtcz86IEFYVHJhbnNsYXRlUGFyYW1zKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmcgPSAobG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX0uJHtrZXl9YCkgfHwga2V5KSBhcyBzdHJpbmdcblxuICAgICAgICAvLyBSZXBsYWNlIHBhcmFtcyBsaWtlIHt7IG5hbWUgfX1cbiAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKHBhcmFtS2V5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbVZhbHVlID0gcGFyYW1zW3BhcmFtS2V5XSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5yZXBsYWNlKG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtwYXJhbUtleX1cXFxccyp9fWAsICdnJyksIHBhcmFtVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIHRyYW5zbGF0aW9ucyBsaWtlIHt7IHQoJ2tleScpIH19XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUGF0dGVybiA9IC97e1xccyp0XFwoJyhbXiddKyknXFwpXFxzKn19L2c7XG4gICAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24ucmVwbGFjZSh0cmFuc2xhdGlvblBhdHRlcm4sIChtYXRjaCwgaW5uZXJLZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGlubmVyS2V5LCBsYW5nLCBzY29wZSwgcGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAob3B0aW9ucz8ubGFuZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGtleSwgeyAuLi5vcHRpb25zLCBsYW5nOiBsYW5nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGVTeW5jKGtleTogc3RyaW5nLCBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihrZXksIGxhbmcsIHNjb3BlLCBvcHRpb25zPy5wYXJhbXMpO1xuICAgIH1cbn1cbiJdfQ==
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFKLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLElBQUksU0FBUyxFQUFFLEdBQUcsSUFBSSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHbkUsSUFBSSxPQUE2QixDQUFDO0FBR2xDLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQTRCO0lBQ25FLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUlELE1BQU0sT0FBTyxvQkFBb0I7SUFpQjdCOztPQUVHO0lBQ0g7UUFsQlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV2QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUd0QyxxQkFBZ0IsR0FB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ZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmaXJzdFZhbHVlRnJvbSwgZm9ya0pvaW4sIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUhhc2hNYXAsIEFYVHJhbnNsYXRlT3B0aW9ucywgQVhUcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IHNldCBhcyBsb2Rhc2hTZXQsIGdldCBhcyBsb2Rhc2hHZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfVFJBTlNMQVRJT05fQ09ORklHIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5jb25maWcnO1xuaW1wb3J0IHsgQVhFdmVudFNlcnZpY2UsIEFYRXZlbnRUeXBlcyB9IGZyb20gJ0BhY29yZXgvY29yZS9ldmVudHMnO1xuXG5cbmxldCBzZXJ2aWNlOiBBWFRyYW5zbGF0aW9uU2VydmljZTtcblxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlU3luYyhrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlcnZpY2UudHJhbnNsYXRlU3luYyhrZXksIG9wdGlvbnMpO1xufVxuXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBsb2FkZXIgPSBpbmplY3QoQVhfVFJBTlNMQVRJT05fTE9BREVSKTtcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpO1xuXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2UgPSBpbmplY3QoQVhFdmVudFNlcnZpY2UpO1xuXG5cbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uQ2FjaGU6IEFYVHJhbnNsYXRlSGFzaE1hcDxBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPj4gPSB7fTtcbiAgICBwcml2YXRlIG9uZ29pbmdSZXF1ZXN0czogTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxhbnk+PiA9IG5ldyBNYXAoKTtcblxuICAgIHByaXZhdGUgYWN0aXZlTGFuZzogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICBsYW5nQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuYWN0aXZlTGFuZy5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgbGFzdEFjdGl2ZUxhbmc6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHNlcnZpY2UgPSB0aGlzO1xuICAgIH1cblxuXG4gICAgcHVibGljIGxvYWRMYW5ndWFnZXNBbmRTY29wZXMobGFuZ3VhZ2VzOiBzdHJpbmdbXSwgc2NvcGVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0cyA9IGxhbmd1YWdlcy5mbGF0TWFwKGxhbmcgPT5cbiAgICAgICAgICAgIHNjb3Blcy5tYXAoc2NvcGUgPT4ge1xuICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRyYW5zbGF0aW9ucyBhcmUgYWxyZWFkeSBjYWNoZWRcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmddPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ11bc2NvcGVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIG5ldyBtZXRob2QgdG8gaGFuZGxlIG9uZ29pbmcgcmVxdWVzdHMgYW5kIGxvYWRpbmdcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPckxvYWRUcmFuc2xhdGlvbnMobGFuZywgc2NvcGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ocmVxdWVzdHMpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBnZXRPckxvYWRUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nLCBzY29wZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0S2V5ID0gYCR7bGFuZ31fJHtzY29wZX1gO1xuXG4gICAgICAgIC8vIFJldHVybiBleGlzdGluZyBvYnNlcnZhYmxlIGlmIHRoZSByZXF1ZXN0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3NcbiAgICAgICAgaWYgKHRoaXMub25nb2luZ1JlcXVlc3RzLmhhcyhyZXF1ZXN0S2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub25nb2luZ1JlcXVlc3RzLmdldChyZXF1ZXN0S2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvYWQgdHJhbnNsYXRpb25zIGlmIG5vdCBpbiBjYWNoZSBvciBvbmdvaW5nIHJlcXVlc3RzXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uT2JzZXJ2YWJsZSA9IHRoaXMubG9hZGVyLmdldFRyYW5zbGF0aW9uKHsgbGFuZywgc2NvcGUgfSkucGlwZShcbiAgICAgICAgICAgIHRhcCh0cmFuc2xhdGlvbnMgPT4gdGhpcy5jYWNoZVRyYW5zbGF0aW9ucyhsYW5nLCBzY29wZSwgdHJhbnNsYXRpb25zKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIHRyYW5zbGF0aW9ucyBmb3IgbGFuZzogJHtsYW5nfSwgc2NvcGU6ICR7c2NvcGV9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRFdmVudCh7IHR5cGU6IEFYRXZlbnRUeXBlcy5BWExhbmd1YWdlTG9hZGVkLCBwYXlsb2FkOiBsYW5nIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub25nb2luZ1JlcXVlc3RzLmRlbGV0ZShyZXF1ZXN0S2V5KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm9uZ29pbmdSZXF1ZXN0cy5zZXQocmVxdWVzdEtleSwgdHJhbnNsYXRpb25PYnNlcnZhYmxlKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZywgdHJhbnNsYXRpb25zOiBBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBsb2Rhc2hTZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfWAsIHRyYW5zbGF0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERlZmF1bHRMYW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlTGFuZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZUxhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChsYW5nICE9IHRoaXMuZ2V0QWN0aXZlTGFuZygpKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RBY3RpdmVMYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCk7IC8vIFVwZGF0ZSBsYXN0IGFjdGl2ZSBsYW5ndWFnZVxuICAgICAgICAgICAgdGhpcy5hY3RpdmVMYW5nLm5leHQobGFuZyk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5lbWl0RXZlbnQoeyB0eXBlOiBBWEV2ZW50VHlwZXMuQVhMYW5ndWFnZUNoYW5nZWQsIHBheWxvYWQ6IGxhbmcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWQoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEFYVHJhbnNsYXRlT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIC8vIEZ1bmN0aW9uIHRvIGZldGNoIHRyYW5zbGF0aW9uXG4gICAgICAgIGNvbnN0IGZldGNoVHJhbnNsYXRpb24gPSAobGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0cmFuc2xhdGlvbnMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGVcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5LCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVzZSB0aGUgbmV3IG1ldGhvZCB0byBoYW5kbGUgb25nb2luZyByZXF1ZXN0cyBhbmQgbG9hZGluZ1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JMb2FkVHJhbnNsYXRpb25zKGxhbmd1YWdlLCBzY29wZSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRpb25DYWNoZVtsYW5ndWFnZV0/LltzY29wZV0/LltrZXldIHx8IGtleTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNsYXRpb24odHJhbnNsYXRpb24sIGxhbmd1YWdlLCBzY29wZSwgb3B0aW9ucy5wYXJhbXMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCh0cmFuc2xhdGVkVGV4dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0cmFuc2xhdGVkVGV4dCA9PT0ga2V5ICYmIGxhbmd1YWdlICE9PSB0aGlzLmdldERlZmF1bHRMYW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSB0cmFuc2xhdGlvbiBpcyBub3QgZm91bmQgYW5kIHRoZSBsYW5ndWFnZSBpcyBub3QgZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyeSBmZXRjaGluZyBmcm9tIHRoZSBkZWZhdWx0IGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2hUcmFuc2xhdGlvbih0aGlzLmdldERlZmF1bHRMYW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0cmFuc2xhdGVkVGV4dCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gRmlyc3QsIHRyeSB0byBmZXRjaCB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2VcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25Gb3JSZXF1ZXN0ZWRMYW5nID0gZmV0Y2hUcmFuc2xhdGlvbihsYW5nKTtcblxuICAgICAgICAvLyBJZiBsYXN0QWN0aXZlTGFuZyBpcyBhdmFpbGFibGUgYW5kIGRpZmZlcmVudCBmcm9tIHRoZSByZXF1ZXN0ZWQgbGFuZ3VhZ2UsIHVzZSBpdCBhcyBhIGZhbGxiYWNrXG4gICAgICAgIGlmICh0aGlzLmxhc3RBY3RpdmVMYW5nICYmIHRoaXMubGFzdEFjdGl2ZUxhbmcgIT09IGxhbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uRm9yTGFzdEFjdGl2ZUxhbmcgPSB0aGlzLmdldFRyYW5zbGF0aW9uKGtleSwgdGhpcy5sYXN0QWN0aXZlTGFuZywgc2NvcGUsIG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGlvbkZvclJlcXVlc3RlZExhbmcucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodHJhbnNsYXRpb25Gb3JMYXN0QWN0aXZlTGFuZylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25Gb3JSZXF1ZXN0ZWRMYW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZywgcGFyYW1zPzogQVhUcmFuc2xhdGVQYXJhbXMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgdHJhbnNsYXRpb246IHN0cmluZyA9IChsb2Rhc2hHZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfS4ke2tleX1gKSB8fCBrZXkpIGFzIHN0cmluZ1xuXG4gICAgICAgIC8vIFJlcGxhY2UgcGFyYW1zIGxpa2Uge3sgbmFtZSB9fVxuICAgICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2gocGFyYW1LZXkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtVmFsdWUgPSBwYXJhbXNbcGFyYW1LZXldIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uLnJlcGxhY2UobmV3IFJlZ0V4cChge3tcXFxccyoke3BhcmFtS2V5fVxcXFxzKn19YCwgJ2cnKSwgcGFyYW1WYWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlcGxhY2UgdHJhbnNsYXRpb25zIGxpa2Uge3sgdCgna2V5JykgfX1cbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25QYXR0ZXJuID0gL3t7XFxzKnRcXCgnKFteJ10rKSdcXClcXHMqfX0vZztcbiAgICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5yZXBsYWNlKHRyYW5zbGF0aW9uUGF0dGVybiwgKG1hdGNoLCBpbm5lcktleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNsYXRpb24oaW5uZXJLZXksIGxhbmcsIHNjb3BlLCBwYXJhbXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAob3B0aW9ucz8ubGFuZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5nZXRBY3RpdmVMYW5nKCkpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIHsgLi4ub3B0aW9ucywgbGFuZzogbGFuZyB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdHJhbnNsYXRlQXN5bmMoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCB7IGxhbmcgPSB0aGlzLmdldEFjdGl2ZUxhbmcoKSwgc2NvcGUgPSB0aGlzLmNvbmZpZy5kZWZhdWx0U2NvcGUgfSA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIGxldCB0cmFuc2xhdGlvbiA9IGxvZGFzaEdldCh0aGlzLnRyYW5zbGF0aW9uQ2FjaGUsIGAke2xhbmd9LiR7c2NvcGV9LiR7a2V5fWApO1xuXG4gICAgICAgIGlmICghdHJhbnNsYXRpb24pIHtcbiAgICAgICAgICAgIC8vIElmIHRoZSB0cmFuc2xhdGlvbiBpcyBub3QgaW4gdGhlIGNhY2hlLCBsb2FkIGl0XG4gICAgICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmxvYWQoa2V5LCB7IGxhbmcsIHNjb3BlIH0pLnBpcGUodGFrZSgxKSkpO1xuICAgICAgICAgICAgdHJhbnNsYXRpb24gPSBsb2Rhc2hHZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfS4ke2tleX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHN0aWxsIG5vdCBhdmFpbGFibGUsIHRyeSB0aGUgbGFzdCBhY3RpdmUgbGFuZ3VhZ2Ugb3IgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICBpZiAoIXRyYW5zbGF0aW9uICYmIHRoaXMubGFzdEFjdGl2ZUxhbmcpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uID0gbG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7dGhpcy5sYXN0QWN0aXZlTGFuZ30uJHtzY29wZX0uJHtrZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0cmFuc2xhdGlvbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb24gPSBsb2Rhc2hHZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHt0aGlzLmdldERlZmF1bHRMYW5nKCl9LiR7c2NvcGV9LiR7a2V5fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGVyZm9ybSBwYXJhbWV0ZXIgcmVwbGFjZW1lbnRcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNsYXRpb24oKHRyYW5zbGF0aW9uIHx8IGtleSkgYXMgYW55LCBsYW5nLCBzY29wZSwgb3B0aW9ucz8ucGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNsYXRlU3luYyhrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgbGFuZyA9IHRoaXMuZ2V0QWN0aXZlTGFuZygpLCBzY29wZSA9IHRoaXMuY29uZmlnLmRlZmF1bHRTY29wZSB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdHJhbnNsYXRpb24gZm9yIHRoZSBhY3RpdmUgbGFuZ3VhZ2UgaXMgYXZhaWxhYmxlXG4gICAgICAgIGxldCB0cmFuc2xhdGlvbiA9IGxvZGFzaEdldCh0aGlzLnRyYW5zbGF0aW9uQ2FjaGUsIGAke2xhbmd9LiR7c2NvcGV9LiR7a2V5fWApXG5cbiAgICAgICAgLy8gSWYgbm90IGF2YWlsYWJsZSwgY2hlY2sgbGFzdEFjdGl2ZUxhbmdcbiAgICAgICAgaWYgKCF0cmFuc2xhdGlvbiAmJiB0aGlzLmxhc3RBY3RpdmVMYW5nKSB7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbiA9IGxvZGFzaEdldCh0aGlzLnRyYW5zbGF0aW9uQ2FjaGUsIGAke3RoaXMubGFzdEFjdGl2ZUxhbmd9LiR7c2NvcGV9LiR7a2V5fWApXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBzdGlsbCBub3QgYXZhaWxhYmxlLCB1c2UgdGhlIGRlZmF1bHQgbGFuZ3VhZ2VcbiAgICAgICAgaWYgKCF0cmFuc2xhdGlvbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb24gPSBsb2Rhc2hHZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHt0aGlzLmdldERlZmF1bHRMYW5nKCl9LiR7c2NvcGV9LiR7a2V5fWApXG4gICAgICAgIH1cblxuICAgICAgICAvLyBQZXJmb3JtIHBhcmFtZXRlciByZXBsYWNlbWVudFxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbigodHJhbnNsYXRpb24gfHwga2V5KSBhcyBhbnksIGxhbmcsIHNjb3BlLCBvcHRpb25zPy5wYXJhbXMpO1xuICAgIH1cblxufVxuIl19
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
25
25
  selector: '[translate]',
26
26
  }]
27
27
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.AXTranslationService }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzRCxXQUFXLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQU03RCxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDL0Isa0JBQXdDO1FBRnhDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtJQUNoRCxDQUFDO0lBRUwsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BELFNBQVMsRUFBRSxDQUFDLEdBQVcsRUFBRSxPQUE0QixFQUFFLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDMUQsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBZlEscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRlT3B0aW9ucyB9IGZyb20gXCIuL3RyYW5zbGF0aW9uLnR5cGVzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RyYW5zbGF0ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IEFYVHJhbnNsYXRpb25TZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IChrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoa2V5LCBvcHRpb25zKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59Il19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2xpYi90cmFuc2xhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBTTdELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsWUFDWSxXQUE2QixFQUM3QixhQUErQixFQUMvQixrQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO0lBQ2hELENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEQsU0FBUyxFQUFFLENBQUMsR0FBVyxFQUFFLE9BQTRCLEVBQUUsRUFBRTtnQkFDckQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUMxRCxDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FmUSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi90cmFuc2xhdGlvbi50eXBlc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0cmFuc2xhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBBWFRyYW5zbGF0aW9uU2VydmljZVxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwge1xuICAgICAgICAgICAgJGltcGxpY2l0OiAoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlKGtleSwgb3B0aW9ucylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==