@acorex/platform 18.0.16 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/common/lib/schema/entity/entity.class.d.ts +2 -1
  2. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  3. package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
  4. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +1 -1
  5. package/esm2022/layout/designer/lib/designer/designer.component.mjs +2 -2
  6. package/esm2022/layout/entity/lib/entity.module.mjs +4 -2
  7. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +7 -4
  8. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +4 -3
  9. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +10 -11
  10. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +3 -2
  11. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +2 -3
  12. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  13. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +2 -2
  14. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +2 -2
  15. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +2 -4
  16. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +33 -6
  17. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +4 -4
  18. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +4 -4
  19. package/esm2022/widgets/lib/properties/editors.props.mjs +61 -2
  20. package/esm2022/widgets/lib/properties/table-column.props.mjs +17 -2
  21. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +23 -7
  22. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +24 -8
  23. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +4 -2
  24. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-column.component.mjs +3 -3
  25. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-column.component.mjs +3 -3
  26. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +7 -3
  27. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +4 -4
  28. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +3 -3
  29. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-column.component.mjs +3 -3
  30. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.mjs +6 -6
  31. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +23 -14
  32. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-view.component.mjs +58 -58
  33. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +3 -3
  34. package/esm2022/widgets/lib/widgets/editors/contact/index.mjs +3 -4
  35. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +1 -1
  36. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +63 -41
  37. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +14 -20
  38. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.mjs +1 -1
  39. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +1 -1
  40. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.mjs +1 -1
  41. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +5 -4
  42. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +49 -57
  43. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +11 -17
  44. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +3 -2
  45. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-column.component.mjs +44 -7
  46. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-edit.component.mjs +1 -1
  47. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-view.component.mjs +11 -5
  48. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +33 -15
  49. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +4 -4
  50. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.mjs +20 -6
  51. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +4 -4
  52. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +4 -4
  53. package/esm2022/widgets/lib/widgets.module.mjs +16 -10
  54. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-layout-designer.mjs +2 -2
  56. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-layout-entity.mjs +18 -13
  58. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  59. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs → acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs} +3 -2
  60. package/fesm2022/acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-layouts.mjs +1633 -1633
  62. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  63. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs +281 -0
  64. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs +357 -0
  66. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-default.mjs +11 -562
  68. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  69. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs → acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs} +23 -7
  70. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs → acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs} +6 -6
  72. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs +23 -0
  74. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-widgets.mjs +747 -586
  76. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  77. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +1 -1
  78. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +2 -0
  79. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +2 -0
  80. package/layouts/lib/admin/entity-layout/index.d.ts +1 -1
  81. package/package.json +12 -12
  82. package/themes/default/lib/entity-reuse.strategy.d.ts +1 -1
  83. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +5 -0
  84. package/widgets/lib/properties/editors.props.d.ts +4 -0
  85. package/widgets/lib/properties/table-column.props.d.ts +1 -0
  86. package/widgets/lib/widgets/actions/button/button-widget-designer.component.d.ts +2 -1
  87. package/widgets/lib/widgets/actions/button/button-widget-view.component.d.ts +2 -1
  88. package/widgets/lib/widgets/advance/file/file-box-widget-column.component.d.ts +1 -1
  89. package/widgets/lib/widgets/advance/gallery/gallery-widget-column.component.d.ts +1 -1
  90. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +2 -0
  91. package/widgets/lib/widgets/advance/signature/signature-pad-widget-column.component.d.ts +1 -1
  92. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.d.ts +1 -1
  93. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -0
  94. package/widgets/lib/widgets/editors/contact/contact-widget-view.component.d.ts +2 -2
  95. package/widgets/lib/widgets/editors/contact/index.d.ts +2 -3
  96. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +1 -1
  97. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.d.ts +2 -1
  98. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.d.ts +2 -2
  99. package/widgets/lib/widgets/editors/large-text/large-text-widget-column.component.d.ts +1 -1
  100. package/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.d.ts +1 -1
  101. package/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.d.ts +1 -1
  102. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -1
  103. package/widgets/lib/widgets/editors/password/password-box-widget-column.component.d.ts +7 -3
  104. package/widgets/lib/widgets/editors/password/password-box-widget-edit.component.d.ts +1 -1
  105. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  106. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +2 -0
  107. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.d.ts +1 -1
  108. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { AXDialogService } from '@acorex/components/dialog';
2
2
  import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
3
- import { AXPWorkflowAction, createWorkFlowEvent, } from '@acorex/platform/workflow';
3
+ import { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';
4
4
  import { Injectable, inject } from '@angular/core';
5
5
  import { AXPEntityDefinitionRegistryService } from '../entity-registery.service';
6
6
  import * as i0 from "@angular/core";
@@ -14,9 +14,10 @@ export class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
14
14
  }
15
15
  async execute(context) {
16
16
  const moduleEntity = context.getVariable('entity');
17
- const [moduleName, entityName] = moduleEntity.split(".");
17
+ const [moduleName, entityName] = moduleEntity.split('.');
18
18
  const data = context.getVariable('data');
19
- const ids = Array.isArray(data) ? data.map(c => c.id) : [data.id];
19
+ const meta = context.getVariable('meta');
20
+ const ids = Array.isArray(data) ? data.map((c) => c.id) : [data.id];
20
21
  const entity = await this.entityRegistery.resolve(moduleName, entityName);
21
22
  let deletedCount = 0;
22
23
  context.setVariable('deleteSuccessful', false);
@@ -63,13 +64,13 @@ export class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
63
64
  // All items deleted successfully
64
65
  await this.dialogService.alert('Deletion Successful', `${successfulPromises} item(s) has been deleted.`, 'success');
65
66
  // Dispatch actions
66
- this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));
67
+ this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids, meta: meta }));
67
68
  }
68
69
  else if (successfulPromises > 0 && failedPromises > 0) {
69
70
  // Some items deleted successfully, some failed
70
71
  await this.dialogService.alert('Partial Deletion Completed', `${successfulPromises} item(s) deleted successfully. However, ${failedPromises} item(s) could not be deleted.`, 'warning');
71
72
  // Dispatch actions
72
- this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));
73
+ this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids, meta: meta }));
73
74
  }
74
75
  else if (successfulPromises === 0 && failedPromises > 0) {
75
76
  // No items deleted, all failed
@@ -93,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
93
94
  export const AXPDeleteEntityWorkflow = {
94
95
  startStepId: 'confirm-delete',
95
96
  steps: {
96
- "confirm-delete": {
97
+ 'confirm-delete': {
97
98
  action: 'show-prompt-dialog',
98
99
  input: {
99
100
  title: 'Warning',
@@ -105,18 +106,16 @@ export const AXPDeleteEntityWorkflow = {
105
106
  conditions: [
106
107
  {
107
108
  type: 'AND',
108
- conditions: [
109
- { type: 'SINGLE', expression: 'context.getOutput("result") == true' },
110
- ],
109
+ conditions: [{ type: 'SINGLE', expression: 'context.getOutput("result") == true' }],
111
110
  },
112
111
  ],
113
112
  nextStepId: 'perform-delete',
114
113
  },
115
114
  ],
116
115
  },
117
- "perform-delete": {
116
+ 'perform-delete': {
118
117
  action: 'entity-perform-delete',
119
118
  },
120
119
  },
121
120
  };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL3dvcmtmbG93cy9kZWxldGUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBRUwsaUJBQWlCLEVBRWpCLG1CQUFtQixHQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVqRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FDdEQsa0JBQWtCLENBQ25CLENBQUM7QUFHRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsaUJBQWlCO0lBRG5FOztRQUVVLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQTRGeEQ7SUExRkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFNLE1BQU0sQ0FBQyxDQUFD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LEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckcsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FDYiwrQ0FBK0MsTUFBTSxDQUFDLEtBQUssNEVBQTRFLENBQ3hJLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0E5RlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVU7O0FBbUdYLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLEtBQUssRUFBRTtRQUNMLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixPQUFPLEVBQUUsK0NBQStDO2dCQUN4RCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRTt3QkFDVjs0QkFDRSxJQUFJLEVBQUUsS0FBSzs0QkFDWCxVQUFVLEVBQUU7Z0NBQ1YsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxxQ0FBcUMsRUFBRTs2QkFDdEU7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLGdCQUFnQjtpQkFDN0I7YUFDRjtTQUNGO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDaEIsTUFBTSxFQUFFLHVCQUF1QjtTQUNoQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhMb2FkaW5nRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvdyxcbiAgQVhQV29ya2Zsb3dBY3Rpb24sXG4gIEFYUFdvcmtmbG93Q29udGV4dCxcbiAgY3JlYXRlV29ya0Zsb3dFdmVudCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi9lbnRpdHktcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5RGVsZXRlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdIH0+KFxuICAnW0VudGl0eV0gRGVsZXRlZCdcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZHVsZUVudGl0eSA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ2VudGl0eScpO1xuICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IG1vZHVsZUVudGl0eS5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0VmFyaWFibGU8YW55PignZGF0YScpO1xuICAgIGNvbnN0IGlkcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhLm1hcChjID0+IGMuaWQpIDogW2RhdGEuaWRdO1xuICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgbGV0IGRlbGV0ZWRDb3VudCA9IDA7XG4gICAgY29udGV4dC5zZXRWYXJpYWJsZSgnZGVsZXRlU3VjY2Vzc2Z1bCcsIGZhbHNlKTtcbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmxvYWRpbmdEaWFsb2cuc2hvdyh7XG4gICAgICB0aXRsZTogJ0RlbGV0aW5nIFJlY29yZC4uLicsXG4gICAgICBtb2RlOiAnZGV0ZXJtaW5hdGUnLFxuICAgICAgc3RhdHVzOiAnRGVsZXRpbmcuLi4nLFxuICAgICAgcHJvZ3Jlc3NWYWx1ZTogMCxcbiAgICAgIHRleHQ6IGAwLyR7aWRzLmxlbmd0aH1gLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgaWYgKGVudGl0eS5jb21tYW5kcz8uZGVsZXRlICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGRlbGV0ZUV4ZWMgPSBlbnRpdHkuY29tbWFuZHM/LmRlbGV0ZT8uZXhlY3V0ZSBhcyBGdW5jdGlvblxuICAgICAgY29uc3Qgd3JhcHBlZFByb21pc2VzID0gKGlkcyBhcyBhbnlbXSlcbiAgICAgICAgLm1hcCgoaWQsIGkpID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICByZXNvbHZlKGRlbGV0ZUV4ZWMoaWQpKTtcbiAgICAgICAgICAgIH0sIGkgKiAyMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKChwKSA9PlxuICAgICAgICAgIHA/LnRoZW4oXG4gICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgZGVsZXRlZENvdW50Kys7XG4gICAgICAgICAgICAgIGRpYWxvZy5zZXRQcm9ncmVzc1RleHQoYCR7ZGVsZXRlZENvdW50fS8ke2lkcy5sZW5ndGh9YCk7XG4gICAgICAgICAgICAgIGRpYWxvZy5zZXRQcm9ncmVzc1ZhbHVlKChkZWxldGVkQ291bnQgLyBpZHMubGVuZ3RoKSAqIDEwMCk7XG4gICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogJ2Z1bGZpbGxlZCcsIHZhbHVlIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKHJlYXNvbikgPT4gKHsgc3RhdHVzOiAncmVqZWN0ZWQnLCByZWFzb24gfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbCh3cmFwcGVkUHJvbWlzZXMpO1xuICAgICAgY29uc3Qgc3VjY2Vzc2Z1bFByb21pc2VzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0Py5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKS5sZW5ndGg7XG4gICAgICBjb25zdCBmYWlsZWRQcm9taXNlcyA9IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdD8uc3RhdHVzID09PSAncmVqZWN0ZWQnKS5sZW5ndGg7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XG4gICAgICB9LCAzMDApO1xuXG4gICAgICAvLyBIYW5kbGUgZGlmZmVyZW50IHNjZW5hcmlvcyBmb3IgYWxlcnRzXG4gICAgICBpZiAoc3VjY2Vzc2Z1bFByb21pc2VzID4gMCAmJiBmYWlsZWRQcm9taXNlcyA9PT0gMCkge1xuICAgICAgICAvLyBBbGwgaXRlbXMgZGVsZXRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgICdEZWxldGlvbiBTdWNjZXNzZnVsJyxcbiAgICAgICAgICBgJHtzdWNjZXNzZnVsUHJvbWlzZXN9IGl0ZW0ocykgaGFzIGJlZW4gZGVsZXRlZC5gLFxuICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICApO1xuICAgICAgICAvLyBEaXNwYXRjaCBhY3Rpb25zXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goQVhQRW50aXR5RGVsZXRlZEV2ZW50KHsgZW50aXR5OiBtb2R1bGVFbnRpdHksIGlkczogaWRzIH0pKTtcbiAgICAgIH0gZWxzZSBpZiAoc3VjY2Vzc2Z1bFByb21pc2VzID4gMCAmJiBmYWlsZWRQcm9taXNlcyA+IDApIHtcbiAgICAgICAgLy8gU29tZSBpdGVtcyBkZWxldGVkIHN1Y2Nlc3NmdWxseSwgc29tZSBmYWlsZWRcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgICdQYXJ0aWFsIERlbGV0aW9uIENvbXBsZXRlZCcsXG4gICAgICAgICAgYCR7c3VjY2Vzc2Z1bFByb21pc2VzfSBpdGVtKHMpIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LiBIb3dldmVyLCAke2ZhaWxlZFByb21pc2VzfSBpdGVtKHMpIGNvdWxkIG5vdCBiZSBkZWxldGVkLmAsXG4gICAgICAgICAgJ3dhcm5pbmcnXG4gICAgICAgICk7XG4gICAgICAgIC8vIERpc3BhdGNoIGFjdGlvbnNcbiAgICAgICAgdGhpcy5kaXNwYXRjaChBWFBFbnRpdHlEZWxldGVkRXZlbnQoeyBlbnRpdHk6IG1vZHVsZUVudGl0eSwgaWRzOiBpZHMgfSkpO1xuICAgICAgfSBlbHNlIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPT09IDAgJiYgZmFpbGVkUHJvbWlzZXMgPiAwKSB7XG4gICAgICAgIC8vIE5vIGl0ZW1zIGRlbGV0ZWQsIGFsbCBmYWlsZWRcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgICdEZWxldGlvbiBGYWlsZWQnLFxuICAgICAgICAgIGBObyBpdGVtcyB3ZXJlIGRlbGV0ZWQuICR7ZmFpbGVkUHJvbWlzZXN9IGl0ZW0ocykgZmFpbGVkIHRvIGRlbGV0ZS5gLFxuICAgICAgICAgICdkYW5nZXInXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBpdGVtcyB0byBkZWxldGUgKG5vIHN1Y2Nlc3NmdWwgb3IgZmFpbGVkIHByb21pc2VzKVxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoJ05vIERlbGV0aW9uIE5lZWRlZCcsICdObyBpdGVtcyB3ZXJlIGF2YWlsYWJsZSB0byBkZWxldGUuJywgJ2luZm8nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGRlbGV0ZSBvcGVyYXRpb24gY2Fubm90IGJlIHBlcmZvcm1lZCBvbiAke2VudGl0eS50aXRsZX0uIFRoaXMgYWN0aW9uIG1pZ2h0IGJlIHJlc3RyaWN0ZWQgb3Igbm90IGFwcGxpY2FibGUgZm9yIHRoZSBzZWxlY3RlZCBpdGVtLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cblxuZXhwb3J0IGNvbnN0IEFYUERlbGV0ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdjb25maXJtLWRlbGV0ZScsXG4gIHN0ZXBzOiB7XG4gICAgXCJjb25maXJtLWRlbGV0ZVwiOiB7XG4gICAgICBhY3Rpb246ICdzaG93LXByb21wdC1kaWFsb2cnLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB3YW50IHRvIGRlbGV0ZSBzZWxlY3RlZCBpdGVtKHMpP2AsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnQU5EJyxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInJlc3VsdFwiKSA9PSB0cnVlJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdwZXJmb3JtLWRlbGV0ZScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgXCJwZXJmb3JtLWRlbGV0ZVwiOiB7XG4gICAgICBhY3Rpb246ICdlbnRpdHktcGVyZm9ybS1kZWxldGUnLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL3dvcmtmbG93cy9kZWxldGUtZW50aXR5LndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWpGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUN0RCxrQkFBa0IsQ0FDbkIsQ0FBQztBQUdGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxpQkFBaUI7SUFEbkU7O1FBRVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM3RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBNkZ4RDtJQTNGQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQU0sTUFBTSxDQUFDLENBQUM7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cEUsUUFBUSxDQUNULENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sd0RBQXdEO2dCQUN4RCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLG9DQUFvQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3JHLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0NBQStDLE1BQU0sQ0FBQyxLQUFLLDRFQUE0RSxDQUN4SSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBL0ZVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVOztBQW1HWCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixLQUFLLEVBQUU7UUFDTCxnQkFBZ0IsRUFBRTtZQUNoQixNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFLCtDQUErQztnQkFDeEQsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNELFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLEtBQUs7NEJBQ1gsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxxQ0FBcUMsRUFBRSxDQUFDO3lCQUNwRjtxQkFDRjtvQkFDRCxVQUFVLEVBQUUsZ0JBQWdCO2lCQUM3QjthQUNGO1NBQ0Y7UUFDRCxnQkFBZ0IsRUFBRTtZQUNoQixNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi9lbnRpdHktcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5RGVsZXRlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBpZHM6IHN0cmluZ1tdOyBtZXRhPzogYW55IH0+KFxuICAnW0VudGl0eV0gRGVsZXRlZCdcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZHVsZUVudGl0eSA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ2VudGl0eScpO1xuICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IG1vZHVsZUVudGl0eS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGRhdGEgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ2RhdGEnKTtcbiAgICBjb25zdCBtZXRhID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJyk7XG4gICAgY29uc3QgaWRzID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEubWFwKChjKSA9PiBjLmlkKSA6IFtkYXRhLmlkXTtcbiAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgIGxldCBkZWxldGVkQ291bnQgPSAwO1xuICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2RlbGV0ZVN1Y2Nlc3NmdWwnLCBmYWxzZSk7XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgdGl0bGU6ICdEZWxldGluZyBSZWNvcmQuLi4nLFxuICAgICAgbW9kZTogJ2RldGVybWluYXRlJyxcbiAgICAgIHN0YXR1czogJ0RlbGV0aW5nLi4uJyxcbiAgICAgIHByb2dyZXNzVmFsdWU6IDAsXG4gICAgICB0ZXh0OiBgMC8ke2lkcy5sZW5ndGh9YCxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6ICdDYW5jZWwnLFxuICAgICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChlbnRpdHkuY29tbWFuZHM/LmRlbGV0ZSAhPSBudWxsKSB7XG4gICAgICBjb25zdCBkZWxldGVFeGVjID0gZW50aXR5LmNvbW1hbmRzPy5kZWxldGU/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICBjb25zdCB3cmFwcGVkUHJvbWlzZXMgPSAoaWRzIGFzIGFueVtdKVxuICAgICAgICAubWFwKChpZCwgaSkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJlc29sdmUoZGVsZXRlRXhlYyhpZCkpO1xuICAgICAgICAgICAgfSwgaSAqIDIwMCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoKHApID0+XG4gICAgICAgICAgcD8udGhlbihcbiAgICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGVkQ291bnQrKztcbiAgICAgICAgICAgICAgZGlhbG9nLnNldFByb2dyZXNzVGV4dChgJHtkZWxldGVkQ291bnR9LyR7aWRzLmxlbmd0aH1gKTtcbiAgICAgICAgICAgICAgZGlhbG9nLnNldFByb2dyZXNzVmFsdWUoKGRlbGV0ZWRDb3VudCAvIGlkcy5sZW5ndGgpICogMTAwKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiAnZnVsZmlsbGVkJywgdmFsdWUgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAocmVhc29uKSA9PiAoeyBzdGF0dXM6ICdyZWplY3RlZCcsIHJlYXNvbiB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHdyYXBwZWRQcm9taXNlcyk7XG4gICAgICBjb25zdCBzdWNjZXNzZnVsUHJvbWlzZXMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQ/LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpLmxlbmd0aDtcbiAgICAgIGNvbnN0IGZhaWxlZFByb21pc2VzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0Py5zdGF0dXMgPT09ICdyZWplY3RlZCcpLmxlbmd0aDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgIH0sIDMwMCk7XG5cbiAgICAgIC8vIEhhbmRsZSBkaWZmZXJlbnQgc2NlbmFyaW9zIGZvciBhbGVydHNcbiAgICAgIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPiAwICYmIGZhaWxlZFByb21pc2VzID09PSAwKSB7XG4gICAgICAgIC8vIEFsbCBpdGVtcyBkZWxldGVkIHN1Y2Nlc3NmdWxseVxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgJ0RlbGV0aW9uIFN1Y2Nlc3NmdWwnLFxuICAgICAgICAgIGAke3N1Y2Nlc3NmdWxQcm9taXNlc30gaXRlbShzKSBoYXMgYmVlbiBkZWxldGVkLmAsXG4gICAgICAgICAgJ3N1Y2Nlc3MnXG4gICAgICAgICk7XG4gICAgICAgIC8vIERpc3BhdGNoIGFjdGlvbnNcbiAgICAgICAgdGhpcy5kaXNwYXRjaChBWFBFbnRpdHlEZWxldGVkRXZlbnQoeyBlbnRpdHk6IG1vZHVsZUVudGl0eSwgaWRzOiBpZHMsIG1ldGE6IG1ldGEgfSkpO1xuICAgICAgfSBlbHNlIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPiAwICYmIGZhaWxlZFByb21pc2VzID4gMCkge1xuICAgICAgICAvLyBTb21lIGl0ZW1zIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBzb21lIGZhaWxlZFxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgJ1BhcnRpYWwgRGVsZXRpb24gQ29tcGxldGVkJyxcbiAgICAgICAgICBgJHtzdWNjZXNzZnVsUHJvbWlzZXN9IGl0ZW0ocykgZGVsZXRlZCBzdWNjZXNzZnVsbHkuIEhvd2V2ZXIsICR7ZmFpbGVkUHJvbWlzZXN9IGl0ZW0ocykgY291bGQgbm90IGJlIGRlbGV0ZWQuYCxcbiAgICAgICAgICAnd2FybmluZydcbiAgICAgICAgKTtcbiAgICAgICAgLy8gRGlzcGF0Y2ggYWN0aW9uc1xuICAgICAgICB0aGlzLmRpc3BhdGNoKEFYUEVudGl0eURlbGV0ZWRFdmVudCh7IGVudGl0eTogbW9kdWxlRW50aXR5LCBpZHM6IGlkcywgbWV0YTogbWV0YSB9KSk7XG4gICAgICB9IGVsc2UgaWYgKHN1Y2Nlc3NmdWxQcm9taXNlcyA9PT0gMCAmJiBmYWlsZWRQcm9taXNlcyA+IDApIHtcbiAgICAgICAgLy8gTm8gaXRlbXMgZGVsZXRlZCwgYWxsIGZhaWxlZFxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgJ0RlbGV0aW9uIEZhaWxlZCcsXG4gICAgICAgICAgYE5vIGl0ZW1zIHdlcmUgZGVsZXRlZC4gJHtmYWlsZWRQcm9taXNlc30gaXRlbShzKSBmYWlsZWQgdG8gZGVsZXRlLmAsXG4gICAgICAgICAgJ2RhbmdlcidcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIGl0ZW1zIHRvIGRlbGV0ZSAobm8gc3VjY2Vzc2Z1bCBvciBmYWlsZWQgcHJvbWlzZXMpXG4gICAgICAgIGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5hbGVydCgnTm8gRGVsZXRpb24gTmVlZGVkJywgJ05vIGl0ZW1zIHdlcmUgYXZhaWxhYmxlIHRvIGRlbGV0ZS4nLCAnaW5mbycpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgZGVsZXRlIG9wZXJhdGlvbiBjYW5ub3QgYmUgcGVyZm9ybWVkIG9uICR7ZW50aXR5LnRpdGxlfS4gVGhpcyBhY3Rpb24gbWlnaHQgYmUgcmVzdHJpY3RlZCBvciBub3QgYXBwbGljYWJsZSBmb3IgdGhlIHNlbGVjdGVkIGl0ZW0uYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUERlbGV0ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdjb25maXJtLWRlbGV0ZScsXG4gIHN0ZXBzOiB7XG4gICAgJ2NvbmZpcm0tZGVsZXRlJzoge1xuICAgICAgYWN0aW9uOiAnc2hvdy1wcm9tcHQtZGlhbG9nJyxcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIHRpdGxlOiAnV2FybmluZycsXG4gICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgd2FudCB0byBkZWxldGUgc2VsZWN0ZWQgaXRlbShzKT9gLFxuICAgICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ0FORCcsXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiAnY29udGV4dC5nZXRPdXRwdXQoXCJyZXN1bHRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3BlcmZvcm0tZGVsZXRlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICAncGVyZm9ybS1kZWxldGUnOiB7XG4gICAgICBhY3Rpb246ICdlbnRpdHktcGVyZm9ybS1kZWxldGUnLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
@@ -50,10 +50,11 @@ export class AXPEntityCreateViewComponent extends AXBasePageComponent {
50
50
  if (formResult.result) {
51
51
  if (this.entity.commands?.create) {
52
52
  this.submitLoading.set(true);
53
+ const options = this.entity.actions?.['create'].options;
53
54
  try {
54
55
  const record = await this.entity.commands.create(this.loader.data);
55
56
  if (record) {
56
- this.close({ save: true, recordId: record.id, redirect: true });
57
+ this.close({ save: true, recordId: record.id, redirect: options?.redirect ?? true });
57
58
  }
58
59
  }
59
60
  catch (error) {
@@ -115,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
115
116
  AXPStickyDirective,
116
117
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\"\n [stickyParent]=\"'.ax-popup-body-container'\"\n >\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count= $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n >\n {{ index + 1 }}\n </span>\n <p\n class=\"ax-font-normal\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\"\n >\n {{ section.title }}\n </p>\n\n <i\n *ngIf=\"!last\"\n [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"\n ></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field\n class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{ prop.layout?.positions?.default?.span || 12 }} lg:ax-col-start-{{\n prop.layout?.positions?.default?.start || 1\n }} ax-flex ax-flex-col\"\n >\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\" [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" [text]=\"'save' | translate | async\" look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' & ' + ('create-new' | translate | async)\" (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'continue' | translate | async\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n" }]
117
118
  }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFP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O3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixrQkFBa0I7cUJBQ25CLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29uZmlnLCBBWFBTY2hlbWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUEVudGl0eUNyZWF0ZVZpZXdMb2FkZXIgfSBmcm9tICcuL2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcnO1xuXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFBTY2hlbWFNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYVmFsaWRhdGlvbk1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgbG9hZGVyITogQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlcjtcbiAgcHJvdGVjdGVkIGVudGl0eSE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBzdWJtaXRMb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRlci5iYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1taW4taC1bMjV2aF1cIj5cbiAgQGlmKChsb2FkZXIuaGFzU2VjdGlvbnMkIHwgYXN5bmMpKSB7XG4gIDxvbFxuICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtdy1mdWxsIGF4LXNwYWNlLXgtMiBheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtY2VudGVyIGF4LXRleHQtZ3JheS01MDAgYXgtYmctd2hpdGUgZGFyazpheC10ZXh0LWdyYXktNDAwIHNtOmF4LXRleHQtYmFzZSBheC1wLTQgc206YXgtc3BhY2UteC00IHJ0bDpheC1zcGFjZS14LXJldmVyc2UgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTBcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtZHJvcC1zaGFkb3ctbGcnXCJcbiAgICBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCJcbiAgPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb25zJCB8IGFzeW5jKTsgdHJhY2sgc2VjdGlvbi5uYW1lO2xldCBpbmRleCA9ICRpbmRleDtsZXQgbGFzdCA9ICRsYXN0O2xldCBjb3VudD0gJGNvdW50KSB7XG4gICAgPGxpIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy01IGF4LWgtNSBheC1tZS0yIGF4LXRleHQteHMgYXgtdGV4dC13aGl0ZSBheC1iZy1uZXV0cmFsLTUwMCBheC1yb3VuZGVkLWZ1bGwgYXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtYmctc3VjY2Vzcy01MDBdPVwiaW5kZXggPCAoKGxvYWRlci5jdXJyZW50SW5kZXgkIHwgYXN5bmMpIHx8IDApXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5kZXggKyAxIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImF4LWZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBbY2xhc3MuIWF4LWZvbnQtc2VtaWJvbGRdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIlxuICAgICAgPjwvaT5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC9vbD5cbiAgfVxuXG4gIDxheC1mb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTRcIiAjZm9ybSBbbWVzc2FnZVN0eWxlXT1cIidib3R0b20nXCIgW3VwZGF0ZU9uXT1cIidibHVyJ1wiPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lOykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LXBiLTRcIj5cbiAgICAgIEBpZigoKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1wYi00XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQtMnhsXCI+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKHNlY3Rpb24uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LXNtIGF4LXRleHQtZ3JheS01MDBcIj57eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNCBheC1weS0yIGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgIEBmb3IobmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXM7IHRyYWNrIG5hbWUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlci5nZXRQcm9wKG5hbWUpIGFzIHByb3BcIj5cbiAgICAgICAgICA8IS0tIGxnOmF4LWNvbC1zcGFuLTYgLS0+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3RhcnQtMSAtLT5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17eyBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyIH19ICBsZzpheC1jb2wtc3RhcnQte3tcbiAgICAgICAgICAgICAgcHJvcC5sYXlvdXQ/LnBvc2l0aW9ucz8uZGVmYXVsdD8uc3RhcnQgfHwgMVxuICAgICAgICAgICAgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiBbdGV4dF09XCInY2FuY2VsJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIignc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luYykgKyAnICYgJyArICgnY3JlYXRlLW5ldycgfCB0cmFuc2xhdGUgfCBhc3luYylcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybSlcIj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIidjb250aW51ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj5cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFP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O3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsRUFBRTt3QkFDRixrQkFBa0I7cUJBQ25CLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYRm9ybUNvbXBvbmVudCwgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sYWJlbCc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29uZmlnLCBBWFBTY2hlbWFNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUEVudGl0eUNyZWF0ZVZpZXdMb2FkZXIgfSBmcm9tICcuL2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcnO1xuXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFBTY2hlbWFNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYVmFsaWRhdGlvbk1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgbG9hZGVyITogQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlcjtcbiAgcHJvdGVjdGVkIGVudGl0eSE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBzdWJtaXRMb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUJhY2tDbGljaygpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRlci5iYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZW50aXR5LmFjdGlvbnM/LlsnY3JlYXRlJ10ub3B0aW9ucztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBvcHRpb25zPy5yZWRpcmVjdCA/PyB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtOiBBWEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBmb3JtUmVzdWx0ID0gYXdhaXQgZm9ybS52YWxpZGF0ZSgpO1xuICAgIGlmIChmb3JtUmVzdWx0LnJlc3VsdCkge1xuICAgICAgaWYgKHRoaXMuZW50aXR5LmNvbW1hbmRzPy5jcmVhdGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSh7IHNhdmU6IHRydWUsIHJlY29yZElkOiByZWNvcmQuaWQsIHJlZGlyZWN0OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1taW4taC1bMjV2aF1cIj5cbiAgQGlmKChsb2FkZXIuaGFzU2VjdGlvbnMkIHwgYXN5bmMpKSB7XG4gIDxvbFxuICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtdy1mdWxsIGF4LXNwYWNlLXgtMiBheC10ZXh0LXNtIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtY2VudGVyIGF4LXRleHQtZ3JheS01MDAgYXgtYmctd2hpdGUgZGFyazpheC10ZXh0LWdyYXktNDAwIHNtOmF4LXRleHQtYmFzZSBheC1wLTQgc206YXgtc3BhY2UteC00IHJ0bDpheC1zcGFjZS14LXJldmVyc2UgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTBcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtZHJvcC1zaGFkb3ctbGcnXCJcbiAgICBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCJcbiAgPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb25zJCB8IGFzeW5jKTsgdHJhY2sgc2VjdGlvbi5uYW1lO2xldCBpbmRleCA9ICRpbmRleDtsZXQgbGFzdCA9ICRsYXN0O2xldCBjb3VudD0gJGNvdW50KSB7XG4gICAgPGxpIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy01IGF4LWgtNSBheC1tZS0yIGF4LXRleHQteHMgYXgtdGV4dC13aGl0ZSBheC1iZy1uZXV0cmFsLTUwMCBheC1yb3VuZGVkLWZ1bGwgYXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtYmctc3VjY2Vzcy01MDBdPVwiaW5kZXggPCAoKGxvYWRlci5jdXJyZW50SW5kZXgkIHwgYXN5bmMpIHx8IDApXCJcbiAgICAgID5cbiAgICAgICAge3sgaW5kZXggKyAxIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cImF4LWZvbnQtbm9ybWFsXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBbY2xhc3MuIWF4LWZvbnQtc2VtaWJvbGRdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIlxuICAgICAgPjwvaT5cbiAgICA8L2xpPlxuICAgIH1cbiAgPC9vbD5cbiAgfVxuXG4gIDxheC1mb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNiBheC1wLTRcIiAjZm9ybSBbbWVzc2FnZVN0eWxlXT1cIidib3R0b20nXCIgW3VwZGF0ZU9uXT1cIidibHVyJ1wiPlxuICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lOykge1xuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LXBiLTRcIj5cbiAgICAgIEBpZigoKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1wYi00XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1ib2xkIGF4LXRleHQtMnhsXCI+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgQGlmKHNlY3Rpb24uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LXNtIGF4LXRleHQtZ3JheS01MDBcIj57eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNCBheC1weS0yIGZpcnN0OmF4LXB0LTAgbGFzdDpheC1wYi0wXCI+XG4gICAgICAgIEBmb3IobmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXM7IHRyYWNrIG5hbWUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlci5nZXRQcm9wKG5hbWUpIGFzIHByb3BcIj5cbiAgICAgICAgICA8IS0tIGxnOmF4LWNvbC1zcGFuLTYgLS0+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3RhcnQtMSAtLT5cbiAgICAgICAgICA8YXgtZm9ybS1maWVsZFxuICAgICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17eyBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyIH19ICBsZzpheC1jb2wtc3RhcnQte3tcbiAgICAgICAgICAgICAgcHJvcC5sYXlvdXQ/LnBvc2l0aW9ucz8uZGVmYXVsdD8uc3RhcnQgfHwgMVxuICAgICAgICAgICAgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiBbdGV4dF09XCInY2FuY2VsJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJzb2xpZFwiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIignc2F2ZScgfCB0cmFuc2xhdGUgfCBhc3luYykgKyAnICYgJyArICgnY3JlYXRlLW5ldycgfCB0cmFuc2xhdGUgfCBhc3luYylcIiAob25DbGljayk9XCJoYW5kbGVTYXZlQW5kTmV3Q2xpY2soZm9ybSlcIj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFt0ZXh0XT1cIidjb250aW51ZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj5cbiJdfQ==
@@ -3,8 +3,7 @@ import { Injectable, inject } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { assign, cloneDeep } from 'lodash-es';
5
5
  import { BehaviorSubject, defaultIfEmpty, map, of, switchMap } from 'rxjs';
6
- import { AXPLayoutService } from '@acorex/platform/common';
7
- import { AXPEntityRegistryService } from '@acorex/platform/common';
6
+ import { AXPEntityRegistryService, AXPLayoutService, } from '@acorex/platform/common';
8
7
  import * as i0 from "@angular/core";
9
8
  export class AXPEntityDetailLoaderDefault {
10
9
  constructor(config, store, entityData, formatService) {
@@ -123,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
123
122
  type: Injectable,
124
123
  args: [{ providedIn: 'root' }]
125
124
  }] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXZpZXcuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktZGV0YWlscy12aWV3L2RldGFpbC12aWV3LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQTRDLHdCQUF3QixFQUF3RCxNQUFNLHlCQUF5QixDQUFDOztBQWlCbkssTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxZQUNVLE1BQXVCLEVBQ3ZCLEtBQVksRUFDWixVQUFlLEVBQ2YsYUFBOEI7UUFIOUIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFOaEMsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUF1RDVCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBOEMzRixvREFBb0Q7UUFDN0MsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUF1QyxFQUFFLENBQUMsSUFBSSxD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QyxnQ0FBZ0MsY0FEbkIsTUFBTTs7MkZBQ25CLGdDQUFnQztrQkFENUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVhQTGF5b3V0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eUNvbmZpZywgQVhQRW50aXR5UHJvcGVydHlDb25maWcsIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSwgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZywgQVhQRW50aXR5Vmlld0NvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyIHtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG4gIGdldCBkYXRhKCk6IGFueTtcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZztcblxuICBnZXQgc2VjdGlvblRpdGxlKCk6IHN0cmluZztcbiAgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT47XG4gIGdldCBoYXNTZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz47XG4gIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKTogdm9pZDtcblxuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5Q29uZmlnIHwgdW5kZWZpbmVkO1xuICB1cGRhdGUodmFsdWVzOiBhbnkpOiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQRW50aXR5RGV0YWlsVmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfY3VycmVudFNlY3Rpb24gPSAnZGVmYXVsdCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWc6IEFYUEVudGl0eUNvbmZpZyxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGVudGl0eURhdGE6IGFueSxcbiAgICBwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZVxuICApIHsgfVxuXG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIGdldCBkYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5RGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHZpZXcoKTogQVhQRW50aXR5Vmlld0NvbmZpZyB7XG4gICAgcmV0dXJuICh0aGlzLmVudGl0eS52aWV3cy5kZXRhaWxWaWV3ID8/IHRoaXMuZW50aXR5LnZpZXdzLnF1aWNrVmlldykgYXMgQVhQRW50aXR5Vmlld0NvbmZpZztcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlcyAqKioqKioqKioqKioqKioqKiovL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdWdnZXN0ZWRQcm9wcyA9IHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmluZCgoYykgPT4gWyd0aXRsZScsICduYW1lJywgJ2NvZGUnXS5pbmNsdWRlcyhjLm5hbWUpKTtcbiAgICBsZXQgc3VnZ2VzdGVkRm9ybWF0ID0gJ0l0ZW0gI3t7aWR9fSc7XG4gICAgaWYgKHN1Z2dlc3RlZFByb3BzKSBzdWdnZXN0ZWRGb3JtYXQgPSBge3ske3N1Z2dlc3RlZFByb3BzLm5hbWV9fX1gO1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChcbiAgICAgIHRoaXMuZW50aXR5LmZvcm1hdHM/LmhlYWRlciA/PyB0aGlzLmVudGl0eS5mb3JtYXRzPy5kZWZhdWx0ID8/IHN1Z2dlc3RlZEZvcm1hdCxcbiAgICAgICdzdHJpbmcnLFxuICAgICAgdGhpcy5kYXRhXG4gICAgKTtcbiAgICByZXR1cm4gdGl0bGU7XG4gIH1cblxuICBnZXQgc2VjdGlvblRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZW50aXR5LnRpdGxlfWA7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBTZWN0aW9ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgZ2V0IHNlY3Rpb25zKCk6IEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMudmlldy5yb290LnNlY3Rpb25zPy5sZW5ndGhcbiAgICAgID8gdGhpcy52aWV3LnJvb3Quc2VjdGlvbnNcbiAgICAgIDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgICAgIHRpdGxlOiAnRGVmYXVsdCcsXG4gICAgICAgICAgcHJvcGVydGllczogdGhpcy52aWV3LnJvb3QucHJvcGVydGllcyxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gIH1cblxuICBwcml2YXRlIF9zZWN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT4odGhpcy5zZWN0aW9ucyk7XG5cbiAgcHVibGljIGdldCBzZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VjdGlvbiQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHNlY3Rpb25zKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSBzZWN0aW9ucy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSA/PyB0aGlzLnNlY3Rpb25zWzBdO1xuICAgICAgICBpZiAoIXNlY3Rpb24uc2VjdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgIHNlY3Rpb24uc2VjdGlvbnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgcHJvcGVydGllczogc2VjdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZihzZWN0aW9uKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzU2VjdGlvbnMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKG1hcCgoYykgPT4gYy5sZW5ndGggPiAxKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jdXJyZW50U2VjdGlvbiA9IG5hbWUgPz8gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9uID0gdGhpcy5zZWN0aW9ucy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSB8fCB7XG4gICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgcHJvcGVydGllczogdGhpcy52aWV3LnJvb3QucHJvcGVydGllcyxcbiAgICB9O1xuICAgIGNvbnN0IGN1cnJlbnRTZWN0aW9ucyA9IHRoaXMuX3NlY3Rpb25zJC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkU2VjdGlvbnMgPSBjdXJyZW50U2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbi5uYW1lID09PSB1cGRhdGVkU2VjdGlvbi5uYW1lKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVkU2VjdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3NlY3Rpb25zJC5uZXh0KHVwZGF0ZWRTZWN0aW9ucyk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBQcm9wZXJ0aWVzICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyBnZXRQcm9wID0gKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5Q29uZmlnIHwgdW5kZWZpbmVkID0+IHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpO1xuXG4gIC8vKioqKioqKioqKioqKioqKioqIFVwZGF0ZSAqKioqKioqKioqKioqKioqKiovL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlKHZhbHVlczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhc3NpZ24odGhpcy5kYXRhLCB2YWx1ZXMpO1xuICAgIHRoaXMuc2V0U2VjdGlvbih0aGlzLl9jdXJyZW50U2VjdGlvbik7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyRmFjdG9yeSB7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpO1xuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXI+IHtcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmVudGl0eVNlcnZpY2UucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICBpZiAoY29uZmlnLmRhdGFTb3VyY2UuYnlLZXkpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjb25maWcuZGF0YVNvdXJjZS5ieUtleShpZCk7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IEFYUEVudGl0eURldGFpbExvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnN0b3JlLCBkYXRhLCB0aGlzLmZvcm1hdFNlcnZpY2UpO1xuICAgIH1cbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdjYW5ub3QgZmV0Y2ggJyk7XG4gIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXZpZXcuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktZGV0YWlscy12aWV3L2RldGFpbC12aWV3LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RixPQUFPLEVBR0wsd0JBQXdCLEVBR3hCLGdCQUFnQixHQUNqQixNQUFNLHlCQUF5QixDQUFDOztBQWlCakMsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxZQUNVLE1BQXVCLEVBQ3ZCLEtBQVksRUFDWixVQUFlLEVBQ2YsYUFBOEI7UUFIOUIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFOaEMsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUF1RDVCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBOEMzRixvREFBb0Q7UUFDN0MsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUF1QyxFQUFFLENBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztJQWhHbEQsQ0FBQztJQUVKLElBQUksTUFBTTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBWSxJQUFJO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQXdCLENBQUM7SUFDOUYsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxJQUFJLEtBQUs7UUFDUCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEcsSUFBSSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksY0FBYztZQUFFLGVBQWUsR0FBRyxLQUFLLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxlQUFlLEVBQzlFLFFBQVEsRUFDUixJQUFJLENBQUMsSUFBSSxDQUNWLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0RBQWtEO0lBRWxELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ3pCLENBQUMsQ0FBQztnQkFDRTtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUsU0FBUztvQkFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7aUJBQ3RDO2FBQ0YsQ0FBQztJQUNSLENBQUM7SUFJRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sQ0FBQyxRQUFRLEdBQUc7b0JBQ2pCO3dCQUNFLElBQUksRUFBRSxTQUFTO3dCQUNmLEtBQUssRUFBRSxTQUFTO3dCQUNoQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7cUJBQy9CO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSTtZQUNuRixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ3RDLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM5QyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxjQUFjLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFNRCxnREFBZ0Q7SUFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFXO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxnQ0FBZ0M7SUFEN0M7UUFFVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBYS9CO0lBWFEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFVBQWtCLEVBQUUsRUFBVTtRQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxJQUFJLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBaEJVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLGNBRG5CLE1BQU07OzJGQUNuQixnQ0FBZ0M7a0JBRDVDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgYXNzaWduLCBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBkZWZhdWx0SWZFbXB0eSwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5UHJvcGVydHlDb25maWcsXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5Vmlld0NvbmZpZyxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXIge1xuICBnZXQgZW50aXR5KCk6IEFYUEVudGl0eUNvbmZpZztcbiAgZ2V0IGRhdGEoKTogYW55O1xuICBnZXQgdGl0bGUoKTogc3RyaW5nO1xuXG4gIGdldCBzZWN0aW9uVGl0bGUoKTogc3RyaW5nO1xuICBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPjtcbiAgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgc2VjdGlvbiQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnPjtcbiAgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpOiB2b2lkO1xuXG4gIGdldFByb3AobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHlDb25maWcgfCB1bmRlZmluZWQ7XG4gIHVwZGF0ZSh2YWx1ZXM6IGFueSk6IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbExvYWRlckRlZmF1bHQgaW1wbGVtZW50cyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyIHtcbiAgcHJpdmF0ZSBfY29uZmlnITogQVhQRW50aXR5Q29uZmlnO1xuICBwcml2YXRlIF9jdXJyZW50U2VjdGlvbiA9ICdkZWZhdWx0JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZzogQVhQRW50aXR5Q29uZmlnLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZW50aXR5RGF0YTogYW55LFxuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZTogQVhGb3JtYXRTZXJ2aWNlXG4gICkge31cblxuICBnZXQgZW50aXR5KCk6IEFYUEVudGl0eUNvbmZpZyB7XG4gICAgaWYgKCF0aGlzLl9jb25maWcpIHtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVudGl0eURhdGE7XG4gIH1cblxuICBwcml2YXRlIGdldCB2aWV3KCk6IEFYUEVudGl0eVZpZXdDb25maWcge1xuICAgIHJldHVybiAodGhpcy5lbnRpdHkudmlld3MuZGV0YWlsVmlldyA/PyB0aGlzLmVudGl0eS52aWV3cy5xdWlja1ZpZXcpIGFzIEFYUEVudGl0eVZpZXdDb25maWc7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBUaXRsZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VnZ2VzdGVkUHJvcHMgPSB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzLmZpbmQoKGMpID0+IFsndGl0bGUnLCAnbmFtZScsICdjb2RlJ10uaW5jbHVkZXMoYy5uYW1lKSk7XG4gICAgbGV0IHN1Z2dlc3RlZEZvcm1hdCA9ICdJdGVtICN7e2lkfX0nO1xuICAgIGlmIChzdWdnZXN0ZWRQcm9wcykgc3VnZ2VzdGVkRm9ybWF0ID0gYHt7JHtzdWdnZXN0ZWRQcm9wcy5uYW1lfX19YDtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoXG4gICAgICB0aGlzLmVudGl0eS5mb3JtYXRzPy5oZWFkZXIgPz8gdGhpcy5lbnRpdHkuZm9ybWF0cz8uZGVmYXVsdCA/PyBzdWdnZXN0ZWRGb3JtYXQsXG4gICAgICAnc3RyaW5nJyxcbiAgICAgIHRoaXMuZGF0YVxuICAgICk7XG4gICAgcmV0dXJuIHRpdGxlO1xuICB9XG5cbiAgZ2V0IHNlY3Rpb25UaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmVudGl0eS50aXRsZX1gO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU2VjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIGdldCBzZWN0aW9ucygpOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLnZpZXcucm9vdC5zZWN0aW9ucz8ubGVuZ3RoXG4gICAgICA/IHRoaXMudmlldy5yb290LnNlY3Rpb25zXG4gICAgICA6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgICAgICAgcHJvcGVydGllczogdGhpcy52aWV3LnJvb3QucHJvcGVydGllcyxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10+KHRoaXMuc2VjdGlvbnMpO1xuXG4gIHB1YmxpYyBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY3Rpb25zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChzZWN0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uID0gc2VjdGlvbnMuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50U2VjdGlvbikgPz8gdGhpcy5zZWN0aW9uc1swXTtcbiAgICAgICAgaWYgKCFzZWN0aW9uLnNlY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBzZWN0aW9uLnNlY3Rpb25zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHNlY3Rpb24ucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yoc2VjdGlvbik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGMpID0+IGMubGVuZ3RoID4gMSkpO1xuICB9XG5cbiAgcHVibGljIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY3VycmVudFNlY3Rpb24gPSBuYW1lID8/ICdkZWZhdWx0JztcbiAgICBjb25zdCB1cGRhdGVkU2VjdGlvbiA9IHRoaXMuc2VjdGlvbnMuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50U2VjdGlvbikgfHwge1xuICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgdGl0bGU6ICdEZWZhdWx0JyxcbiAgICAgIHByb3BlcnRpZXM6IHRoaXMudmlldy5yb290LnByb3BlcnRpZXMsXG4gICAgfTtcbiAgICBjb25zdCBjdXJyZW50U2VjdGlvbnMgPSB0aGlzLl9zZWN0aW9ucyQudmFsdWU7XG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb25zID0gY3VycmVudFNlY3Rpb25zLm1hcCgoc2VjdGlvbikgPT4ge1xuICAgICAgaWYgKHNlY3Rpb24ubmFtZSA9PT0gdXBkYXRlZFNlY3Rpb24ubmFtZSkge1xuICAgICAgICByZXR1cm4gdXBkYXRlZFNlY3Rpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zZWN0aW9ucyQubmV4dCh1cGRhdGVkU2VjdGlvbnMpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogUHJvcGVydGllcyAqKioqKioqKioqKioqKioqKiovL1xuICBwdWJsaWMgZ2V0UHJvcCA9IChuYW1lOiBzdHJpbmcpOiBBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZyB8IHVuZGVmaW5lZCA9PlxuICAgIHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpO1xuXG4gIC8vKioqKioqKioqKioqKioqKioqIFVwZGF0ZSAqKioqKioqKioqKioqKioqKiovL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlKHZhbHVlczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhc3NpZ24odGhpcy5kYXRhLCB2YWx1ZXMpO1xuICAgIHRoaXMuc2V0U2VjdGlvbih0aGlzLl9jdXJyZW50U2VjdGlvbik7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyRmFjdG9yeSB7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpO1xuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXI+IHtcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmVudGl0eVNlcnZpY2UucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICBpZiAoY29uZmlnLmRhdGFTb3VyY2UuYnlLZXkpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBjb25maWcuZGF0YVNvdXJjZS5ieUtleShpZCk7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IEFYUEVudGl0eURldGFpbExvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnN0b3JlLCBkYXRhLCB0aGlzLmZvcm1hdFNlcnZpY2UpO1xuICAgIH1cbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdjYW5ub3QgZmV0Y2ggJyk7XG4gIH1cbn1cbiJdfQ==