@provoly/dashboard 0.13.9 → 0.13.10

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 (106) hide show
  1. package/admin/admin.module.d.ts +2 -1
  2. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +5 -13
  3. package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +1 -1
  4. package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +1 -1
  5. package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +4 -9
  6. package/admin/components/association/association.component.d.ts +1 -3
  7. package/admin/store/admin.effects.d.ts +19 -15
  8. package/admin/store/admin.service.d.ts +0 -3
  9. package/components/metadata-editor/index.d.ts +5 -0
  10. package/components/metadata-editor/metadata-editor.component.d.ts +36 -0
  11. package/components/metadata-editor/metadata-editor.module.d.ts +12 -0
  12. package/components/metadata-editor/public-api.d.ts +7 -0
  13. package/components/metadata-editor/store/metadata.action.d.ts +112 -0
  14. package/components/metadata-editor/store/metadata.effects.d.ts +48 -0
  15. package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.reducer.d.ts +2 -1
  16. package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.selector.d.ts +1 -0
  17. package/components/metadata-editor/store/metadata.service.d.ts +15 -0
  18. package/dataset/i18n/en.translations.d.ts +1 -0
  19. package/dataset/i18n/fr.translations.d.ts +1 -0
  20. package/dataset/style/_o-pry-dataset-card.scss +7 -0
  21. package/esm2022/admin/admin.module.mjs +9 -17
  22. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +2 -2
  23. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +2 -2
  24. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +2 -2
  25. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +2 -2
  26. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +2 -2
  27. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +21 -77
  28. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +2 -3
  29. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +2 -3
  30. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +2 -2
  31. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +2 -3
  32. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +2 -2
  33. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +1 -1
  34. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +2 -3
  35. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +17 -65
  36. package/esm2022/admin/components/association/association.component.mjs +1 -4
  37. package/esm2022/admin/store/admin.effects.mjs +6 -2
  38. package/esm2022/admin/store/admin.service.mjs +1 -16
  39. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +111 -0
  40. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +47 -0
  41. package/esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs +5 -0
  42. package/esm2022/components/metadata-editor/public-api.mjs +8 -0
  43. package/esm2022/components/metadata-editor/store/metadata.action.mjs +27 -0
  44. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +44 -0
  45. package/esm2022/components/metadata-editor/store/metadata.reducer.mjs +39 -0
  46. package/esm2022/components/metadata-editor/store/metadata.selector.mjs +19 -0
  47. package/esm2022/components/metadata-editor/store/metadata.service.mjs +36 -0
  48. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  49. package/esm2022/dataset/i18n/en.translations.mjs +3 -2
  50. package/esm2022/dataset/i18n/fr.translations.mjs +3 -2
  51. package/esm2022/dataset/style/css.component.mjs +2 -2
  52. package/esm2022/import/components/import.component.mjs +8 -4
  53. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +3 -12
  54. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  55. package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
  56. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  57. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +31 -17
  58. package/esm2022/toolbox/components/toolbox.component.mjs +20 -14
  59. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +45 -13
  60. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -1
  61. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -1
  62. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +2 -2
  63. package/esm2022/widgets/widget-map/public-api.mjs +3 -1
  64. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +56 -0
  65. package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +32 -0
  66. package/fesm2022/provoly-dashboard-admin.mjs +107 -370
  67. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +302 -0
  69. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -0
  70. package/fesm2022/provoly-dashboard-dataset.mjs +8 -6
  71. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  72. package/fesm2022/provoly-dashboard-import.mjs +7 -3
  73. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  74. package/fesm2022/provoly-dashboard-toolbox.mjs +49 -29
  75. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  76. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +104 -13
  77. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  78. package/fesm2022/provoly-dashboard.mjs +6 -13
  79. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  80. package/import/components/import.component.d.ts +5 -3
  81. package/lib/core/components/modal-status/modal-status.component.d.ts +0 -8
  82. package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
  83. package/package.json +19 -13
  84. package/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +7 -5
  85. package/toolbox/components/toolbox.component.d.ts +10 -5
  86. package/widgets/widget-map/component/widget-map.component.d.ts +4 -1
  87. package/widgets/widget-map/i18n/en.translations.d.ts +2 -0
  88. package/widgets/widget-map/i18n/fr.translations.d.ts +2 -0
  89. package/widgets/widget-map/public-api.d.ts +2 -0
  90. package/widgets/widget-map/utils/cql-utils.class.d.ts +6 -0
  91. package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +0 -59
  92. package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +0 -30
  93. package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +0 -6
  94. package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +0 -5
  95. package/admin/components/admin-metadata/store/metadata.action.d.ts +0 -56
  96. package/admin/components/admin-metadata/store/metadata.effects.d.ts +0 -36
  97. package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +0 -14
  98. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +0 -36
  99. package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +0 -11
  100. package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +0 -9
  101. package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +0 -19
  102. package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +0 -33
  103. package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +0 -35
  104. package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +0 -17
  105. package/esm2022/widgets/widget-map/pipe/xml-utils.class.mjs +0 -32
  106. /package/widgets/widget-map/{pipe → utils}/xml-utils.class.d.ts +0 -0
@@ -1,7 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { createEffect, ofType } from '@ngrx/effects';
3
3
  import { DataSourceActions, RelationTypesActions } from '@provoly/dashboard';
4
- import { catchError, map, mergeMap } from 'rxjs/operators';
4
+ import { MetadataActions } from '@provoly/dashboard/components/metadata-editor';
5
+ import { catchError, map, mergeMap } from 'rxjs';
5
6
  import { AdminActions } from './admin.actions';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@ngrx/effects";
@@ -16,6 +17,9 @@ export class AdminEffects {
16
17
  this.router.navigate([action.path], { queryParams: action.params });
17
18
  return action.path === this.router.url ? [] : [AdminActions.resetActions()];
18
19
  })));
20
+ this.goToNewMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.goToNewMetadata), map((action) => {
21
+ return AdminActions.routeTo({ path: action.route });
22
+ })));
19
23
  this.deleteRelationTypeSuccess$ = createEffect(() => this.actions$.pipe(ofType(RelationTypesActions.deleteRelationTypeSuccess), mergeMap((action) => {
20
24
  return [
21
25
  RelationTypesActions.load(),
@@ -67,4 +71,4 @@ export class AdminEffects {
67
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminEffects, decorators: [{
68
72
  type: Injectable
69
73
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.AdminService }, { type: i3.Router }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUsvQyxNQUFNLE9BQU8sWUFBWTtJQXVIdkIsWUFBb0IsUUFBaUIsRUFBVSxPQUFxQixFQUFVLE1BQWM7UUFBeEUsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdEg1RixhQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ2xHLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sTUFBTSxDQUFDLElB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QUMzQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNqRixDQUNGLENBQ0YsQ0FDRixDQUFDO1FBQ0YsNEJBQXVCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxFQUMzQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNqRixDQUNGLENBQ0YsQ0FDRixDQUFDO1FBQ0YsOEJBQXlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxFQUM3QyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2pELEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNqRixDQUNGLENBQ0YsQ0FDRixDQUFDO1FBQ0YsZ0NBQTJCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxFQUMvQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNqRixDQUNGLENBQ0YsQ0FDRixDQUFDO0lBQzZGLENBQUM7OEdBdkhyRixZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEFzc29jaWF0aW9ucywgRGF0YVNvdXJjZUFjdGlvbnMsIFJlbGF0aW9uVHlwZXNBY3Rpb25zIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi9hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRtaW5FZmZlY3RzIHtcbiAgcm91dGVUbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQWRtaW5BY3Rpb25zLnJvdXRlVG8sIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuY3JlYXRlZCwgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC51cGRhdGVkKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2FjdGlvbi5wYXRoXSwgeyBxdWVyeVBhcmFtczogYWN0aW9uLnBhcmFtcyB9KTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi5wYXRoID09PSB0aGlzLnJvdXRlci51cmwgPyBbXSA6IFtBZG1pbkFjdGlvbnMucmVzZXRBY3Rpb25zKCldO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgZGVsZXRlUmVsYXRpb25UeXBlU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoUmVsYXRpb25UeXBlc0FjdGlvbnMuZGVsZXRlUmVsYXRpb25UeXBlU3VjY2VzcyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgUmVsYXRpb25UeXBlc0FjdGlvbnMubG9hZCgpLFxuICAgICAgICAgIEFkbWluQWN0aW9ucy5zZWxlY3RDb21wb25lbnRUeXBlKHsgY29tcG9uZW50VHlwZTogbnVsbCB9KSxcbiAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBSZWxhdGlvblR5cGVzQWN0aW9ucy5vcGVuTW9kYWwoKSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAncmVsYXRpb25fdHlwZXMnLFxuICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGNsb3NlUGFuZWwkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEFkbWluQWN0aW9ucy5oaWdobGlnaHRNZW51KSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIFtBZG1pbkFjdGlvbnMudG9nZ2xlUGFuZWwoeyBwYW5lbE9wZW46IGZhbHNlIH0pXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZGVsZXRlZCksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiBbXG4gICAgICAgIEFkbWluQWN0aW9ucy50b2dnbGVQYW5lbCh7IHBhbmVsT3BlbjogZmFsc2UgfSksXG4gICAgICAgIEFkbWluQWN0aW9ucy5zZWxlY3RDb21wb25lbnRUeXBlKHsgY29tcG9uZW50VHlwZTogbnVsbCB9KSxcbiAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBhY3Rpb24uYWRkUm91dGUgfSksXG4gICAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdkYXRhc2V0JyxcbiAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgXSlcbiAgICApXG4gICk7XG5cbiAgb3Blbk5ld0RhdGFzZXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQub3Blbk5ld0RhdGFzZXQpLFxuICAgICAgbWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogYWN0aW9uLnJvdXRlIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgZmV0Y2hDbGFzc0Fzc29jaWF0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQWRtaW5BY3Rpb25zLmZldGNoQ2xhc3NBc3NvY2lhdGlvbnMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldENsYXNzQXNzb2NpYXRpb25zKGFjdGlvbi5pZCkucGlwZShcbiAgICAgICAgICBtYXAoKGFzc29jaWF0aW9uKSA9PiBBZG1pbkFjdGlvbnMuZmV0Y2hBc3NvY2lhdGlvbnNTdWNjZXNzKHsgYXNzb2NpYXRpb24gfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG4gIGZldGNoRmllbGRBc3NvY2lhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEFkbWluQWN0aW9ucy5mZXRjaEZpZWxkQXNzb2NpYXRpb25zKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5nZXRGaWVsZEFzc29jaWF0aW9ucyhhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChhc3NvY2lhdGlvbikgPT4gQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zU3VjY2Vzcyh7IGFzc29jaWF0aW9uIH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gW0FkbWluQWN0aW9ucy5mZXRjaEFzc29jaWF0aW9uc0ZhaWx1cmUoeyBlcnJvcjogZXJyb3IgfSldKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuICBmZXRjaERhdGFzZXRBc3NvY2lhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEFkbWluQWN0aW9ucy5mZXRjaERhdGFzZXRBc3NvY2lhdGlvbnMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldERhdGFzZXRBc3NvY2lhdGlvbnMoYWN0aW9uLmlkKS5waXBlKFxuICAgICAgICAgIG1hcCgoYXNzb2NpYXRpb24pID0+IEFkbWluQWN0aW9ucy5mZXRjaEFzc29jaWF0aW9uc1N1Y2Nlc3MoeyBhc3NvY2lhdGlvbiB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtBZG1pbkFjdGlvbnMuZmV0Y2hBc3NvY2lhdGlvbnNGYWlsdXJlKHsgZXJyb3I6IGVycm9yIH0pXSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbiAgZmV0Y2hBdHRyaWJ1dGVBc3NvY2lhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEFkbWluQWN0aW9ucy5mZXRjaEF0dHJpYnV0ZUFzc29jaWF0aW9ucyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0QXR0cmlidXRlQXNzb2NpYXRpb25zKGFjdGlvbi5pZCkucGlwZShcbiAgICAgICAgICBtYXAoKGFzc29jaWF0aW9uKSA9PiBBZG1pbkFjdGlvbnMuZmV0Y2hBc3NvY2lhdGlvbnNTdWNjZXNzKHsgYXNzb2NpYXRpb24gfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgc2VydmljZTogQWRtaW5TZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFJL0MsTUFBTSxPQUFPLFlBQVk7SUFnSXZCLFlBQW9CLFFBQWlCLEVBQVUsT0FBcUIsRUFBVSxNQUFjO1FBQXhFLGFBQVEsR0FBUixRQUFRLENBQVM7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQS9INUYsYUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUNsRyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFB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QUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUM2RixDQUFDOzhHQWhJckYsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBEYXRhU291cmNlQWN0aW9ucywgUmVsYXRpb25UeXBlc0FjdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFBY3Rpb25zIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4vYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICcuL2FkbWluLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRtaW5FZmZlY3RzIHtcbiAgcm91dGVUbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoQWRtaW5BY3Rpb25zLnJvdXRlVG8sIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuY3JlYXRlZCwgRGF0YVNvdXJjZUFjdGlvbnMuZGF0YXNldC51cGRhdGVkKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2FjdGlvbi5wYXRoXSwgeyBxdWVyeVBhcmFtczogYWN0aW9uLnBhcmFtcyB9KTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi5wYXRoID09PSB0aGlzLnJvdXRlci51cmwgPyBbXSA6IFtBZG1pbkFjdGlvbnMucmVzZXRBY3Rpb25zKCldO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgZ29Ub05ld01ldGFkYXRhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZXRhZGF0YUFjdGlvbnMuZ29Ub05ld01ldGFkYXRhKSxcbiAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGFjdGlvbi5yb3V0ZSB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZVJlbGF0aW9uVHlwZVN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFJlbGF0aW9uVHlwZXNBY3Rpb25zLmRlbGV0ZVJlbGF0aW9uVHlwZVN1Y2Nlc3MpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIFJlbGF0aW9uVHlwZXNBY3Rpb25zLmxvYWQoKSxcbiAgICAgICAgICBBZG1pbkFjdGlvbnMuc2VsZWN0Q29tcG9uZW50VHlwZSh7IGNvbXBvbmVudFR5cGU6IG51bGwgfSksXG4gICAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogUmVsYXRpb25UeXBlc0FjdGlvbnMub3Blbk1vZGFsKCksXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdhZGQnLFxuICAgICAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgcGFnZUFjY2VzczogJ3JlbGF0aW9uX3R5cGVzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBjbG9zZVBhbmVsJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShBZG1pbkFjdGlvbnMuaGlnaGxpZ2h0TWVudSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBbQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KV07XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBkZWxldGVkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmRlbGV0ZWQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT4gW1xuICAgICAgICBBZG1pbkFjdGlvbnMudG9nZ2xlUGFuZWwoeyBwYW5lbE9wZW46IGZhbHNlIH0pLFxuICAgICAgICBBZG1pbkFjdGlvbnMuc2VsZWN0Q29tcG9uZW50VHlwZSh7IGNvbXBvbmVudFR5cGU6IG51bGwgfSksXG4gICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogYWN0aW9uLmFkZFJvdXRlIH0pLFxuICAgICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZGF0YXNldCcsXG4gICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgIF0pXG4gICAgKVxuICApO1xuXG4gIG9wZW5OZXdEYXRhc2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lm9wZW5OZXdEYXRhc2V0KSxcbiAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGFjdGlvbi5yb3V0ZSB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGZldGNoQ2xhc3NBc3NvY2lhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEFkbWluQWN0aW9ucy5mZXRjaENsYXNzQXNzb2NpYXRpb25zKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5nZXRDbGFzc0Fzc29jaWF0aW9ucyhhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChhc3NvY2lhdGlvbikgPT4gQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zU3VjY2Vzcyh7IGFzc29jaWF0aW9uIH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gW0FkbWluQWN0aW9ucy5mZXRjaEFzc29jaWF0aW9uc0ZhaWx1cmUoeyBlcnJvcjogZXJyb3IgfSldKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuICBmZXRjaEZpZWxkQXNzb2NpYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShBZG1pbkFjdGlvbnMuZmV0Y2hGaWVsZEFzc29jaWF0aW9ucyksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0RmllbGRBc3NvY2lhdGlvbnMoYWN0aW9uLmlkKS5waXBlKFxuICAgICAgICAgIG1hcCgoYXNzb2NpYXRpb24pID0+IEFkbWluQWN0aW9ucy5mZXRjaEFzc29jaWF0aW9uc1N1Y2Nlc3MoeyBhc3NvY2lhdGlvbiB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtBZG1pbkFjdGlvbnMuZmV0Y2hBc3NvY2lhdGlvbnNGYWlsdXJlKHsgZXJyb3I6IGVycm9yIH0pXSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbiAgZmV0Y2hEYXRhc2V0QXNzb2NpYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShBZG1pbkFjdGlvbnMuZmV0Y2hEYXRhc2V0QXNzb2NpYXRpb25zKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5nZXREYXRhc2V0QXNzb2NpYXRpb25zKGFjdGlvbi5pZCkucGlwZShcbiAgICAgICAgICBtYXAoKGFzc29jaWF0aW9uKSA9PiBBZG1pbkFjdGlvbnMuZmV0Y2hBc3NvY2lhdGlvbnNTdWNjZXNzKHsgYXNzb2NpYXRpb24gfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG4gIGZldGNoQXR0cmlidXRlQXNzb2NpYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShBZG1pbkFjdGlvbnMuZmV0Y2hBdHRyaWJ1dGVBc3NvY2lhdGlvbnMpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldEF0dHJpYnV0ZUFzc29jaWF0aW9ucyhhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChhc3NvY2lhdGlvbikgPT4gQWRtaW5BY3Rpb25zLmZldGNoQXNzb2NpYXRpb25zU3VjY2Vzcyh7IGFzc29jaWF0aW9uIH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gW0FkbWluQWN0aW9ucy5mZXRjaEFzc29jaWF0aW9uc0ZhaWx1cmUoeyBlcnJvcjogZXJyb3IgfSldKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIHNlcnZpY2U6IEFkbWluU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cbn1cbiJdfQ==
@@ -24,21 +24,6 @@ export class AdminService {
24
24
  .select(ConfigSelectors.refUrl)
25
25
  .pipe(mergeMap((url) => this.httpClient.get(`${url}/predicates/id/${id}`)));
26
26
  }
27
- getMetadataList() {
28
- return this.store
29
- .select(ConfigSelectors.refUrl)
30
- .pipe(mergeMap((url) => this.httpClient.get(`${url}/metadata`)));
31
- }
32
- getMetadata(id) {
33
- return this.store
34
- .select(ConfigSelectors.refUrl)
35
- .pipe(mergeMap((url) => this.httpClient.get(`${url}/metadata/id/${id}`)));
36
- }
37
- postMetadata(metadata) {
38
- return this.store
39
- .select(ConfigSelectors.refUrl)
40
- .pipe(mergeMap((url) => this.httpClient.post(`${url}/metadata`, metadata)));
41
- }
42
27
  getUserMetadata() {
43
28
  return this.store
44
29
  .select(ConfigSelectors.refUrl)
@@ -198,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
198
183
  providedIn: 'root'
199
184
  }]
200
185
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBS0wsZUFBZSxFQVVoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsVUFBc0IsRUFBVSxLQUFpQjtRQUFqRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUFHLENBQUM7SUFFekUsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBb0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLEdBQUcsR0FBRyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENB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RyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZ0IsR0FBRyxHQUFHLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVTtRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQWdCLEdBQUcsR0FBRyx5QkFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQzs4R0FyT1UsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIEF0dHJpYnV0ZSxcbiAgQ2F0ZWdvcnksXG4gIENsYXNzLFxuICBDb25maWdTZWxlY3RvcnMsXG4gIEVudmlyb25tZW50LFxuICBJTWV0YWRhdGEsXG4gIExpbmssXG4gIExpbmtEZXRhaWxzLFxuICBNZXRhZGF0YVJ1bGVzLFxuICBNZXRhZGF0YVJ1bGVzQ3JlYXRlLFxuICBNZXRhZGF0YVVzZXIsXG4gIFByZWRpY2F0ZSxcbiAgVXNlckluZm9cbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYmFjUnVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9zdG9yZS9hYmFjLXJ1bGVzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7fVxuXG4gIGdldFByZWRpY2F0ZXMoKTogT2JzZXJ2YWJsZTxQcmVkaWNhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFByZWRpY2F0ZVtdPihgJHt1cmx9L3ByZWRpY2F0ZXNgKSkpO1xuICB9XG5cbiAgc2F2ZVByZWRpY2F0ZShwcmVkaWNhdGU6IFByZWRpY2F0ZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L3ByZWRpY2F0ZXNgLCBwcmVkaWNhdGUpKSk7XG4gIH1cblxuICBnZXRQcmVkaWNhdGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJlZGljYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8UHJlZGljYXRlPihgJHt1cmx9L3ByZWRpY2F0ZXMvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFMaXN0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8YW55PihgJHt1cmx9L21ldGFkYXRhYCkpKTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElNZXRhZGF0YT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PElNZXRhZGF0YT4oYCR7dXJsfS9tZXRhZGF0YS9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBwb3N0TWV0YWRhdGEobWV0YWRhdGE6IElNZXRhZGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L21ldGFkYXRhYCwgbWV0YWRhdGEpKSk7XG4gIH1cblxuICBnZXRVc2VyTWV0YWRhdGEoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxhbnk+KGAke3VybH0vdXNlcnMvbWV0YWRhdGFgKSkpO1xuICB9XG5cbiAgZ2V0VXNlck1ldGFkYXRhRGVmKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElNZXRhZGF0YT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PElNZXRhZGF0YT4oYCR7dXJsfS91c2Vycy9tZXRhZGF0YS8ke2lkfWApKSk7XG4gIH1cblxuICBwb3N0VXNlck1ldGFkYXRhKG1ldGFkYXRhOiBJTWV0YWRhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oYCR7dXJsfS91c2Vycy9tZXRhZGF0YWAsIG1ldGFkYXRhKSkpO1xuICB9XG5cbiAgZ2V0RW52aXJvbm1lbnRzKCk6IE9ic2VydmFibGU8RW52aXJvbm1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEVudmlyb25tZW50W10+KGAke3VybH0vYWJhYy9jb250ZXh0YCkpKTtcbiAgfVxuXG4gIHNhdmVFbnZpcm9ubWVudChlbnY6IEVudmlyb25tZW50KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oYCR7dXJsfS9hYmFjL2NvbnRleHRgLCBlbnYpKSk7XG4gIH1cblxuICBnZXRFbnZpcm9ubWVudChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVudmlyb25tZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8RW52aXJvbm1lbnQ+KGAke3VybH0vYWJhYy9jb250ZXh0LyR7bmFtZX1gKSkpO1xuICB9XG5cbiAgZGVsZXRlRW52aXJvbm1lbnQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oYCR7dXJsfS9hYmFjL2NvbnRleHQvJHtuYW1lfWApKSk7XG4gIH1cblxuICBnZXRBYmFjUnVsZXMoKTogT2JzZXJ2YWJsZTxBYmFjUnVsZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QWJhY1J1bGVbXT4oYCR7dXJsfS9hYmFjL3J1bGVzYCkpKTtcbiAgfVxuXG4gIGdldEFiYWNSdWxlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFiYWNSdWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QWJhY1J1bGU+KGAke3VybH0vYWJhYy9ydWxlcy9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBzYXZlQWJhY1J1bGUocnVsZTogQWJhY1J1bGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oYCR7dXJsfS9hYmFjL3J1bGVzYCwgcnVsZSkpKTtcbiAgfVxuXG4gIGdldENsYXNzQXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9tb2RlbC9jbGFzcy8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0RGF0YXNldEFzc29jaWF0aW9ucyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBc3NvY2lhdGlvbnM+KGAke3VybH0vZGF0YXNldHMvJHtpZH0vYXNzb2NpYXRpb25zYCkpKTtcbiAgfVxuXG4gIGdldEZpZWxkQXNzb2NpYXRpb25zKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFzc29jaWF0aW9ucz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFzc29jaWF0aW9ucz4oYCR7dXJsfS9tb2RlbC9maWVsZHMvJHtpZH0vYXNzb2NpYXRpb25zYCkpKTtcbiAgfVxuXG4gIGdldEF0dHJpYnV0ZUFzc29jaWF0aW9ucyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBc3NvY2lhdGlvbnM+KGAke3VybH0vbW9kZWwvYXR0cmlidXRlLyR7aWR9L2Fzc29jaWF0aW9uc2ApKSk7XG4gIH1cblxuICBnZXRDbGFzcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbGFzcz4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PENsYXNzPihgJHt1cmx9L21vZGVsL2NsYXNzL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIHNhdmVDbGFzcyhjbGF6ejogQ2xhc3MpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2xhc3NgKSwgY2xhenopKSk7XG4gIH1cblxuICBzYXZlQXR0cmlidXRlRm9yQ2xhc3MoY2xhc3NJZDogc3RyaW5nLCBhdHRyaWJ1dGU6IEF0dHJpYnV0ZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzcy9pZC8ke2NsYXNzSWR9L2F0dHJpYnV0ZWApLCBhdHRyaWJ1dGUpKVxuICAgICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUNsYXNzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzcy9pZC8ke2lkfWApKSkpO1xuICB9XG5cbiAgZGVsZXRlQXR0cmlidXRlRm9yQ2xhc3MoY2xhc3NJZDogc3RyaW5nLCBhdHRySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NsYXNzL2lkLyR7Y2xhc3NJZH0vYXR0cmlidXRlL2lkLyR7YXR0cklkfWApKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgc2F2ZUNhdGVnb3J5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NhdGVnb3JpZXNgKSwgY2F0ZWdvcnkpKSk7XG4gIH1cblxuICBnZXRVc2VycygpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxVc2VySW5mb1tdPihgJHt1cmx9L3VzZXJzYCkpKTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhVXNlcih1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TWV0YWRhdGFVc2VyW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxNZXRhZGF0YVVzZXJbXT4oYCR7dXJsfS91c2Vycy9pZC8ke3VzZXJJZH0vbWV0YWRhdGFgKSkpO1xuICB9XG5cbiAgYWRkTWV0YWRhdGFVc2VyKHVzZXJJZDogc3RyaW5nLCBtZXRhSWQ6IHN0cmluZywgdmFsdWU6IGFueSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT5cbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9pZC8ke3VzZXJJZH0vbWV0YWRhdGEvaWQvJHttZXRhSWR9YCksIHtcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlTWV0YWRhdGFVc2VyKHVzZXJJZDogc3RyaW5nLCBtZXRhSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS91c2Vycy9pZC8ke3VzZXJJZH0vbWV0YWRhdGEvaWQvJHttZXRhSWR9YCkpKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldExpbmtzKCk6IE9ic2VydmFibGU8TGlua0RldGFpbHNbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PExpbmtEZXRhaWxzW10+KGAke3VybH0vbGlua3NgKSkpO1xuICB9XG5cbiAgc2F2ZUxpbmsobGluazogTGluayk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9saW5rc2ApLCBsaW5rKSkpO1xuICB9XG5cbiAgYWRkTWV0YWRhdGFSdWxlcyhtZXRhZGF0YVJ1bGVzOiBNZXRhZGF0YVJ1bGVzQ3JlYXRlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wb3N0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21ldGEtcHJvdmlzaW9uaW5nYCksIG1ldGFkYXRhUnVsZXMpKSk7XG4gIH1cblxuICBnZXRNZXRhZGF0YVJ1bGVzTGlzdCgpOiBPYnNlcnZhYmxlPE1ldGFkYXRhUnVsZXNbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PE1ldGFkYXRhUnVsZXNbXT4oYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZ2ApKSk7XG4gIH1cblxuICBnZXRNZXRhZGF0YVJ1bGVzKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE1ldGFkYXRhUnVsZXM+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxNZXRhZGF0YVJ1bGVzPihgJHt1cmx9L21ldGEtcHJvdmlzaW9uaW5nL2lkLyR7aWR9YCkpKTtcbiAgfVxuXG4gIGRlbGV0ZU1ldGFkYXRhUnVsZXMoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPE1ldGFkYXRhUnVsZXM+KGAke3VybH0vbWV0YS1wcm92aXNpb25pbmcvaWQvJHtpZH1gKSkpO1xuICB9XG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL3N0b3JlL2FkbWluLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBS0wsZUFBZSxFQVVoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsVUFBc0IsRUFBVSxLQUFpQjtRQUFqRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUFHLENBQUM7SUFFekUsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBb0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLEdBQUcsR0FBRyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENB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ZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBa0IsR0FBRyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZ0IsR0FBRyxHQUFHLHlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVTtRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQWdCLEdBQUcsR0FBRyx5QkFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQzs4R0FuTlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIEF0dHJpYnV0ZSxcbiAgQ2F0ZWdvcnksXG4gIENsYXNzLFxuICBDb25maWdTZWxlY3RvcnMsXG4gIEVudmlyb25tZW50LFxuICBJTWV0YWRhdGEsXG4gIExpbmssXG4gIExpbmtEZXRhaWxzLFxuICBNZXRhZGF0YVJ1bGVzLFxuICBNZXRhZGF0YVJ1bGVzQ3JlYXRlLFxuICBNZXRhZGF0YVVzZXIsXG4gIFByZWRpY2F0ZSxcbiAgVXNlckluZm9cbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYmFjUnVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRtaW4tYWJhYy1ydWxlcy9zdG9yZS9hYmFjLXJ1bGVzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7fVxuXG4gIGdldFByZWRpY2F0ZXMoKTogT2JzZXJ2YWJsZTxQcmVkaWNhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PFByZWRpY2F0ZVtdPihgJHt1cmx9L3ByZWRpY2F0ZXNgKSkpO1xuICB9XG5cbiAgc2F2ZVByZWRpY2F0ZShwcmVkaWNhdGU6IFByZWRpY2F0ZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihgJHt1cmx9L3ByZWRpY2F0ZXNgLCBwcmVkaWNhdGUpKSk7XG4gIH1cblxuICBnZXRQcmVkaWNhdGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJlZGljYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8UHJlZGljYXRlPihgJHt1cmx9L3ByZWRpY2F0ZXMvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgZ2V0VXNlck1ldGFkYXRhKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8YW55PihgJHt1cmx9L3VzZXJzL21ldGFkYXRhYCkpKTtcbiAgfVxuXG4gIGdldFVzZXJNZXRhZGF0YURlZihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJTWV0YWRhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxJTWV0YWRhdGE+KGAke3VybH0vdXNlcnMvbWV0YWRhdGEvJHtpZH1gKSkpO1xuICB9XG5cbiAgcG9zdFVzZXJNZXRhZGF0YShtZXRhZGF0YTogSU1ldGFkYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wb3N0PHZvaWQ+KGAke3VybH0vdXNlcnMvbWV0YWRhdGFgLCBtZXRhZGF0YSkpKTtcbiAgfVxuXG4gIGdldEVudmlyb25tZW50cygpOiBPYnNlcnZhYmxlPEVudmlyb25tZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxFbnZpcm9ubWVudFtdPihgJHt1cmx9L2FiYWMvY29udGV4dGApKSk7XG4gIH1cblxuICBzYXZlRW52aXJvbm1lbnQoZW52OiBFbnZpcm9ubWVudCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGAke3VybH0vYWJhYy9jb250ZXh0YCwgZW52KSkpO1xuICB9XG5cbiAgZ2V0RW52aXJvbm1lbnQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnZpcm9ubWVudD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEVudmlyb25tZW50PihgJHt1cmx9L2FiYWMvY29udGV4dC8ke25hbWV9YCkpKTtcbiAgfVxuXG4gIGRlbGV0ZUVudmlyb25tZW50KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGAke3VybH0vYWJhYy9jb250ZXh0LyR7bmFtZX1gKSkpO1xuICB9XG5cbiAgZ2V0QWJhY1J1bGVzKCk6IE9ic2VydmFibGU8QWJhY1J1bGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFiYWNSdWxlW10+KGAke3VybH0vYWJhYy9ydWxlc2ApKSk7XG4gIH1cblxuICBnZXRBYmFjUnVsZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBYmFjUnVsZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFiYWNSdWxlPihgJHt1cmx9L2FiYWMvcnVsZXMvaWQvJHtpZH1gKSkpO1xuICB9XG5cbiAgc2F2ZUFiYWNSdWxlKHJ1bGU6IEFiYWNSdWxlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wb3N0PHZvaWQ+KGAke3VybH0vYWJhYy9ydWxlc2AsIHJ1bGUpKSk7XG4gIH1cblxuICBnZXRDbGFzc0Fzc29jaWF0aW9ucyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBc3NvY2lhdGlvbnM+KGAke3VybH0vbW9kZWwvY2xhc3MvJHtpZH0vYXNzb2NpYXRpb25zYCkpKTtcbiAgfVxuXG4gIGdldERhdGFzZXRBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L2RhdGFzZXRzLyR7aWR9L2Fzc29jaWF0aW9uc2ApKSk7XG4gIH1cblxuICBnZXRGaWVsZEFzc29jaWF0aW9ucyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxBc3NvY2lhdGlvbnM+KGAke3VybH0vbW9kZWwvZmllbGRzLyR7aWR9L2Fzc29jaWF0aW9uc2ApKSk7XG4gIH1cblxuICBnZXRBdHRyaWJ1dGVBc3NvY2lhdGlvbnMoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXNzb2NpYXRpb25zPihgJHt1cmx9L21vZGVsL2F0dHJpYnV0ZS8ke2lkfS9hc3NvY2lhdGlvbnNgKSkpO1xuICB9XG5cbiAgZ2V0Q2xhc3MoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2xhc3M+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxDbGFzcz4oYCR7dXJsfS9tb2RlbC9jbGFzcy9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBzYXZlQ2xhc3MoY2xheno6IENsYXNzKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wb3N0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2NsYXNzYCksIGNsYXp6KSkpO1xuICB9XG5cbiAgc2F2ZUF0dHJpYnV0ZUZvckNsYXNzKGNsYXNzSWQ6IHN0cmluZywgYXR0cmlidXRlOiBBdHRyaWJ1dGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtjbGFzc0lkfS9hdHRyaWJ1dGVgKSwgYXR0cmlidXRlKSlcbiAgICAgICk7XG4gIH1cblxuICBkZWxldGVDbGFzcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvY2xhc3MvaWQvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGRlbGV0ZUF0dHJpYnV0ZUZvckNsYXNzKGNsYXNzSWQ6IHN0cmluZywgYXR0cklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jbGFzcy9pZC8ke2NsYXNzSWR9L2F0dHJpYnV0ZS9pZC8ke2F0dHJJZH1gKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHNhdmVDYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9jYXRlZ29yaWVzYCksIGNhdGVnb3J5KSkpO1xuICB9XG5cbiAgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8VXNlckluZm9bXT4oYCR7dXJsfS91c2Vyc2ApKSk7XG4gIH1cblxuICBnZXRNZXRhZGF0YVVzZXIodXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE1ldGFkYXRhVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TWV0YWRhdGFVc2VyW10+KGAke3VybH0vdXNlcnMvaWQvJHt1c2VySWR9L21ldGFkYXRhYCkpKTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhVXNlcih1c2VySWQ6IHN0cmluZywgbWV0YUlkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvaWQvJHt1c2VySWR9L21ldGFkYXRhL2lkLyR7bWV0YUlkfWApLCB7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZU1ldGFkYXRhVXNlcih1c2VySWQ6IHN0cmluZywgbWV0YUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGU8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vdXNlcnMvaWQvJHt1c2VySWR9L21ldGFkYXRhL2lkLyR7bWV0YUlkfWApKSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRMaW5rcygpOiBPYnNlcnZhYmxlPExpbmtEZXRhaWxzW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxMaW5rRGV0YWlsc1tdPihgJHt1cmx9L2xpbmtzYCkpKTtcbiAgfVxuXG4gIHNhdmVMaW5rKGxpbms6IExpbmspOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbGlua3NgKSwgbGluaykpKTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhUnVsZXMobWV0YWRhdGFSdWxlczogTWV0YWRhdGFSdWxlc0NyZWF0ZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQucG9zdDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZ2ApLCBtZXRhZGF0YVJ1bGVzKSkpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFSdWxlc0xpc3QoKTogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxNZXRhZGF0YVJ1bGVzW10+KGAke3VybH0vbWV0YS1wcm92aXNpb25pbmdgKSkpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFSdWxlcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZXRhZGF0YVJ1bGVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8TWV0YWRhdGFSdWxlcz4oYCR7dXJsfS9tZXRhLXByb3Zpc2lvbmluZy9pZC8ke2lkfWApKSk7XG4gIH1cblxuICBkZWxldGVNZXRhZGF0YVJ1bGVzKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZTxNZXRhZGF0YVJ1bGVzPihgJHt1cmx9L21ldGEtcHJvdmlzaW9uaW5nL2lkLyR7aWR9YCkpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,111 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { SubscriptionnerDirective } from '@provoly/dashboard';
4
+ import { BehaviorSubject, combineLatest, map } from 'rxjs';
5
+ import { MetadataActions } from './store/metadata.action';
6
+ import { MetadataSelectors } from './store/metadata.selector';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngrx/store";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@provoly/dashboard";
12
+ export const INTEGER_REGEXP_PATTERN = '^[+-]?[0-9]*$';
13
+ export const DOUBLE_REGEXP_PATTERN = '[+-]?([0-9]*[.])?[0-9]+';
14
+ export class PryMetadataEditorComponent extends SubscriptionnerDirective {
15
+ set metadata(metadata) {
16
+ // @ts-ignore
17
+ const isUserProfile = metadata.length >= 1 && metadata[0].userProfile !== undefined;
18
+ if (isUserProfile) {
19
+ this.type = 'user';
20
+ }
21
+ else {
22
+ this.type = 'meta';
23
+ }
24
+ this._metadata$.next(metadata);
25
+ }
26
+ constructor(store, formBuilder) {
27
+ super();
28
+ this.store = store;
29
+ this.formBuilder = formBuilder;
30
+ this._metadata$ = new BehaviorSubject([]);
31
+ this.isSubmitted = false;
32
+ this.targetId = '';
33
+ this.editable = false;
34
+ this.type = 'meta';
35
+ this.addMeta = new EventEmitter();
36
+ this.removeMeta = new EventEmitter();
37
+ this.form = this.formBuilder.group({
38
+ metadata: [{}, [Validators.required]],
39
+ value: ['', [Validators.required, Validators.pattern(INTEGER_REGEXP_PATTERN)]]
40
+ });
41
+ this.metadataDefs$ = this.store.select(MetadataSelectors.metadata);
42
+ this.availableMetadata$ = combineLatest([this._metadata$, this.metadataDefs$]).pipe(map(([metadata, metaDefs]) => {
43
+ let datasetMetadataIds = metadata?.map((u) => this.type === 'meta' ? u.metadataDef.id : u.userProfile);
44
+ return metaDefs.filter((meta) => !datasetMetadataIds?.includes(meta.id));
45
+ }));
46
+ this.subscriptions.add(this.availableMetadata$.subscribe((meta) => {
47
+ this.form.patchValue({
48
+ metadata: meta[0]
49
+ });
50
+ this.onMetaChange(meta[0]);
51
+ this.form.patchValue({ value: '' });
52
+ }));
53
+ }
54
+ onMetaChange(metadata) {
55
+ if (metadata) {
56
+ if (metadata.type === 'INTEGER') {
57
+ this.form.controls['value'].setValidators([Validators.required, Validators.pattern(INTEGER_REGEXP_PATTERN)]);
58
+ }
59
+ else if (metadata.type === 'DOUBLE') {
60
+ this.form.controls['value'].setValidators([Validators.required, Validators.pattern(DOUBLE_REGEXP_PATTERN)]);
61
+ }
62
+ else {
63
+ this.form.controls['value'].setValidators([Validators.required]);
64
+ }
65
+ }
66
+ }
67
+ editMetadata(currentMetadata) {
68
+ this.store.dispatch(MetadataActions.isEditable({ editable: true }));
69
+ let value = currentMetadata.value;
70
+ let datasetMetadataDef = this.metaDefinition(currentMetadata);
71
+ this.form.patchValue({
72
+ metadata: datasetMetadataDef,
73
+ value: value
74
+ });
75
+ this.onMetaChange(datasetMetadataDef);
76
+ }
77
+ metaDefinition(metadata) {
78
+ return this.type === 'user' ? metadata.userProfile : metadata.metadataDef;
79
+ }
80
+ removeMetadata(metadata) {
81
+ this.removeMeta.emit({ id: this.targetId, metadataId: this.metaDefinition(metadata).id });
82
+ }
83
+ addDatasetMetadata() {
84
+ this.isSubmitted = true;
85
+ if (this.form.valid) {
86
+ this.isSubmitted = false;
87
+ this.removeMeta.emit({
88
+ id: this.targetId,
89
+ metadataId: this.form.value['metadata']['id'],
90
+ value: this.form.value['value']
91
+ });
92
+ }
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryMetadataEditorComponent, deps: [{ token: i1.Store }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: { targetId: "targetId", editable: "editable", metadata: "metadata" }, outputs: { addMeta: "addMeta", removeMeta: "removeMeta" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of (_metadata$ | async) ?? []\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\">{{ metaDefinition(metadata).name }} :</span>\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.edit' | i18n }} {{ metaDefinition(metadata).name }}</span>\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metaDefinition(metadata).name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <ng-container *ngIf=\"form.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"form\" (ngSubmit)=\"addDatasetMetadata()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"availableMetadata$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('metadata')?.invalid ? 'metadata-label metadata-error' : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && form.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'form-date-label form-date-error' : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"form.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"form.get('value')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <ng-container *ngIf=\"form.get('value')?.hasError('pattern')\">\n <span *ngIf=\"form.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"form.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button type=\"submit\" class=\"a-btn a-btn--primary\">\n {{ (editable ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata') | i18n }}\n </button>\n </div>\n </form>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryMetadataEditorComponent, decorators: [{
98
+ type: Component,
99
+ args: [{ selector: 'pry-metadata-editor', template: "<div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of (_metadata$ | async) ?? []\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\">{{ metaDefinition(metadata).name }} :</span>\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.edit' | i18n }} {{ metaDefinition(metadata).name }}</span>\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metaDefinition(metadata).name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <ng-container *ngIf=\"form.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"form\" (ngSubmit)=\"addDatasetMetadata()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"availableMetadata$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('metadata')?.invalid ? 'metadata-label metadata-error' : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && form.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'form-date-label form-date-error' : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"form.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"form.get('value')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <ng-container *ngIf=\"form.get('value')?.hasError('pattern')\">\n <span *ngIf=\"form.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"form.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button type=\"submit\" class=\"a-btn a-btn--primary\">\n {{ (editable ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata') | i18n }}\n </button>\n </div>\n </form>\n </ng-container>\n</ng-container>\n" }]
100
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.FormBuilder }]; }, propDecorators: { targetId: [{
101
+ type: Input
102
+ }], editable: [{
103
+ type: Input
104
+ }], addMeta: [{
105
+ type: Output
106
+ }], removeMeta: [{
107
+ type: Output
108
+ }], metadata: [{
109
+ type: Input
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yL21ldGFkYXRhLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvci9tZXRhZGF0YS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBMEMsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFJOUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFZdEUsSUFBYSxRQUFRLENBQUMsUUFBMEM7UUFDOUQsYUFBYTtRQUNiLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO1FBQ3BGLElBQUksYUFBYSxFQUFF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QUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDbkIsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2FBQ2hDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs4R0E3RlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsMk5DaEJ2QyxpNk5BbUtBOzsyRkRuSmEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjtzSEFPdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFTSxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSwgTWV0YWRhdGFVc2VyLCBNZXRhZGF0YVZhbHVlLCBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1ldGFkYXRhQWN0aW9ucyB9IGZyb20gJy4vc3RvcmUvbWV0YWRhdGEuYWN0aW9uJztcbmltcG9ydCB7IE1ldGFkYXRhU2VsZWN0b3JzIH0gZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS5zZWxlY3Rvcic7XG5cbmV4cG9ydCB0eXBlIE1ldGFFdmVudFR5cGUgPSB7IGlkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGNvbnN0IElOVEVHRVJfUkVHRVhQX1BBVFRFUk4gPSAnXlsrLV0/WzAtOV0qJCc7XG5leHBvcnQgY29uc3QgRE9VQkxFX1JFR0VYUF9QQVRURVJOID0gJ1srLV0/KFswLTldKlsuXSk/WzAtOV0rJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1tZXRhZGF0YS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJ21ldGFkYXRhLWVkaXRvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5TWV0YWRhdGFFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBfbWV0YWRhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDwoTWV0YWRhdGFWYWx1ZSB8IE1ldGFkYXRhVXNlcilbXT4oW10pO1xuICBmb3JtOiBGb3JtR3JvdXA7XG4gIGlzU3VibWl0dGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRhcmdldElkID0gJyc7XG4gIEBJbnB1dCgpIGVkaXRhYmxlID0gZmFsc2U7XG4gIG1ldGFkYXRhRGVmcyQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBhdmFpbGFibGVNZXRhZGF0YSQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICB0eXBlOiAnbWV0YScgfCAndXNlcicgPSAnbWV0YSc7XG4gIEBPdXRwdXQoKSBhZGRNZXRhID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhRXZlbnRUeXBlPigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlTWV0YSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YUV2ZW50VHlwZT4oKTtcblxuICBASW5wdXQoKSBzZXQgbWV0YWRhdGEobWV0YWRhdGE6IE1ldGFkYXRhVmFsdWVbXSB8IE1ldGFkYXRhVXNlcltdKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGlzVXNlclByb2ZpbGUgPSBtZXRhZGF0YS5sZW5ndGggPj0gMSAmJiBtZXRhZGF0YVswXS51c2VyUHJvZmlsZSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChpc1VzZXJQcm9maWxlKSB7XG4gICAgICB0aGlzLnR5cGUgPSAndXNlcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZSA9ICdtZXRhJztcbiAgICB9XG4gICAgdGhpcy5fbWV0YWRhdGEkLm5leHQobWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbWV0YWRhdGE6IFt7fSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHZhbHVlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oSU5URUdFUl9SRUdFWFBfUEFUVEVSTildXVxuICAgIH0pO1xuXG4gICAgdGhpcy5tZXRhZGF0YURlZnMkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpO1xuICAgIHRoaXMuYXZhaWxhYmxlTWV0YWRhdGEkID0gY29tYmluZUxhdGVzdChbdGhpcy5fbWV0YWRhdGEkLCB0aGlzLm1ldGFkYXRhRGVmcyRdKS5waXBlKFxuICAgICAgbWFwKChbbWV0YWRhdGEsIG1ldGFEZWZzXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YXNldE1ldGFkYXRhSWRzID0gbWV0YWRhdGE/Lm1hcCgodSkgPT5cbiAgICAgICAgICB0aGlzLnR5cGUgPT09ICdtZXRhJyA/ICh1IGFzIE1ldGFkYXRhVmFsdWUpLm1ldGFkYXRhRGVmLmlkIDogKHUgYXMgTWV0YWRhdGFVc2VyKS51c2VyUHJvZmlsZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbWV0YURlZnMuZmlsdGVyKChtZXRhKSA9PiAhZGF0YXNldE1ldGFkYXRhSWRzPy5pbmNsdWRlcyhtZXRhLmlkKSk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5hdmFpbGFibGVNZXRhZGF0YSQuc3Vic2NyaWJlKChtZXRhKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBtZXRhZGF0YTogbWV0YVswXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbk1ldGFDaGFuZ2UobWV0YVswXSk7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgdmFsdWU6ICcnIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25NZXRhQ2hhbmdlKG1ldGFkYXRhOiBJTWV0YWRhdGEpIHtcbiAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgIGlmIChtZXRhZGF0YS50eXBlID09PSAnSU5URUdFUicpIHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzWyd2YWx1ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybihJTlRFR0VSX1JFR0VYUF9QQVRURVJOKV0pO1xuICAgICAgfSBlbHNlIGlmIChtZXRhZGF0YS50eXBlID09PSAnRE9VQkxFJykge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbJ3ZhbHVlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKERPVUJMRV9SRUdFWFBfUEFUVEVSTildKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1sndmFsdWUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZWRpdE1ldGFkYXRhKGN1cnJlbnRNZXRhZGF0YTogTWV0YWRhdGFWYWx1ZSB8IE1ldGFkYXRhVXNlcikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmlzRWRpdGFibGUoeyBlZGl0YWJsZTogdHJ1ZSB9KSk7XG4gICAgbGV0IHZhbHVlID0gY3VycmVudE1ldGFkYXRhLnZhbHVlO1xuICAgIGxldCBkYXRhc2V0TWV0YWRhdGFEZWYgPSB0aGlzLm1ldGFEZWZpbml0aW9uKGN1cnJlbnRNZXRhZGF0YSk7XG5cbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBtZXRhZGF0YTogZGF0YXNldE1ldGFkYXRhRGVmLFxuICAgICAgdmFsdWU6IHZhbHVlXG4gICAgfSk7XG4gICAgdGhpcy5vbk1ldGFDaGFuZ2UoZGF0YXNldE1ldGFkYXRhRGVmKTtcbiAgfVxuXG4gIG1ldGFEZWZpbml0aW9uKG1ldGFkYXRhOiBNZXRhZGF0YVVzZXIgfCBNZXRhZGF0YVZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ3VzZXInID8gKG1ldGFkYXRhIGFzIE1ldGFkYXRhVXNlcikudXNlclByb2ZpbGUgOiAobWV0YWRhdGEgYXMgTWV0YWRhdGFWYWx1ZSkubWV0YWRhdGFEZWY7XG4gIH1cblxuICByZW1vdmVNZXRhZGF0YShtZXRhZGF0YTogTWV0YWRhdGFVc2VyIHwgTWV0YWRhdGFWYWx1ZSkge1xuICAgIHRoaXMucmVtb3ZlTWV0YS5lbWl0KHsgaWQ6IHRoaXMudGFyZ2V0SWQsIG1ldGFkYXRhSWQ6IHRoaXMubWV0YURlZmluaXRpb24obWV0YWRhdGEpLmlkIH0pO1xuICB9XG4gIGFkZERhdGFzZXRNZXRhZGF0YSgpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgICB0aGlzLnJlbW92ZU1ldGEuZW1pdCh7XG4gICAgICAgIGlkOiB0aGlzLnRhcmdldElkLFxuICAgICAgICBtZXRhZGF0YUlkOiB0aGlzLmZvcm0udmFsdWVbJ21ldGFkYXRhJ11bJ2lkJ10sXG4gICAgICAgIHZhbHVlOiB0aGlzLmZvcm0udmFsdWVbJ3ZhbHVlJ11cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50IG8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50LS1wcm9maWxcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbWV0YWRhdGEgb2YgKF9tZXRhZGF0YSQgfCBhc3luYykgPz8gW11cIj5cbiAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudF9fYWN0aW9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRfX2FjdGlvbnNfX3RleHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50X19hY3Rpb25zX190ZXh0X19sYWJlbFwiPnt7IG1ldGFEZWZpbml0aW9uKG1ldGFkYXRhKS5uYW1lIH19IDo8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudF9fYWN0aW9uc19fdGV4dF9fdmFsdWVcIj57eyBtZXRhZGF0YS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50X19hY3Rpb25zX19idXR0b25zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdhZG1pbicsIHBhZ2U6ICdkYXRhc2V0JywgYWN0aW9uOiAnd3JpdGUnIH1cIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIGFyaWEtcHJlc3NlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hY3Rpb24uZWRpdCcgfCBpMThuIH19IHt7IG1ldGFEZWZpbml0aW9uKG1ldGFkYXRhKS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImVkaXQtaWNvblwiXG4gICAgICAgICAgICAgICAgaWNvblN2Zz1cImVkaXRcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRNZXRhZGF0YShtZXRhZGF0YSlcIlxuICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgPnt7ICdAcHJ5LmFjdGlvbi5kZWxldGUnIHwgaTE4biB9fSB7eyBtZXRhRGVmaW5pdGlvbihtZXRhZGF0YSkubmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgIGljb25Tdmc9XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgW2hlaWdodF09XCIxNVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU1ldGFkYXRhKG1ldGFkYXRhKVwiXG4gICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnZGF0YXNldCcsIGFjdGlvbjogJ3dyaXRlJyB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtLnZhbHVlLm1ldGFkYXRhXCI+XG4gICAgPGZvcm0gY2xhc3M9XCJvLWZvcm0gLWJvcmRlci10b3BcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiYWRkRGF0YXNldE1ldGFkYXRhKClcIj5cbiAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWN0aW9uLmVkaXRQcm9maWwnIHwgaTE4biB9fTwvbGVnZW5kPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwibWV0YWRhdGFcIiBpZD1cIm1ldGFkYXRhLWxhYmVsXCIgY2xhc3M9XCJhLWxhYmVsXCI+RGF0YTwvbGFiZWw+XG4gICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgIGlkPVwibWV0YWRhdGFcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0YWRhdGFcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImF2YWlsYWJsZU1ldGFkYXRhJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWV0YUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cImVkaXRhYmxlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ21ldGFkYXRhJyk/LmludmFsaWQgPyAnbWV0YWRhdGEtbGFiZWwgbWV0YWRhdGEtZXJyb3InIDogJ21ldGFkYXRhLWxhYmVsJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgnbWV0YWRhdGEnKT8uaW52YWxpZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ21ldGFkYXRhJyk/LmludmFsaWRcIlxuICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1lcnJvclwiXG4gICAgICAgICAgICBmb3I9XCJtZXRhZGF0YVwiXG4gICAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsndHlwZSddID09PSAnREFURSc7IGVsc2UgaW5wdXRMaXN0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGlkPVwiZm9ybV9kYXRlLWxhYmVsXCIgZm9yPVwiZm9ybV9kYXRlXCIgY2xhc3M9XCJhLWxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFjdGlvbi5zZWxlY3REYXRlJyB8IGkxOG4gfX0gKlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cImZvcm1fZGF0ZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZCA/ICdmb3JtLWRhdGUtbGFiZWwgZm9ybS1kYXRlLWVycm9yJyA6ICdmb3JtLWRhdGUtbGFiZWwnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ3ZhbHVlJyk/LmludmFsaWRcIlxuICAgICAgICAgICAgICBpZD1cImZvcm1fZGF0ZS1lcnJvclwiXG4gICAgICAgICAgICAgIGZvcj1cImZvcm1fZGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRMaXN0PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtLnZhbHVlWydtZXRhZGF0YSddWyd0eXBlJ10gPT09ICdMSVNUJzsgZWxzZSBpbnB1dFRleHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibGlzdC1sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImxpc3RcIj57eyAnQHByeS5hY3Rpb24uY2hvaWNlSW5MaXN0JyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAgIGlkPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiZm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsnYWxsb3dlZFZhbHVlcyddXCJcbiAgICAgICAgICAgICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImxpc3QtbGFiZWxcIlxuICAgICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpbnB1dFRleHQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGlkPVwidGV4dC1sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInRleHRcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLnRleHQnIHwgaTE4biB9fSAqXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwidGV4dFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZCA/ICd0ZXh0LWxhYmVsIHRleHQtZXJyb3InIDogJ3RleHQtbGFiZWwnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ3ZhbHVlJyk/LmludmFsaWRcIlxuICAgICAgICAgICAgICBpZD1cInRlc3QtZXJyb3JcIlxuICAgICAgICAgICAgICBmb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtLmdldCgndmFsdWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS5nZXQoJ3ZhbHVlJyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZvcm0udmFsdWVbJ21ldGFkYXRhJ11bJ3R5cGUnXSA9PT0gJ0RPVUJMRSdcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmVudmlyb25tZW50LmZvcm1hdERvdWJsZScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsndHlwZSddID09PSAnSU5URUdFUidcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmVudmlyb25tZW50LmZvcm1hdEludCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLWVuZFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICAgICAge3sgKGVkaXRhYmxlID8gJ0BwcnkuYWRtaW4udXNlckluZm8uZWRpdE1ldGFkYXRhJyA6ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmFkZE1ldGFkYXRhJykgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,47 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { EffectsModule } from '@ngrx/effects';
5
+ import { StoreModule } from '@ngrx/store';
6
+ import { PryCoreModule, PryI18nModule, PryIconModule, PrySelectModule } from '@provoly/dashboard';
7
+ import { PryMetadataEditorComponent } from './metadata-editor.component';
8
+ import { MetadataEffects } from './store/metadata.effects';
9
+ import { metadataFeatureKey, metadataReducer } from './store/metadata.reducer';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngrx/store";
12
+ import * as i2 from "@ngrx/effects";
13
+ const PRY_METADATA_EDITOR_COMPONENTS = [PryMetadataEditorComponent];
14
+ export class PryExpandPanelModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryExpandPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PryExpandPanelModule, declarations: [PryMetadataEditorComponent], imports: [CommonModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, PryCoreModule,
17
+ PryI18nModule,
18
+ ReactiveFormsModule,
19
+ PrySelectModule,
20
+ PryIconModule], exports: [PryMetadataEditorComponent] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryExpandPanelModule, imports: [CommonModule,
22
+ StoreModule.forFeature(metadataFeatureKey, metadataReducer),
23
+ EffectsModule.forFeature([MetadataEffects]),
24
+ PryCoreModule,
25
+ PryI18nModule,
26
+ ReactiveFormsModule,
27
+ PrySelectModule,
28
+ PryIconModule] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryExpandPanelModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: [...PRY_METADATA_EDITOR_COMPONENTS],
34
+ exports: [...PRY_METADATA_EDITOR_COMPONENTS],
35
+ imports: [
36
+ CommonModule,
37
+ StoreModule.forFeature(metadataFeatureKey, metadataReducer),
38
+ EffectsModule.forFeature([MetadataEffects]),
39
+ PryCoreModule,
40
+ PryI18nModule,
41
+ ReactiveFormsModule,
42
+ PrySelectModule,
43
+ PryIconModule
44
+ ]
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yL21ldGFkYXRhLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRS9FLE1BQU0sOEJBQThCLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBZ0JwRSxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixpQkFoQk8sMEJBQTBCLGFBTTlELFlBQVksa0RBR1osYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWEsYUFidUIsMEJBQTBCOytHQWdCckQsb0JBQW9CLFlBVjdCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQztZQUMzRCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0MsYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7OzJGQUdKLG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLDhCQUE4QixDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLDhCQUE4QixDQUFDO29CQUM1QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQzt3QkFDM0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUMzQyxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFByeUNvcmVNb2R1bGUsIFByeUkxOG5Nb2R1bGUsIFByeUljb25Nb2R1bGUsIFByeVNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlNZXRhZGF0YUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vbWV0YWRhdGEtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRhZGF0YUVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL21ldGFkYXRhLmVmZmVjdHMnO1xuaW1wb3J0IHsgbWV0YWRhdGFGZWF0dXJlS2V5LCBtZXRhZGF0YVJlZHVjZXIgfSBmcm9tICcuL3N0b3JlL21ldGFkYXRhLnJlZHVjZXInO1xuXG5jb25zdCBQUllfTUVUQURBVEFfRURJVE9SX0NPTVBPTkVOVFMgPSBbUHJ5TWV0YWRhdGFFZGl0b3JDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5QUllfTUVUQURBVEFfRURJVE9SX0NPTVBPTkVOVFNdLFxuICBleHBvcnRzOiBbLi4uUFJZX01FVEFEQVRBX0VESVRPUl9DT01QT05FTlRTXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKG1ldGFkYXRhRmVhdHVyZUtleSwgbWV0YWRhdGFSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01ldGFkYXRhRWZmZWN0c10pLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5RXhwYW5kUGFuZWxNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdm9seS1kYXNoYm9hcmQtY29tcG9uZW50cy1tZXRhZGF0YS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvci9wcm92b2x5LWRhc2hib2FyZC1jb21wb25lbnRzLW1ldGFkYXRhLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,8 @@
1
+ export * from './metadata-editor.module';
2
+ export * from './metadata-editor.component';
3
+ export * from './store/metadata.action';
4
+ export * from './store/metadata.reducer';
5
+ export * from './store/metadata.effects';
6
+ export * from './store/metadata.selector';
7
+ export * from './store/metadata.service';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEtZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21ldGFkYXRhLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9tZXRhZGF0YS5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvbWV0YWRhdGEuZWZmZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL21ldGFkYXRhLnNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvbWV0YWRhdGEuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { createAction, props } from '@ngrx/store';
2
+ export const MetadataActions = {
3
+ loadMetadata: createAction(`[Metadata] Load Metadata`),
4
+ loadMetadataSuccess: createAction(`[Metadata] Load Metadata Success`, props()),
5
+ loadMetadataFailure: createAction(`[Metadata] Load Metadata Failure`, props()),
6
+ unselectMetadata: createAction(`[Metadata] unSelect Metadata`),
7
+ goToNewMetadata: createAction(`[Metadata] go to new metadata`, props()),
8
+ goToNewMetadataSuccess: createAction(`[Metadata] go to new metadata success`),
9
+ goToNewMetadataFailure: createAction(`[Metadata] go to new metadata failure`, props()),
10
+ createMetadata: createAction(`[Metadata] create metadata`, props()),
11
+ createMetadataSuccess: createAction(`[Metadata] create metadata Success`, props()),
12
+ createMetadataFailure: createAction(`[Metadata] create metadata Failure`, props()),
13
+ goToDetailsView: createAction(`[Metadata] go to details view`, props()),
14
+ goToDetailsViewSuccess: createAction(`[Metadata] go to details view success`, props()),
15
+ goToDetailsViewFailure: createAction(`[Metadata] go to details view failure`, props()),
16
+ addDatasetMetadata: createAction(`[Metadata] Add Metadata of selected Datasets`, props()),
17
+ addDatasetMetadataSuccess: createAction(`[Metadata] Add Metadata of selected Datasets Success`, props()),
18
+ addDatasetMetadataFailure: createAction(`[Metadata] Add Metadata of selected Datasets Failure`, props()),
19
+ deleteDatasetMetadata: createAction(`[Metadata] Delete Metadata of selected Datasets`, props()),
20
+ deleteDatasetMetadataSuccess: createAction(`[Metadata] Delete Metadata of selected Datasets Success`, props()),
21
+ deleteDatasetMetadataFailure: createAction(`[Metadata] Delete Metadata of selected Datasets Failure`, props()),
22
+ isEditable: createAction(`[Metadata] Is editable`, props()),
23
+ loadDatasetMetadata: createAction(`[Metadata] Load Metadata of selected Datasets`, props()),
24
+ loadDatasetMetadataSuccess: createAction(`[Metadata] Load Metadata of selected Datasets Success`, props()),
25
+ loadDatasetMetadataFailure: createAction(`[Metadata] Load Metadata of selected Datasets Failure`, props())
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3Ivc3RvcmUvbWV0YWRhdGEuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixZQUFZLEVBQUUsWUFBWSxDQUFDLDBCQUEwQixDQUFDO0lBQ3RELG1CQUFtQixFQUFFLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQWtDLENBQUM7SUFDOUcsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUU5RixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsOEJBQThCLENBQUM7SUFFOUQsZUFBZSxFQUFFLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDMUYsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxDQUFDO0lBQzdFLHNCQUFzQixFQUFFLFlBQVksQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFFdEcsY0FBYyxFQUFFLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLEVBQTJCLENBQUM7SUFDNUYscUJBQXFCLEVBQUUsWUFBWSxDQUFDLG9DQUFvQyxFQUFFLEtBQUssRUFBMkIsQ0FBQztJQUMzRyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBRWxHLGVBQWUsRUFBRSxZQUFZLENBQUMsK0JBQStCLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3ZGLHNCQUFzQixFQUFFLFlBQVksQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLEVBQTJCLENBQUM7SUFDL0csc0JBQXNCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUV0RyxrQkFBa0IsRUFBRSxZQUFZLENBQzlCLDhDQUE4QyxFQUM5QyxLQUFLLEVBQXlELENBQy9EO0lBQ0QseUJBQXlCLEVBQUUsWUFBWSxDQUNyQyxzREFBc0QsRUFDdEQsS0FBSyxFQUF5QixDQUMvQjtJQUNELHlCQUF5QixFQUFFLFlBQVksQ0FDckMsc0RBQXNELEVBQ3RELEtBQUssRUFBa0IsQ0FDeEI7SUFFRCxxQkFBcUIsRUFBRSxZQUFZLENBQ2pDLGlEQUFpRCxFQUNqRCxLQUFLLEVBQTZDLENBQ25EO0lBQ0QsNEJBQTRCLEVBQUUsWUFBWSxDQUN4Qyx5REFBeUQsRUFDekQsS0FBSyxFQUF5QixDQUMvQjtJQUNELDRCQUE0QixFQUFFLFlBQVksQ0FDeEMseURBQXlELEVBQ3pELEtBQUssRUFBa0IsQ0FDeEI7SUFDRCxVQUFVLEVBQUUsWUFBWSxDQUFDLHdCQUF3QixFQUFFLEtBQUssRUFBeUIsQ0FBQztJQUNsRixtQkFBbUIsRUFBRSxZQUFZLENBQUMsK0NBQStDLEVBQUUsS0FBSyxFQUF5QixDQUFDO0lBQ2xILDBCQUEwQixFQUFFLFlBQVksQ0FDdEMsdURBQXVELEVBQ3ZELEtBQUssRUFBaUMsQ0FDdkM7SUFDRCwwQkFBMEIsRUFBRSxZQUFZLENBQ3RDLHVEQUF1RCxFQUN2RCxLQUFLLEVBQWtCLENBQ3hCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEsIE1ldGFkYXRhVmFsdWUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgTWV0YWRhdGFBY3Rpb25zID0ge1xuICBsb2FkTWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSBMb2FkIE1ldGFkYXRhYCksXG4gIGxvYWRNZXRhZGF0YVN1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSBMb2FkIE1ldGFkYXRhIFN1Y2Nlc3NgLCBwcm9wczx7IG1ldGFkYXRhOiBBcnJheTxJTWV0YWRhdGE+IH0+KCkpLFxuICBsb2FkTWV0YWRhdGFGYWlsdXJlOiBjcmVhdGVBY3Rpb24oYFtNZXRhZGF0YV0gTG9hZCBNZXRhZGF0YSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcjogYW55IH0+KCkpLFxuXG4gIHVuc2VsZWN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSB1blNlbGVjdCBNZXRhZGF0YWApLFxuXG4gIGdvVG9OZXdNZXRhZGF0YTogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGdvIHRvIG5ldyBtZXRhZGF0YWAsIHByb3BzPHsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZ29Ub05ld01ldGFkYXRhU3VjY2VzczogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGdvIHRvIG5ldyBtZXRhZGF0YSBzdWNjZXNzYCksXG4gIGdvVG9OZXdNZXRhZGF0YUZhaWx1cmU6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSBnbyB0byBuZXcgbWV0YWRhdGEgZmFpbHVyZWAsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKSxcblxuICBjcmVhdGVNZXRhZGF0YTogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGNyZWF0ZSBtZXRhZGF0YWAsIHByb3BzPHsgbWV0YWRhdGE6IElNZXRhZGF0YSB9PigpKSxcbiAgY3JlYXRlTWV0YWRhdGFTdWNjZXNzOiBjcmVhdGVBY3Rpb24oYFtNZXRhZGF0YV0gY3JlYXRlIG1ldGFkYXRhIFN1Y2Nlc3NgLCBwcm9wczx7IG1ldGFkYXRhOiBJTWV0YWRhdGEgfT4oKSksXG4gIGNyZWF0ZU1ldGFkYXRhRmFpbHVyZTogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGNyZWF0ZSBtZXRhZGF0YSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcjogYW55IH0+KCkpLFxuXG4gIGdvVG9EZXRhaWxzVmlldzogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGdvIHRvIGRldGFpbHMgdmlld2AsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZ29Ub0RldGFpbHNWaWV3U3VjY2VzczogY3JlYXRlQWN0aW9uKGBbTWV0YWRhdGFdIGdvIHRvIGRldGFpbHMgdmlldyBzdWNjZXNzYCwgcHJvcHM8eyBtZXRhZGF0YTogSU1ldGFkYXRhIH0+KCkpLFxuICBnb1RvRGV0YWlsc1ZpZXdGYWlsdXJlOiBjcmVhdGVBY3Rpb24oYFtNZXRhZGF0YV0gZ28gdG8gZGV0YWlscyB2aWV3IGZhaWx1cmVgLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgYWRkRGF0YXNldE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gQWRkIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzYCxcbiAgICBwcm9wczx7IGRhdGFzZXRJZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKVxuICApLFxuICBhZGREYXRhc2V0TWV0YWRhdGFTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gQWRkIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzIFN1Y2Nlc3NgLFxuICAgIHByb3BzPHsgZGF0YXNldElkOiBzdHJpbmcgfT4oKVxuICApLFxuICBhZGREYXRhc2V0TWV0YWRhdGFGYWlsdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gQWRkIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzIEZhaWx1cmVgLFxuICAgIHByb3BzPHsgZXJyb3I6IGFueSB9PigpXG4gICksXG5cbiAgZGVsZXRlRGF0YXNldE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gRGVsZXRlIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzYCxcbiAgICBwcm9wczx7IGRhdGFzZXRJZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICBkZWxldGVEYXRhc2V0TWV0YWRhdGFTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gRGVsZXRlIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzIFN1Y2Nlc3NgLFxuICAgIHByb3BzPHsgZGF0YXNldElkOiBzdHJpbmcgfT4oKVxuICApLFxuICBkZWxldGVEYXRhc2V0TWV0YWRhdGFGYWlsdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gRGVsZXRlIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzIEZhaWx1cmVgLFxuICAgIHByb3BzPHsgZXJyb3I6IGFueSB9PigpXG4gICksXG4gIGlzRWRpdGFibGU6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSBJcyBlZGl0YWJsZWAsIHByb3BzPHsgZWRpdGFibGU6IGJvb2xlYW4gfT4oKSksXG4gIGxvYWREYXRhc2V0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihgW01ldGFkYXRhXSBMb2FkIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzYCwgcHJvcHM8eyBkYXRhc2V0SWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZERhdGFzZXRNZXRhZGF0YVN1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICBgW01ldGFkYXRhXSBMb2FkIE1ldGFkYXRhIG9mIHNlbGVjdGVkIERhdGFzZXRzIFN1Y2Nlc3NgLFxuICAgIHByb3BzPHsgbWV0YWRhdGE6IE1ldGFkYXRhVmFsdWVbXSB9PigpXG4gICksXG4gIGxvYWREYXRhc2V0TWV0YWRhdGFGYWlsdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgYFtNZXRhZGF0YV0gTG9hZCBNZXRhZGF0YSBvZiBzZWxlY3RlZCBEYXRhc2V0cyBGYWlsdXJlYCxcbiAgICBwcm9wczx7IGVycm9yOiBhbnkgfT4oKVxuICApXG59O1xuIl19
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { createEffect, ofType } from '@ngrx/effects';
3
+ import { DataSourceActions } from '@provoly/dashboard';
4
+ import { catchError, map, mergeMap } from 'rxjs/operators';
5
+ import { MetadataActions } from './metadata.action';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngrx/effects";
8
+ import * as i2 from "./metadata.service";
9
+ import * as i3 from "@provoly/dashboard";
10
+ export class MetadataEffects {
11
+ constructor(actions$, service, dataSourceService) {
12
+ this.actions$ = actions$;
13
+ this.service = service;
14
+ this.dataSourceService = dataSourceService;
15
+ this.loadMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.loadMetadata), mergeMap((_) => this.service.getMetadataList().pipe(map((metadata) => MetadataActions.loadMetadataSuccess({ metadata: metadata })), catchError((error) => [MetadataActions.loadMetadataFailure({ error: error })])))));
16
+ this.goToDetailsView$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.goToDetailsView), mergeMap((action) => this.service.getMetadata(action.id).pipe(map((metadata) => MetadataActions.goToDetailsViewSuccess({ metadata })), catchError((error) => [MetadataActions.goToDetailsViewFailure({ error: error })])))));
17
+ this.createMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.createMetadata), mergeMap((action) => this.service.postMetadata(action.metadata).pipe(map(() => MetadataActions.createMetadataSuccess({ metadata: action.metadata })), catchError((error) => [MetadataActions.createMetadataFailure({ error: error })])))));
18
+ this.createMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.createMetadataSuccess), map((action) => {
19
+ return MetadataActions.loadMetadata();
20
+ })));
21
+ this.addDatasetMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.addDatasetMetadata), mergeMap((action) => this.dataSourceService.addDatasetMetadata(action.datasetId, action.metadataId, action.value).pipe(map(() => MetadataActions.addDatasetMetadataSuccess({ datasetId: action.datasetId })), catchError((error) => [MetadataActions.addDatasetMetadataFailure({ error })])))));
22
+ this.addDatasetMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.addDatasetMetadataSuccess), mergeMap((action) => {
23
+ return [
24
+ DataSourceActions.dataset.getDatasetById({ id: action.datasetId }),
25
+ MetadataActions.isEditable({ editable: false }),
26
+ DataSourceActions.dataset.loadDataset()
27
+ ];
28
+ })));
29
+ this.deleteDatasetMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.deleteDatasetMetadata), mergeMap((action) => this.dataSourceService.deleteDatasetMetadata(action.datasetId, action.metadataId).pipe(map(() => MetadataActions.deleteDatasetMetadataSuccess({ datasetId: action.datasetId })), catchError((error) => [MetadataActions.deleteDatasetMetadataFailure({ error })])))));
30
+ this.deleteDatasetMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.deleteDatasetMetadataSuccess), mergeMap((action) => {
31
+ return [
32
+ DataSourceActions.dataset.getDatasetById({ id: action.datasetId }),
33
+ MetadataActions.isEditable({ editable: false }),
34
+ DataSourceActions.dataset.loadDataset()
35
+ ];
36
+ })));
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects, deps: [{ token: i1.Actions }, { token: i2.MetadataService }, { token: i3.DataSourceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.MetadataService }, { type: i3.DataSourceService }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yL3N0b3JlL21ldGFkYXRhLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUlwRCxNQUFNLE9BQU8sZUFBZTtJQWdHMUIsWUFDVSxRQUFpQixFQUNqQixPQUF3QixFQUN4QixpQkFBb0M7UUFGcEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBbEc5QyxrQkFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEVBQ3BDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDOUUsVUFBVSxDQUFDLENBQUMsS0FB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RUFBRSxDQUFDO2dCQUNsRSxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUMvQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO2FBQ3hDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFNQyxDQUFDOzhHQXBHTyxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZUFjdGlvbnMsIERhdGFTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXRhZGF0YUFjdGlvbnMgfSBmcm9tICcuL21ldGFkYXRhLmFjdGlvbic7XG5pbXBvcnQgeyBNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuL21ldGFkYXRhLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFFZmZlY3RzIHtcbiAgbG9hZE1ldGFkYXRhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKSxcbiAgICAgIG1lcmdlTWFwKChfKSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0TWV0YWRhdGFMaXN0KCkucGlwZShcbiAgICAgICAgICBtYXAoKG1ldGFkYXRhKSA9PiBNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhU3VjY2Vzcyh7IG1ldGFkYXRhOiBtZXRhZGF0YSB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ29Ub0RldGFpbHNWaWV3JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZXRhZGF0YUFjdGlvbnMuZ29Ub0RldGFpbHNWaWV3KSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5nZXRNZXRhZGF0YShhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChtZXRhZGF0YSkgPT4gTWV0YWRhdGFBY3Rpb25zLmdvVG9EZXRhaWxzVmlld1N1Y2Nlc3MoeyBtZXRhZGF0YSB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtNZXRhZGF0YUFjdGlvbnMuZ29Ub0RldGFpbHNWaWV3RmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlTWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1ldGFkYXRhQWN0aW9ucy5jcmVhdGVNZXRhZGF0YSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UucG9zdE1ldGFkYXRhKGFjdGlvbi5tZXRhZGF0YSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gTWV0YWRhdGFBY3Rpb25zLmNyZWF0ZU1ldGFkYXRhU3VjY2Vzcyh7IG1ldGFkYXRhOiBhY3Rpb24ubWV0YWRhdGEgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbTWV0YWRhdGFBY3Rpb25zLmNyZWF0ZU1ldGFkYXRhRmFpbHVyZSh7IGVycm9yOiBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlTWV0YWRhdGFTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShNZXRhZGF0YUFjdGlvbnMuY3JlYXRlTWV0YWRhdGFTdWNjZXNzKSxcbiAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBhZGREYXRhc2V0TWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE1ldGFkYXRhQWN0aW9ucy5hZGREYXRhc2V0TWV0YWRhdGEpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgdGhpcy5kYXRhU291cmNlU2VydmljZS5hZGREYXRhc2V0TWV0YWRhdGEoYWN0aW9uLmRhdGFzZXRJZCwgYWN0aW9uLm1ldGFkYXRhSWQsIGFjdGlvbi52YWx1ZSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gTWV0YWRhdGFBY3Rpb25zLmFkZERhdGFzZXRNZXRhZGF0YVN1Y2Nlc3MoeyBkYXRhc2V0SWQ6IGFjdGlvbi5kYXRhc2V0SWQgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbTWV0YWRhdGFBY3Rpb25zLmFkZERhdGFzZXRNZXRhZGF0YUZhaWx1cmUoeyBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgYWRkRGF0YXNldE1ldGFkYXRhU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWV0YWRhdGFBY3Rpb25zLmFkZERhdGFzZXRNZXRhZGF0YVN1Y2Nlc3MpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZ2V0RGF0YXNldEJ5SWQoeyBpZDogYWN0aW9uLmRhdGFzZXRJZCB9KSxcbiAgICAgICAgICBNZXRhZGF0YUFjdGlvbnMuaXNFZGl0YWJsZSh7IGVkaXRhYmxlOiBmYWxzZSB9KSxcbiAgICAgICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmxvYWREYXRhc2V0KClcbiAgICAgICAgXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZURhdGFzZXRNZXRhZGF0YSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlLmRlbGV0ZURhdGFzZXRNZXRhZGF0YShhY3Rpb24uZGF0YXNldElkLCBhY3Rpb24ubWV0YWRhdGFJZCkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YVN1Y2Nlc3MoeyBkYXRhc2V0SWQ6IGFjdGlvbi5kYXRhc2V0SWQgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBbTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YUZhaWx1cmUoeyBlcnJvciB9KV0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZGVsZXRlRGF0YXNldE1ldGFkYXRhU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YVN1Y2Nlc3MpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQuZ2V0RGF0YXNldEJ5SWQoeyBpZDogYWN0aW9uLmRhdGFzZXRJZCB9KSxcbiAgICAgICAgICBNZXRhZGF0YUFjdGlvbnMuaXNFZGl0YWJsZSh7IGVkaXRhYmxlOiBmYWxzZSB9KSxcbiAgICAgICAgICBEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmxvYWREYXRhc2V0KClcbiAgICAgICAgXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBNZXRhZGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2VcbiAgKSB7fVxufVxuIl19