@acorex/modules 20.3.0-next.6 → 20.3.0-next.8
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.
- package/common/index.d.ts +1 -0
- package/data-management/index.d.ts +22 -3
- package/fesm2022/acorex-modules-common.mjs +97 -6
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs → acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs} +10 -9
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +6 -0
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +9 -5
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +11 -11
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +924 -8
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs} +91 -58
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs.map → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs.map → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs} +9 -9
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs.map → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs.map → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs.map → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs.map → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs.map → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs.map → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs → acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs} +4 -4
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs.map → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs.map → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs} +93 -213
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs.map → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs.map → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs → acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs} +36 -4
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs.map → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs.map → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-locale-management-settings.provider-DKOT3qQ0.mjs → acorex-modules-locale-management-settings.provider-DsVC7IWy.mjs} +2 -1
- package/fesm2022/acorex-modules-locale-management-settings.provider-DsVC7IWy.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management.mjs +2 -2
- package/fesm2022/acorex-modules-notification-management.mjs +5 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs → acorex-modules-organization-management-company.entity-BZDiv8ON.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-company.entity-BZDiv8ON.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs → acorex-modules-organization-management-org-chart.page-Caboa2La.mjs} +75 -23
- package/fesm2022/acorex-modules-organization-management-org-chart.page-Caboa2La.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-CzBbuApR.mjs → acorex-modules-organization-management-position.entity-C26xHNVh.mjs} +4 -4
- package/fesm2022/acorex-modules-organization-management-position.entity-C26xHNVh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs → acorex-modules-organization-management-responsibility.entity-Bdi5EEou.mjs} +4 -4
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-Bdi5EEou.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-role.entity-Cz8VrdMl.mjs → acorex-modules-organization-management-role.entity-Clvyelrm.mjs} +4 -4
- package/fesm2022/acorex-modules-organization-management-role.entity-Clvyelrm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-7eVokp-J.mjs → acorex-modules-organization-management-team.entity-BKkmASox.mjs} +5 -5
- package/fesm2022/acorex-modules-organization-management-team.entity-BKkmASox.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +20 -18
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs +91 -0
- package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs +88 -0
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs +75 -0
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs.map +1 -0
- package/fesm2022/acorex-modules-project-management.mjs +6 -6
- package/fesm2022/acorex-modules-report-management.mjs +4 -2
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +347 -3
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-DThbrMLC.mjs → acorex-modules-task-management-task-board.page-D9zaNk6g.mjs} +13 -4
- package/fesm2022/acorex-modules-task-management-task-board.page-D9zaNk6g.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +19 -12
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/human-capital-management/index.d.ts +1 -1
- package/package.json +1 -1
- package/security-management/index.d.ts +42 -3
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs +0 -101
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs.map +0 -1
- package/fesm2022/acorex-modules-locale-management-settings.provider-DKOT3qQ0.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-CzBbuApR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-Cz8VrdMl.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-7eVokp-J.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs +0 -115
- package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs +0 -113
- package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs.map +0 -1
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs +0 -77
- package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-DThbrMLC.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-report-management.mjs","sources":["../tmp-esm2022/report-management/lib/const.js","../tmp-esm2022/report-management/lib/reports/report.types.js","../tmp-esm2022/report-management/lib/reports/report-definition.provider.js","../tmp-esm2022/report-management/lib/reports/report-definition.service.js","../tmp-esm2022/report-management/lib/reports/report-mapper.js","../tmp-esm2022/report-management/lib/features/report-runner/reports.provider.js","../tmp-esm2022/report-management/lib/menu.provider.js","../tmp-esm2022/report-management/lib/entities/data-set/column.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.service.js","../tmp-esm2022/report-management/lib/entities/data-set/filter.def.js","../tmp-esm2022/report-management/lib/entities/data-set/sort.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.entity.js","../tmp-esm2022/report-management/lib/entities/report-definition.service.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.module.js","../tmp-esm2022/report-management/lib/entities/report-definition.module.js","../tmp-esm2022/report-management/lib/entities/index.js","../tmp-esm2022/report-management/lib/features/data-llist/column-evaluator-scope.provider.js","../tmp-esm2022/report-management/lib/features/report/create/report-create.workflow.js","../tmp-esm2022/report-management/lib/report-management.module.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-chart-view/report-chart-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-table-view/report-table-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer-page/report-viewer-page.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-bar-chart-view/report-bar-chart-view.component.js","../tmp-esm2022/report-management/acorex-modules-report-management.js"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement'\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}.module-name`,\n icon: 'fa-light fa-chart-bar'\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'Category',\n fullName: `${config.module}.Category`,\n title: `@${config.i18n}.entities.category.title`,\n titlePlural: `@${config.i18n}.entities.category.title-plural`,\n icon: 'fa-light fa-folder'\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}.entities.report.title`,\n //titlePlural: `@${config.i18n}.entities.report.title-plural`,\n titlePlural: `t(\"entities.report.title-plural\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-chart-pie'\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sR0FBRztJQUNYLElBQUksRUFBRSxtQkFBbUI7SUFDekIsTUFBTSxFQUFDLGtCQUFrQjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDSixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxjQUFjO1FBQ3BDLElBQUksRUFBRSx1QkFBdUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSwwQkFBMEIsTUFBTSxDQUFDLElBQUksTUFBTTtZQUNsRCxXQUFXLEVBQUUsZ0NBQWdDLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFDOUQsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNHLFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLFdBQVc7WUFDckMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksMEJBQTBCO1lBQ2hELFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGlDQUFpQztZQUM3RCxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTO1lBQ25DLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLHdCQUF3QjtZQUM5Qyw4REFBOEQ7WUFDOUQsV0FBVyxFQUFFLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxLQUFLO1lBQ3pFLElBQUksRUFBRSw0QkFBNEI7U0FDckM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gICAgaTE4bjogJ3JlcG9ydC1tYW5hZ2VtZW50JyxcbiAgICBtb2R1bGU6J1JlcG9ydE1hbmFnZW1lbnQnXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgICBjb25maWcsXG4gICAgbW9kdWxlOiB7XG4gICAgICAgIHJvdXRlOiAncmVwb3J0LW1hbmFnZW1lbnQnLFxuICAgICAgICBuYW1lOiBjb25maWcubW9kdWxlLFxuICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5tb2R1bGUtbmFtZWAsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGFydC1iYXInXG4gICAgfSxcbiAgICBlbnRpdGllczoge1xuICAgIGRhdGFTZXQ6IHtcbiAgICAgIG5hbWU6ICdEYXRhU2V0JyxcbiAgICAgIHRpdGxlOiBgdChcImRhdGFTZXRcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgdChcImRhdGFTZXRQbHVyYWxcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgICAgbmFtZTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5DYXRlZ29yeWAsXG4gICAgICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZWAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZS1wbHVyYWxgLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlcidcbiAgICAgICAgfSxcbiAgICAgICAgcmVwb3J0OiB7XG4gICAgICAgICAgICBuYW1lOiAnUmVwb3J0JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5SZXBvcnRgLFxuICAgICAgICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlYCxcbiAgICAgICAgICAgIC8vdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlLXBsdXJhbGAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYHQoXCJlbnRpdGllcy5yZXBvcnQudGl0bGUtcGx1cmFsXCIse3Njb3BlOlwiJHtjb25maWcuaTE4bn1cIn0pYCxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWNoYXJ0LXBpZSdcbiAgICAgICAgfVxuICAgIH0sXG59O1xuIl19","//#region ---- Imports ----\nexport {};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0cy9yZXBvcnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCOztBQStkL0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEV4cG9ydE9wdGlvbnMsIEFYUE9wdGlvbnNEYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Q29sdW1uTm9kZSwgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5pbXBvcnQgeyBBWFBRdWVyeVNvcnQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcbmltcG9ydCB7IEFYUFN5c3RlbUFjdGlvblR5cGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBDb3JlIFJlcG9ydCBUeXBlcyBhbmQgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0VHlwZSA9ICd0YWJsZScgfCAnY2hhcnQnIHwgJ2NhcmRzJyB8ICdjdXN0b20nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc1JlcG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXTtcbiAgICBwYXJhbWV0ZXJHcm91cHM6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwW107XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgICBsYXlvdXRzOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uW107ICAvLyBDaGFuZ2VkIHRvIHN1cHBvcnQgbXVsdGlwbGUgbGF5b3V0c1xuICAgIGRlZmF1bHRMYXlvdXRJZDogc3RyaW5nOyAgICAgICAgICAgICAgLy8gV2hpY2ggbGF5b3V0IHRvIHNob3cgYnkgZGVmYXVsdFxufVxuXG4vKipcbiAqIExheW91dCBEZWZpbml0aW9uIC0gQXNzb2NpYXRlcyBhIGxheW91dCB3aXRoIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0TGF5b3V0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgICAgICAgIC8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGxheW91dFxuICAgIHRpdGxlOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IG5hbWUgKGUuZy4sIFwiVGFibGUgVmlld1wiLCBcIkNoYXJ0IFZpZXdcIilcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZzsgICAgICAgICAgLy8gT3B0aW9uYWwgZGVzY3JpcHRpb25cbiAgICBpY29uPzogc3RyaW5nOyAgICAgICAgICAgICAgICAgLy8gSWNvbiBmb3IgbGF5b3V0IHN3aXRjaGVyIFVJXG4gICAgbGF5b3V0OiBBWFBSZXBvcnRMYXlvdXQ7ICAgICAgIC8vIFRoZSBhY3R1YWwgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICBkYXRhU291cmNlPzogQVhQUmVwb3J0RGF0YVNvdXJjZTsgLy8gT3B0aW9uYWwgbGF5b3V0LXNwZWNpZmljIGRhdGFTb3VyY2UgKG92ZXJyaWRlcyByZXBvcnQtbGV2ZWwpXG4gICAgaXNEZWZhdWx0PzogYm9vbGVhbjsgICAgICAgICAgIC8vIEFsdGVybmF0aXZlIHRvIGRlZmF1bHRMYXlvdXRJZFxuICAgIGV4cG9ydD86IEFYUEV4cG9ydE9wdGlvbnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRQYXJhbWV0ZXJHcm91cCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogQVhQUmVwb3J0UGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGU7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIERhdGEgU291cmNlIFR5cGVzICAgLS0tLVxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnREYXRhU291cmNlID1cbiAgICB8IEFYUFF1ZXJ5RGF0YVNvdXJjZVxuICAgIHwgQVhQQ3VzdG9tRGF0YVNvdXJjZVxuICAgIHwgQVhQQWdncmVnYXRlZERhdGFTb3VyY2VcbiAgICB8IEFYUFRyYW5zZm9ybWVkRGF0YVNvdXJjZTtcblxuLyoqXG4gKiBRdWVyeSBEYXRhIFNvdXJjZSAtIFVzZWQgZm9yIGV4ZWN1dGluZyBwcmVkZWZpbmVkIHF1ZXJpZXMgKEFYUFF1ZXJ5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFF1ZXJ5RGF0YVNvdXJjZSB7XG4gICAgdHlwZTogJ3F1ZXJ5JztcbiAgICBuYW1lOiBzdHJpbmc7IC8vIFRoZSByZWdpc3RlcmVkIHF1ZXJ5IG5hbWUsIGUuZy4sICdnZXRFbXBsb3llZUxpc3QnXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107IC8vIE1hcHMgcmVwb3J0IHBhcmFtZXRlcnMgdG8gcXVlcnkgaW5wdXRzXG4gICAgc29ydEZpZWxkcz86IEFYUFF1ZXJ5U29ydFtdOyAgICAgICAgICAvLyBEZWZhdWx0IHNvcnRpbmcgYXBwbGllZCBieSB0aGUgYmFja2VuZFxuICAgIHBhZ2luYXRpb24/OiBib29sZWFuOyAgICAgICAgICAgICAgICAgLy8gRW5hYmxlcyBwYWdpbmcgaW4gcmVzdWx0IHNldFxufVxuXG5cblxuLyoqXG4gKiBDdXN0b20gRGF0YSBTb3VyY2UgLSBVc2VkIGZvciBmZXRjaGluZyBkYXRhIGZyb20gY3VzdG9tIHByb3ZpZGVycyBsaWtlIFJFU1QgQVBJcyBvciBleHRlcm5hbCBzZXJ2aWNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEN1c3RvbURhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICdjdXN0b20nO1xuICAgIHByb3ZpZGVyOiBzdHJpbmc7IC8vIEV4YW1wbGU6ICdodHRwOi8vYXBpL3JlcG9ydCcgb3IgJ2N1c3RvbTpNeUhhbmRsZXInXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107IC8vIE1hcHMgcmVwb3J0IHBhcmFtZXRlcnMgdG8gcGF5bG9hZFxuICAgIG9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9OyAgICAgLy8gQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgY3VzdG9tIGhhbmRsZXJcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXIgQmluZGluZyAtIE1hcHMgcmVwb3J0LWxldmVsIHBhcmFtZXRlcnMgdG8gYWN0dWFsIHF1ZXJ5L2NvbW1hbmQgaW5wdXQgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZyB7XG4gICAgcGFyYW1ldGVyS2V5OiBzdHJpbmc7IC8vIFJlcG9ydCBwYXJhbWV0ZXIga2V5LCBlLmcuLCAnc3RhcnREYXRlJ1xuICAgIGJpbmRUbzogc3RyaW5nOyAgICAgICAvLyBJbnB1dCBrZXkgaW4gdGhlIHF1ZXJ5L2NvbW1hbmQgcGF5bG9hZCwgZS5nLiwgJ2ZpbHRlcnMuZnJvbSdcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGVkIERhdGEgU291cmNlIC0gVXNlZCBmb3IgcHJlLWFnZ3JlZ2F0ZWQgZGF0YSBvcHRpbWl6ZWQgZm9yIGNoYXJ0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFnZ3JlZ2F0ZWREYXRhU291cmNlIHtcbiAgICB0eXBlOiAnYWdncmVnYXRlZCc7XG4gICAgYmFzZVF1ZXJ5OiBzdHJpbmc7ICAgIC8vIEJhc2UgcXVlcnkgdG8gYWdncmVnYXRlIGZyb21cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIGdyb3VwQnk6IHN0cmluZ1tdOyAgICAvLyBGaWVsZHMgdG8gZ3JvdXAgYnlcbiAgICBhZ2dyZWdhdGlvbnM6IEFYUEFnZ3JlZ2F0aW9uW107IC8vIEFnZ3JlZ2F0aW9uIG9wZXJhdGlvbnNcbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107XG59XG5cbi8qKlxuICogVHJhbnNmb3JtZWQgRGF0YSBTb3VyY2UgLSBBcHBsaWVzIHRyYW5zZm9ybWF0aW9ucyB0byBleGlzdGluZyBkYXRhIHNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBUcmFuc2Zvcm1lZERhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICd0cmFuc2Zvcm1lZCc7XG4gICAgYmFzZURhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7IC8vIFNvdXJjZSB0byB0cmFuc2Zvcm1cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIHRyYW5zZm9ybWF0aW9uczogQVhQRGF0YVRyYW5zZm9ybWF0aW9uW107IC8vIExpc3Qgb2YgdHJhbnNmb3JtYXRpb25zXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdO1xufVxuXG4vKipcbiAqIEFnZ3JlZ2F0aW9uIG9wZXJhdGlvbiBmb3IgYWdncmVnYXRlZCBkYXRhIHNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBZ2dyZWdhdGlvbiB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRpb246ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21pbicgfCAnbWF4JyB8ICdkaXN0aW5jdCc7XG4gICAgYWxpYXM/OiBzdHJpbmc7IC8vIE91dHB1dCBmaWVsZCBuYW1lXG59XG5cbi8qKlxuICogRGF0YSB0cmFuc2Zvcm1hdGlvbiBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBEYXRhVHJhbnNmb3JtYXRpb24ge1xuICAgIHR5cGU6ICdmaWx0ZXInIHwgJ3NvcnQnIHwgJ2dyb3VwJyB8ICdwaXZvdCcgfCAnZm9ybWF0JztcbiAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT47IC8vIFRyYW5zZm9ybWF0aW9uLXNwZWNpZmljIGNvbmZpZ3VyYXRpb25cbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IFR5cGVzICAgLS0tLVxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnRMYXlvdXQgPVxuICAgIHwgQVhQUmVwb3J0VGFibGVMYXlvdXRcbiAgICB8IEFYUFJlcG9ydENoYXJ0TGF5b3V0XG5cbi8qKlxuICogVGFibGUgTGF5b3V0IC0gRGlzcGxheXMgZGF0YSBpbiB0YWJ1bGFyIGZvcm1hdFxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb24gZXh0ZW5kcyBBWFBBY3Rpb25NZW51SXRlbSB7XG4gICAgcHJpb3JpdHk6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuICAgIHR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUgfCBzdHJpbmc7XG4gICAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0VGFibGVMYXlvdXQge1xuICAgIHR5cGU6ICd0YWJsZSc7XG4gICAgY29sdW1uczogQVhQUmVwb3J0Q29sdW1uW107XG4gICAgYWN0aW9ucz86IEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uW107XG4gICAgb3B0aW9ucz86IEFYUFRhYmxlT3B0aW9ucztcbiAgICBncm91cEJ5Pzogc3RyaW5nW107XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nPzogQVhQQ29uZGl0aW9uYWxGb3JtYXRSdWxlW107XG4gICAgc3VtbWFyeT86IEFYUFJlcG9ydFN1bW1hcnlPcHRpb25zW107XG4gICAgaGVhZGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xuICAgIGZvb3Rlcj86IEFYUFJlcG9ydEhlYWRlckZvb3Rlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBUYWJsZU9wdGlvbnMge1xuICAgIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICAgIHN0aWNreUhlYWRlcj86IGJvb2xlYW47XG4gICAgc3RyaXBlZFJvd3M/OiBib29sZWFuO1xuICAgIHNvcnRpbmc/OiBBWFBRdWVyeVNvcnRbXTtcbiAgICBzZWxlY3RhYmxlPzoge1xuICAgICAgICBtb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgfCAnbm9uZSc7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBMYXlvdXQgLSBEaXNwbGF5cyBkYXRhIGluIHZhcmlvdXMgY2hhcnQgZm9ybWF0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENoYXJ0TGF5b3V0IHtcbiAgICB0eXBlOiAnY2hhcnQnO1xuICAgIG9wdGlvbnM6IEFYUFJlcG9ydENoYXJ0T3B0aW9ucztcbiAgICBoZWFkZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG4gICAgZm9vdGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENoYXJ0T3B0aW9ucyB7XG4gICAgY2hhcnRUeXBlOiAnYmFyJyB8ICdsaW5lJyB8ICdwaWUnIHwgJ2RvdWdobnV0JyB8ICdhcmVhJyB8ICdzY2F0dGVyJyB8ICdyYWRhcicgfCAnbWl4ZWQnO1xuICAgIGRhdGFNYXBwaW5nOiBBWFBDaGFydERhdGFNYXBwaW5nO1xuICAgIHN0eWxpbmc/OiBBWFBDaGFydFN0eWxpbmc7XG4gICAgaW50ZXJhY3Rpdml0eT86IEFYUENoYXJ0SW50ZXJhY3Rpdml0eTtcbn1cblxuLyoqXG4gKiBDaGFydCBEYXRhIE1hcHBpbmcgQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUENoYXJ0RGF0YU1hcHBpbmcge1xuICAgIC8vIENvcmUgZmllbGRzXG4gICAgeEZpZWxkOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAvLyBYLWF4aXMgZGF0YSBmaWVsZFxuICAgIHlGaWVsZHM6IHN0cmluZyB8IHN0cmluZ1tdOyAgICAgICAgLy8gWS1heGlzIGRhdGEgZmllbGQocykgZm9yIG11bHRpcGxlIHNlcmllc1xuXG4gICAgLy8gR3JvdXBpbmcgYW5kIGNhdGVnb3JpemF0aW9uXG4gICAgZ3JvdXBCeT86IHN0cmluZzsgICAgICAgICAgICAgICAgICAvLyBHcm91cCBkYXRhIGJ5IHRoaXMgZmllbGRcbiAgICBzZXJpZXNGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgIC8vIEZpZWxkIHRvIGNyZWF0ZSBtdWx0aXBsZSBzZXJpZXNcblxuICAgIC8vIFNwZWNpYWwgZmllbGRzIGZvciBzcGVjaWZpYyBjaGFydCB0eXBlc1xuICAgIHNpemVGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgICAgLy8gRm9yIGJ1YmJsZSBjaGFydHNcbiAgICBjb2xvckZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgIC8vIEZvciBncmFkaWVudC9jb25kaXRpb25hbCBjb2xvcmluZ1xuICAgIGxhYmVsRmllbGQ/OiBzdHJpbmc7ICAgICAgICAgICAgICAgLy8gQ3VzdG9tIGxhYmVsIGZpZWxkXG5cbiAgICAvLyBEYXRhIGFnZ3JlZ2F0aW9uXG4gICAgYWdncmVnYXRpb24/OiB7XG4gICAgICAgIG1ldGhvZDogJ3N1bScgfCAnYXZnJyB8ICdjb3VudCcgfCAnbWluJyB8ICdtYXgnO1xuICAgICAgICBmaWVsZDogc3RyaW5nO1xuICAgIH07XG59XG5cbi8qKlxuICogQ2hhcnQgVmlzdWFsIFN0eWxpbmcgQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUENoYXJ0U3R5bGluZyB7XG4gICAgLy8gVGhlbWUgYW5kIGNvbG9yc1xuICAgIGNvbG9yU2NoZW1lPzogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgfCAnY3VzdG9tJztcbiAgICBjdXN0b21Db2xvcnM/OiBzdHJpbmdbXTtcblxuICAgIC8vIENoYXJ0IGFwcGVhcmFuY2VcbiAgICBncmlkTGluZXM/OiBib29sZWFuO1xuICAgIGxlZ2VuZD86IHtcbiAgICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgICAgcG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnO1xuICAgIH07XG5cbiAgICAvLyBBeGVzIGNvbmZpZ3VyYXRpb25cbiAgICB4QXhpcz86IEFYUENoYXJ0QXhpc0NvbmZpZztcbiAgICB5QXhpcz86IEFYUENoYXJ0QXhpc0NvbmZpZztcblxuICAgIC8vIEFuaW1hdGlvblxuICAgIGFuaW1hdGlvbj86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgZHVyYXRpb24/OiBudW1iZXI7XG4gICAgfTtcblxuICAgIC8vIENoYXJ0LXNwZWNpZmljIHN0eWxpbmdcbiAgICBjaGFydFNwZWNpZmljPzoge1xuICAgICAgICAvLyBCYXIgY2hhcnQgb3B0aW9uc1xuICAgICAgICBiYXI/OiB7XG4gICAgICAgICAgICBvcmllbnRhdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgICAgICAgICAgIG1vZGU6ICdncm91cGVkJyB8ICdzdGFja2VkJztcbiAgICAgICAgICAgIGJhcldpZHRoPzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIExpbmUgY2hhcnQgb3B0aW9uc1xuICAgICAgICBsaW5lPzoge1xuICAgICAgICAgICAgc3R5bGU6ICdzdHJhaWdodCcgfCAnY3VydmVkJyB8ICdzdGVwcGVkJztcbiAgICAgICAgICAgIHNob3dQb2ludHM/OiBib29sZWFuO1xuICAgICAgICAgICAgdGVuc2lvbj86IG51bWJlcjtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBBcmVhIGNoYXJ0IG9wdGlvbnNcbiAgICAgICAgYXJlYT86IHtcbiAgICAgICAgICAgIG1vZGU6ICdub3JtYWwnIHwgJ3N0YWNrZWQnIHwgJ3BlcmNlbnRhZ2UnO1xuICAgICAgICAgICAgb3BhY2l0eT86IG51bWJlcjtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBQaWUvRG91Z2hudXQgb3B0aW9uc1xuICAgICAgICBwaWU/OiB7XG4gICAgICAgICAgICBzdGFydEFuZ2xlPzogbnVtYmVyO1xuICAgICAgICAgICAgaW5uZXJSYWRpdXM/OiBudW1iZXI7IC8vIEZvciBkb3VnaG51dCBjaGFydHNcbiAgICAgICAgICAgIHNob3dMYWJlbHM/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgIH07XG59XG5cbi8qKlxuICogQ2hhcnQgQXhpcyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRBeGlzQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICB0eXBlPzogJ2xpbmVhcicgfCAnbG9nYXJpdGhtaWMnIHwgJ2RhdGV0aW1lJyB8ICdjYXRlZ29yeSc7XG4gICAgbWluPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1heD86IG51bWJlciB8IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgZ3JpZExpbmVzPzogYm9vbGVhbjtcbiAgICB0aWNrSW50ZXJ2YWw/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2hhcnQgSW50ZXJhY3Rpdml0eSBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRJbnRlcmFjdGl2aXR5IHtcbiAgICAvLyBab29tIGFuZCBwYW5cbiAgICB6b29tPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBtb2RlPzogJ3gnIHwgJ3knIHwgJ3h5JztcbiAgICB9O1xuXG4gICAgLy8gVG9vbHRpcHNcbiAgICB0b29sdGlwcz86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgICAgICBzaG93T25Ib3Zlcj86IGJvb2xlYW47XG4gICAgfTtcblxuICAgIC8vIENsaWNrIGV2ZW50c1xuICAgIG9uQ2xpY2s/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIGFjdGlvbj86ICdkcmlsbC1kb3duJyB8ICdmaWx0ZXInIHwgJ2N1c3RvbSc7XG4gICAgfTtcblxuICAgIC8vIFNlbGVjdGlvblxuICAgIHNlbGVjdGlvbj86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgbW9kZT86ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcbiAgICB9O1xuXG4gICAgLy8gRXhwb3J0XG4gICAgZXhwb3J0Pzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBmb3JtYXRzPzogKCdwbmcnIHwgJ2pwZycgfCAncGRmJyB8ICdzdmcnKVtdO1xuICAgIH07XG59XG5cblxuLy8jcmVnaW9uIC0tLS0gICBTaGFyZWQgTW9kZWxzICAgLS0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENvbHVtbiB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgICB3aWRnZXQ/OiBBWFBXaWRnZXRDb2x1bW5Ob2RlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0U3VtbWFyeU9wdGlvbnMge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3BlcmF0aW9uOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCc7XG4gICAgZGlzcGxheUluOiAnZ3JvdXBGb290ZXInIHwgJ3JlcG9ydEZvb3Rlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29uZGl0aW9uYWxGb3JtYXRSdWxlIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGNvbmRpdGlvbjogJz4nIHwgJzwnIHwgJz0nIHwgJyE9JyB8ICdjb250YWlucyc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBzdHlsZToge1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgICAgICBmb250V2VpZ2h0PzogJ25vcm1hbCcgfCAnYm9sZCc7XG4gICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRIZWFkZXJGb290ZXIge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxvZ29Vcmw/OiBzdHJpbmc7XG4gICAgc2hvd0RhdGU/OiBib29sZWFuO1xuICAgIHNob3dQYXJhbWV0ZXJzPzogYm9vbGVhbjtcbiAgICBjdXN0b21IdG1sPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIExheW91dCBzd2l0Y2hlciBvcHRpb25zIGZvciBVSSBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0U3dpdGNoZXJPcHRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHR5cGU6IEFYUFJlcG9ydExheW91dFR5cGU7XG59XG5cbi8qKlxuICogUnVudGltZSBsYXlvdXQgc2VsZWN0aW9uIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0TGF5b3V0U3RhdGUge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgYWN0aXZlTGF5b3V0SWQ6IHN0cmluZztcbiAgICBhdmFpbGFibGVMYXlvdXRzOiBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbltdO1xufVxuXG4vKipcbiAqIExheW91dCB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dFZhbGlkYXRpb25SZXN1bHQge1xuICAgIGlzVmFsaWQ6IGJvb2xlYW47XG4gICAgZXJyb3JzOiBzdHJpbmdbXTtcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgc291cmNlIHJlc29sdXRpb24gcmVzdWx0IGZvciBhIHNwZWNpZmljIGxheW91dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dERhdGFTb3VyY2VSZXNvbHV0aW9uIHtcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIGRhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7XG4gICAgc291cmNlOiAnbGF5b3V0JyB8ICdyZXBvcnQnIHwgJ25vbmUnOyAvLyBXaGVyZSB0aGUgZGF0YVNvdXJjZSBjYW1lIGZyb21cbn1cblxuLyoqXG4gKiBMYXlvdXQgZXhlY3V0aW9uIGNvbnRleHQgd2l0aCByZXNvbHZlZCBkYXRhIHNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgbGF5b3V0SWQ6IHN0cmluZztcbiAgICBkYXRhU291cmNlOiBBWFBSZXBvcnREYXRhU291cmNlO1xuICAgIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cblxuZXhwb3J0IHR5cGUgQVhQRXhlY3V0aW9uUmVwb3J0UmVzdWx0ID1cbiAgICB8IHsgdHlwZTogJ3RhYmxlJywgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10sIHRvdGFsOiBudW1iZXIgfVxuICAgIHwgeyB0eXBlOiAnY2hhcnQnLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9XG4gICAgfCB7IHR5cGU6ICdjYXJkcycsIGl0ZW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH1cbiAgICB8IHsgdHlwZTogJ2N1c3RvbScsIGRhdGE6IHVua25vd24gfTtcblxuXG5leHBvcnQgdHlwZSBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0ID0gQVhQUmVwb3J0TGF5b3V0ICYgeyBkYXRhOiBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgfTtcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmQgZXh0ZW5kcyBBWFBDb21tYW5kPEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQsIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQ+IHtcbn1cblxuLyoqXG4gKiBSZXBvcnQgZXhlY3V0aW9uIHN0YXR1cyBhbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25TdGF0dXMge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgbGF5b3V0SWQ6IHN0cmluZztcbiAgICBzdGF0dXM6ICdwZW5kaW5nJyB8ICdleGVjdXRpbmcnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJyB8ICdjYW5jZWxsZWQnO1xuICAgIHN0YXJ0VGltZTogRGF0ZTtcbiAgICBlbmRUaW1lPzogRGF0ZTtcbiAgICBkdXJhdGlvbj86IG51bWJlcjsgLy8gbWlsbGlzZWNvbmRzXG4gICAgcmVjb3JkQ291bnQ/OiBudW1iZXI7XG4gICAgZXJyb3I/OiBBWFBSZXBvcnRFeGVjdXRpb25FcnJvcjtcbn1cblxuLyoqXG4gKiBEZXRhaWxlZCBlcnJvciBpbmZvcm1hdGlvbiBmb3IgcmVwb3J0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvbkVycm9yIHtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBzdGFjaz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXBvcnQgZXhlY3V0aW9uIHJlcXVlc3Qgd2l0aCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RXhlY3V0aW9uUmVxdWVzdCB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIG9wdGlvbnM/OiBBWFBSZXBvcnRFeGVjdXRpb25PcHRpb25zO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHJlcG9ydCBleGVjdXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25PcHRpb25zIHtcbiAgICB0aW1lb3V0PzogbnVtYmVyOyAvLyBtaWxsaXNlY29uZHNcbiAgICBwcmlvcml0eT86ICdsb3cnIHwgJ25vcm1hbCcgfCAnaGlnaCc7XG4gICAgY2FjaGU/OiBib29sZWFuO1xuICAgIGNhY2hlVGltZW91dD86IG51bWJlcjsgLy8gc2Vjb25kc1xufVxuXG4vLyNlbmRyZWdpb25cblxuXG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AXP_REPORT_DEFINITION_PROVIDER = new InjectionToken('AXP_REPORT_DEFINITION_PROVIDER', {\n factory: () => [],\n});\nexport const AXP_REPORT_CATEGORY_PROVIDER = new InjectionToken('AXP_REPORT_CATEGORY_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQXFDLGdDQUFnQyxFQUFFO0lBQ25JLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQUMsQ0FBQztBQVlILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFtQyw4QkFBOEIsRUFBRTtJQUM3SCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuL3JlcG9ydC50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclxuICAgIHwgUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXI+O1xuXG5leHBvcnQgY29uc3QgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuW10+KCdBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVInLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXIge1xuICAgIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD47XG59XG5cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJcbiAgICB8IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcj47XG5cbmV4cG9ydCBjb25zdCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJUb2tlbltdPignQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBbXSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQ+O1xufVxuXG5cblxuIl19","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_REPORT_CATEGORY_PROVIDER, AXP_REPORT_DEFINITION_PROVIDER } from './report-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPReportDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.categoryProviders = inject(AXP_REPORT_CATEGORY_PROVIDER, { optional: true }) || [];\n this.definitionProviders = inject(AXP_REPORT_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by categoryId. */\n this.definitionsByCategory = new Map();\n /** Cache for categories by id. */\n this.categoriesById = new Map();\n /** Cache for categories by parentId. */\n this.categoriesByParentId = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns all categories for a given parentId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getCategories(parentId) {\n if (this.categoriesByParentId.has(parentId)) {\n return this.categoriesByParentId.get(parentId);\n }\n const resolvedProviders = await Promise.allSettled(this.categoryProviders);\n const categories = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const cats = await p.value.getList(parentId);\n if (Array.isArray(cats)) {\n categories.push(...cats);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.categoriesByParentId.set(parentId, categories);\n for (const cat of categories) {\n this.categoriesById.set(cat.id, cat);\n }\n return categories;\n }\n /**\n * Returns all report definitions for a given categoryId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getReportsByCategoryId(categoryId) {\n if (this.definitionsByCategory.has(categoryId)) {\n return this.definitionsByCategory.get(categoryId);\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n const definitions = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const defs = await p.value.getList(categoryId);\n if (Array.isArray(defs)) {\n definitions.push(...defs);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.definitionsByCategory.set(categoryId, definitions);\n return definitions;\n }\n /**\n * Returns a report definition by its id. Continues through providers on errors.\n */\n async getReportById(id) {\n for (const reports of this.definitionsByCategory.values()) {\n const found = reports.find(report => report.id === id);\n if (found) {\n return found;\n }\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getById === 'function') {\n try {\n const result = await p.value.getById(id);\n if (result)\n return result;\n }\n catch {\n // continue on error\n }\n }\n }\n return undefined;\n }\n /**\n * Returns a category by its id, using cache and providers if needed.\n */\n async getCategoryById(categoryId) {\n if (this.categoriesById.has(categoryId)) {\n return this.categoriesById.get(categoryId);\n }\n for (const categories of this.categoriesByParentId.values()) {\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n this.categoriesById.set(categoryId, found);\n return found;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n const found = this.categoriesById.get(categoryId);\n if (found)\n return found;\n }\n const searchQueue = [undefined];\n const searched = new Set();\n while (searchQueue.length > 0) {\n const parentId = searchQueue.shift();\n if (searched.has(parentId))\n continue;\n searched.add(parentId);\n const categories = await this.getCategories(parentId);\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n return found;\n }\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searchQueue.push(category.id);\n }\n }\n }\n return undefined;\n }\n /**\n * Returns the full categories path from root to the specified category.\n */\n async getCategoriesPathById(categoryId) {\n const path = [];\n let currentCategoryId = categoryId;\n while (currentCategoryId) {\n let category = this.categoriesById.get(currentCategoryId);\n if (!category) {\n category = await this.getCategoryById(currentCategoryId);\n if (!category) {\n throw new Error(`Category with id '${currentCategoryId}' not found`);\n }\n }\n path.unshift(category);\n currentCategoryId = category.parentId;\n }\n return path;\n }\n /**\n * Returns the full categories path for the category that contains the specified report.\n */\n async getCategoriesPathByReportId(reportId) {\n const categoryId = await this.getCategoryIdByReportId(reportId);\n if (!categoryId) {\n throw new Error(`Report with id '${reportId}' not found in any category`);\n }\n return this.getCategoriesPathById(categoryId);\n }\n /**\n * Returns the category ID that contains a specific report.\n */\n async getCategoryIdByReportId(reportId) {\n for (const [categoryId, reports] of this.definitionsByCategory.entries()) {\n if (reports.some(report => report.id === reportId)) {\n return categoryId;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n }\n const searched = new Set();\n const searchQueueParents = [undefined];\n const searchedParents = new Set();\n while (searchQueueParents.length > 0) {\n const parentId = searchQueueParents.shift();\n if (searchedParents.has(parentId))\n continue;\n searchedParents.add(parentId);\n const categories = await this.getCategories(parentId);\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searched.add(category.id);\n const reports = await this.getReportsByCategoryId(category.id);\n if (reports.some(report => report.id === reportId)) {\n return category.id;\n }\n searchQueueParents.push(category.id);\n }\n }\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n clearDefinitionsCache() {\n this.definitionsByCategory.clear();\n }\n clearCategoriesCache() {\n this.categoriesByParentId.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRTVHLFlBQVk7QUFLWixNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSUksMENBQTBDO1FBRXpCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRix3QkFBbUIsR0FBRyxNQUFNLENBQUMsOEJBQThCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEcsMkNBQTJDO1FBQ25DLDBCQUFxQixHQUF1QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlFLGtDQUFrQztRQUMxQixtQkFBYyxHQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25FLHdDQUF3QztRQUNoQyx5QkFBb0IsR0FBaUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQTRNMUY7SUExTUcsWUFBWTtJQUVaLGtDQUFrQztJQUVsQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUNwRCxD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SSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUNqRCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7b0JBQ0Qsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7SUFFWix3Q0FBd0M7SUFFeEMscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQXBOUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uIH0gZnJvbSAnLi9yZXBvcnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUiwgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9yZXBvcnQtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5cbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm92aWRlcnMgJiBDYWNoZXMgICAtLS0tXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZpbml0aW9uUHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcblxuICAgIC8qKiBDYWNoZSBmb3IgZGVmaW5pdGlvbnMgYnkgY2F0ZWdvcnlJZC4gKi9cbiAgICBwcml2YXRlIGRlZmluaXRpb25zQnlDYXRlZ29yeTogTWFwPHN0cmluZywgQVhQUmVwb3J0RGVmaW5pdGlvbltdPiA9IG5ldyBNYXAoKTtcbiAgICAvKiogQ2FjaGUgZm9yIGNhdGVnb3JpZXMgYnkgaWQuICovXG4gICAgcHJpdmF0ZSBjYXRlZ29yaWVzQnlJZDogTWFwPHN0cmluZywgQVhQUmVwb3J0Q2F0ZWdvcnk+ID0gbmV3IE1hcCgpO1xuICAgIC8qKiBDYWNoZSBmb3IgY2F0ZWdvcmllcyBieSBwYXJlbnRJZC4gKi9cbiAgICBwcml2YXRlIGNhdGVnb3JpZXNCeVBhcmVudElkOiBNYXA8c3RyaW5nIHwgdW5kZWZpbmVkLCBBWFBSZXBvcnRDYXRlZ29yeVtdPiA9IG5ldyBNYXAoKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgQVBJICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbGwgY2F0ZWdvcmllcyBmb3IgYSBnaXZlbiBwYXJlbnRJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldENhdGVnb3JpZXMocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHBhcmVudElkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuZ2V0KHBhcmVudElkKSE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZCh0aGlzLmNhdGVnb3J5UHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllczogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0cyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChwYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhdHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goLi4uY2F0cyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLnNldChwYXJlbnRJZCwgY2F0ZWdvcmllcyk7XG4gICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5SWQuc2V0KGNhdC5pZCwgY2F0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCByZXBvcnQgZGVmaW5pdGlvbnMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnlJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgaWYgKHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmhhcyhjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmdldChjYXRlZ29yeUlkKSE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm92aWRlcnMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQodGhpcy5kZWZpbml0aW9uUHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgZGVmaW5pdGlvbnM6IEFYUFJlcG9ydERlZmluaXRpb25bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmcyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLnB1c2goLi4uZGVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5SWQsIGRlZmluaXRpb25zKTtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuIENvbnRpbnVlcyB0aHJvdWdoIHByb3ZpZGVycyBvbiBlcnJvcnMuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb3J0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgcmVwb3J0cyBvZiB0aGlzLmRlZmluaXRpb25zQnlDYXRlZ29yeS52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSByZXBvcnRzLmZpbmQocmVwb3J0ID0+IHJlcG9ydC5pZCA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc29sdmVkUHJvdmlkZXJzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiByZXNvbHZlZFByb3ZpZGVycykge1xuICAgICAgICAgICAgaWYgKHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJyAmJiBwLnZhbHVlICYmIHR5cGVvZiBwLnZhbHVlLmdldEJ5SWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwLnZhbHVlLmdldEJ5SWQoaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb250aW51ZSBvbiBlcnJvclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjYXRlZ29yeSBieSBpdHMgaWQsIHVzaW5nIGNhY2hlIGFuZCBwcm92aWRlcnMgaWYgbmVlZGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRDYXRlZ29yeUJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzQnlJZC5oYXMoY2F0ZWdvcnlJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXNCeUlkLmdldChjYXRlZ29yeUlkKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3JpZXMgb2YgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeUlkLCBmb3VuZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoUXVldWU6IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoZWQgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudElkID0gc2VhcmNoUXVldWUuc2hpZnQoKSE7XG4gICAgICAgICAgICBpZiAoc2VhcmNoZWQuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZC5hZGQocGFyZW50SWQpO1xuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcyhwYXJlbnRJZCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IGNhdGVnb3JpZXMuZmluZChjYXQgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcykge1xuICAgICAgICAgICAgICAgIGlmICghc2VhcmNoZWQuaGFzKGNhdGVnb3J5LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hRdWV1ZS5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmdWxsIGNhdGVnb3JpZXMgcGF0aCBmcm9tIHJvb3QgdG8gdGhlIHNwZWNpZmllZCBjYXRlZ29yeS5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGg6IEFYUFJlcG9ydENhdGVnb3J5W10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYXRlZ29yeUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjYXRlZ29yeUlkO1xuICAgICAgICB3aGlsZSAoY3VycmVudENhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIGxldCBjYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnlCeUlkKGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2F0ZWdvcnkgd2l0aCBpZCAnJHtjdXJyZW50Q2F0ZWdvcnlJZH0nIG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChjYXRlZ29yeSk7XG4gICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5LnBhcmVudElkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgY2F0ZWdvcmllcyBwYXRoIGZvciB0aGUgY2F0ZWdvcnkgdGhhdCBjb250YWlucyB0aGUgc3BlY2lmaWVkIHJlcG9ydC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yeUlkID0gYXdhaXQgdGhpcy5nZXRDYXRlZ29yeUlkQnlSZXBvcnRJZChyZXBvcnRJZCk7XG4gICAgICAgIGlmICghY2F0ZWdvcnlJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvcnQgd2l0aCBpZCAnJHtyZXBvcnRJZH0nIG5vdCBmb3VuZCBpbiBhbnkgY2F0ZWdvcnlgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY2F0ZWdvcnkgSUQgdGhhdCBjb250YWlucyBhIHNwZWNpZmljIHJlcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlJZEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgW2NhdGVnb3J5SWQsIHJlcG9ydHNdIG9mIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmVudHJpZXMoKSkge1xuICAgICAgICAgICAgaWYgKHJlcG9ydHMuc29tZShyZXBvcnQgPT4gcmVwb3J0LmlkID09PSByZXBvcnRJZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnlJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcygpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaFF1ZXVlUGFyZW50czogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFt1bmRlZmluZWRdO1xuICAgICAgICBjb25zdCBzZWFyY2hlZFBhcmVudHMgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlUGFyZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHNlYXJjaFF1ZXVlUGFyZW50cy5zaGlmdCgpITtcbiAgICAgICAgICAgIGlmIChzZWFyY2hlZFBhcmVudHMuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZFBhcmVudHMuYWRkKHBhcmVudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBhd2FpdCB0aGlzLmdldENhdGVnb3JpZXMocGFyZW50SWQpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hlZC5oYXMoY2F0ZWdvcnkuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkLmFkZChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcG9ydHMgPSBhd2FpdCB0aGlzLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVwb3J0cy5zb21lKHJlcG9ydCA9PiByZXBvcnQuaWQgPT09IHJlcG9ydElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5LmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFF1ZXVlUGFyZW50cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ2FjaGUgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBjbGVhckNhdGVnb3JpZXNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5jbGVhcigpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuXG5cbiJdfQ==","export function AXPieChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value,\n }));\n}\nexport function AXBarChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value,\n }));\n}\nexport function AXLineChartReportMapper(data) {\n const entries = Object.entries(data);\n if (entries.length === 0) {\n return [];\n }\n const dataPoints = entries.map(([key, value]) => ({\n x: key,\n y: value,\n }));\n return [\n {\n id: 'series-1',\n label: 'Data Series',\n tooltipLabel: 'Countries Info',\n lineColor: '#d81159',\n fillColor: '#d8115920',\n data: dataPoints,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBNEI7SUFDakUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELEVBQUUsRUFBRSxHQUFHO1FBQ1AsS0FBSyxFQUFFLEdBQUc7UUFDVixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUE0QjtJQUNqRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsRUFBRSxFQUFFLEdBQUc7UUFDUCxLQUFLLEVBQUUsR0FBRztRQUNWLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQTRCO0lBQ2xFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDLEVBQUUsR0FBRztRQUNOLENBQUMsRUFBRSxLQUFLO0tBQ1QsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPO1FBQ0w7WUFDRSxFQUFFLEVBQUUsVUFBVTtZQUNkLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsSUFBSSxFQUFFLFVBQVU7U0FDakI7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2RvbnV0LWNoYXJ0JztcbmltcG9ydCB7IEFYTGluZUNoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9saW5lLWNoYXJ0JztcblxuZXhwb3J0IGZ1bmN0aW9uIEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogUmVjb3JkPHN0cmluZywgbnVtYmVyPik6IEFYRG9udXRDaGFydFZhbHVlIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIGlkOiBrZXksXG4gICAgbGFiZWw6IGtleSxcbiAgICB2YWx1ZTogdmFsdWUsXG4gIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFYQmFyQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogUmVjb3JkPHN0cmluZywgbnVtYmVyPik6IEFYQmFyQ2hhcnRWYWx1ZSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhkYXRhKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBpZDoga2V5LFxuICAgIGxhYmVsOiBrZXksXG4gICAgdmFsdWU6IHZhbHVlLFxuICB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBWExpbmVDaGFydFJlcG9ydE1hcHBlcihkYXRhOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+KTogQVhMaW5lQ2hhcnRWYWx1ZSB7XG4gIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkYXRhKTtcbiAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGRhdGFQb2ludHMgPSBlbnRyaWVzLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIHg6IGtleSxcbiAgICB5OiB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgaWQ6ICdzZXJpZXMtMScsXG4gICAgICBsYWJlbDogJ0RhdGEgU2VyaWVzJyxcbiAgICAgIHRvb2x0aXBMYWJlbDogJ0NvdW50cmllcyBJbmZvJyxcbiAgICAgIGxpbmVDb2xvcjogJyNkODExNTknLFxuICAgICAgZmlsbENvbG9yOiAnI2Q4MTE1OTIwJyxcbiAgICAgIGRhdGE6IGRhdGFQb2ludHMsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER } from '../../reports';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.report.name}`;\n }\n async getList(categoryId) {\n const result = (await this.queryService.fetch(`${this.entityName}:GetByCategory`, { categoryId }))?.items;\n return result ?? [];\n }\n async getById(id) {\n const result = await this.queryService.fetch(`${this.entityName}:GetById`, id);\n return result ?? undefined;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_DEFINITION_PROVIDER = {\n provide: AXP_REPORT_DEFINITION_PROVIDER,\n useClass: AXMReportDefinitionProvider,\n multi: true,\n};\n// --- Category Provider ---\nexport class AXMReportCategoryProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.category.name}`;\n }\n async getList(parentId) {\n let result = [];\n if (parentId) {\n result = (await this.queryService.fetch(`${this.entityName}:GetChildren`, { parentId }))?.items ?? [];\n }\n else {\n result = (await this.queryService.fetch(`${this.entityName}:GetRoots`, {}))?.items ?? [];\n }\n return result ?? [];\n }\n async getById(id) {\n return this.getList().then(cats => cats.find(cat => cat.id === id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_CATEGORY_PROVIDER = {\n provide: AXP_REPORT_CATEGORY_PROVIDER,\n useClass: AXMReportCategoryProvider,\n multi: true,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9ELDhCQUE4QixFQUFnRCw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3TCxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBS3pDLE1BQU0sT0FBTywyQkFBMkI7SUFEeEM7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2QyxlQUFVLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQWlCdkY7SUFmRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDekMsR0FBRyxJQUFJLENBQUMsVUFBVSxnQkFBZ0IsRUFDbEMsRUFBRSxVQUFVLEVBQUUsQ0FDakIsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUNWLE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLEdBQUcsSUFBSSxDQUFDLFVBQVUsVUFBVSxFQUM1QixFQUFFLENBQ0wsQ0FBQztRQUNGLE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUMvQixDQUFDOzhHQWxCUSwyQkFBMkI7a0hBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7QUFzQlgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsMkJBQTJCO0lBQ3JDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLDZCQUE2QjtBQUU3QixNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRVksaUJBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsZUFBVSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FxQnpGO0lBbkJHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBaUI7UUFDM0IsSUFBSSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDbkMsR0FBRyxJQUFJLENBQUMsVUFBVSxjQUFjLEVBQ2hDLEVBQUUsUUFBUSxFQUFFLENBQ2YsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUE7UUFDbkIsQ0FBQzthQUNJLENBQUM7WUFDRixNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNuQyxHQUFHLElBQUksQ0FBQyxVQUFVLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FDckMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OEdBdEJRLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOztBQTBCWCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyLCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIsIEFYUFJlcG9ydENhdGVnb3J5LCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSwgQVhQUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYUFBhZ2VkTGlzdFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBxdWVyeVNlcnZpY2UgPSBpbmplY3QoQVhQUXVlcnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGVudGl0eU5hbWUgPSBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMucmVwb3J0Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucXVlcnlTZXJ2aWNlLmZldGNoPHsgY2F0ZWdvcnlJZDogc3RyaW5nIH0sIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnREZWZpbml0aW9uPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmVudGl0eU5hbWV9OkdldEJ5Q2F0ZWdvcnlgLFxuICAgICAgICAgICAgeyBjYXRlZ29yeUlkIH1cbiAgICAgICAgKSk/Lml0ZW1zO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IFtdO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxzdHJpbmcsIEFYUFJlcG9ydERlZmluaXRpb24+KFxuICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRCeUlkYCxcbiAgICAgICAgICAgIGlkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8vIC0tLSAgQ2F0ZWdvcnkgUHJvdmlkZXIgLS0tXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIHByaXZhdGUgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBlbnRpdHlOYW1lID0gYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmNhdGVnb3J5Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDx7IHBhcmVudElkOiBzdHJpbmcgfSwgQVhQUGFnZWRMaXN0UmVzdWx0PEFYUFJlcG9ydENhdGVnb3J5Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRDaGlsZHJlbmAsXG4gICAgICAgICAgICAgICAgeyBwYXJlbnRJZCB9XG4gICAgICAgICAgICApKT8uaXRlbXMgPz8gW11cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxhbnksIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnRDYXRlZ29yeT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuZW50aXR5TmFtZX06R2V0Um9vdHNgLCB7fSlcbiAgICAgICAgICAgICk/Lml0ZW1zID8/IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gW107XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KCkudGhlbihjYXRzID0+IGNhdHMuZmluZChjYXQgPT4gY2F0LmlkID09PSBpZCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgICB1c2VDbGFzczogQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07ICJdfQ==","import { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const module = RootConfig.module;\n context.addItems([\n {\n text: RootConfig.entities.report.titlePlural,\n path: `${this.sessionService.application?.name}/${module.route}/reports`,\n icon: RootConfig.entities.report.icon,\n priority: 900001,\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL21lbnUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ1ksbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWN2RCxDQUFDO0lBWkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWpDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDYjtnQkFDSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztnQkFDNUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLFVBQVU7Z0JBQ3hFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcblxuICAgICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBSb290Q29uZmlnLmVudGl0aWVzLnJlcG9ydC50aXRsZVBsdXJhbCxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS8ke21vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuaWNvbixcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogOTAwMDAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_COLUMN_WIDGET = [\n {\n type: 'grid-row-layout',\n mode: 'view',\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'view',\n path: 'title',\n options: {\n //readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n }\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2NvbHVtbi5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSTdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4QjtJQUNsRTtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjt3QkFDdkIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLElBQUksRUFBRSxNQUFNO3dCQUNaLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTt3QkFDUCxnREFBZ0Q7eUJBQ2pEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCA6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIG1vZGU6ICd2aWV3JyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAyIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICAgICAgcGF0aDogJ3RpdGxlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgLy9yZWFkb25seTogICAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICBdLFxuICB9LFxuXTtcblxuLy8jZW5kcmVnaW9uICJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDataSetServiceImpl extends AXMDataSetService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.dataSet.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2RhdGEtc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLHdCQUcvQztDQUFHO0FBR0osTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUMxRDtRQUNFLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FIVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbCB9IGZyb20gJy4vZGF0YS1zZXQudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbFxuPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRGF0YVNldFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lfWApO1xuICB9XG59XG4iXX0=","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_FILTER_WIDGET = [\n {\n type: 'block-layout',\n mode: 'view',\n children: [\n // Enable/Disable Checkbox\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 1 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n defaultValue: true,\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n // Data Source Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'dataSource',\n options: {\n placeholder: 'Select Data Source',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"$root.dataSources\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var ds = context.eval('dataSource'); \n var columns = (ds && ds.columns) || []; \n context.set('availableFields', columns);\n context.set('columnName', null);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Field/Column Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'columnName',\n options: {\n placeholder: 'Select Field',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"availableFields\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"dataSource\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('columnName') }}\",\n action: `{{ \n var columnName = context.eval('columnName');\n var availableFields = context.eval('availableFields') || [];\n var column = availableFields.find(function(c) { return c.name === columnName; }) || {};\n var fieldType = column.type || 'string';\n \n // Determine widget type based on field type\n var widgetType = (function() {\n var t = (typeof fieldType === 'object' && fieldType !== null && 'name' in fieldType) ? fieldType.name : fieldType;\n return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' :\n t === 'number-editor' || t === 'number' ? 'number-filter' :\n t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' :\n t === 'select-editor' || t === 'select' ? 'select-filter' :\n t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' :\n t === 'color-editor' ? 'color-filter' : 'string-filter';\n })();\n \n context.set('widgetType', widgetType);\n context.set('fieldType', fieldType);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Logical Operator (And/Or)\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'logicOperator',\n defaultValue: 'and',\n options: {\n placeholder: 'Logic',\n dataSource: [\n { value: 'and', text: 'And' },\n { value: 'or', text: 'Or' }\n ],\n valueField: 'value',\n textField: 'text',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n },\n // Dynamic Filter Widget based on field type\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n // String Filter\n {\n type: 'string-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter filter value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ !context.eval(\"widgetType\") || context.eval(\"widgetType\") === \"string-filter\" }}',\n },\n },\n // Number Filter\n {\n type: 'number-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter number value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"number-filter\" }}',\n },\n },\n // DateTime Filter\n {\n type: 'datetime-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select date\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"datetime-filter\" }}',\n },\n },\n // Select Filter\n {\n type: 'select-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"select-filter\" }}',\n },\n },\n // Boolean Filter\n {\n type: 'boolean-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"boolean-filter\" }}',\n },\n },\n // Color Filter\n {\n type: 'color-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select color\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"color-filter\" }}',\n },\n },\n ],\n },\n ],\n options: {\n spacing: { margin: \"0px\", padding: \"8px\" }\n }\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2ZpbHRlci5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSzdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFxQjtJQUN6RDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFO1lBQ1IsMEJBQTBCO1lBQzFCO2dCQUNFLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsaUJBQWlCO3dCQUN2QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsU0FBUzt3QkFDZixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxFQUFFO29CQUNSO3dCQUNFLElBQUksRUFBRSxlQUFlO3dCQUNyQixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxvQkFBb0I7NEJBQ2pDLFVBQVUsRUFBRSxNQUFNOzRCQUNsQixTQUFTLEVBQUUsT0FBTzs0QkFDbEIsVUFB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QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsV0FBVyxFQUFFLGtGQUFrRjs0QkFDL0YsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHNEQUFzRDt5QkFDbkU7cUJBQ0Y7b0JBQ0QsaUJBQWlCO29CQUNqQjt3QkFDRSxJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHVEQUF1RDt5QkFDcEU7cUJBQ0Y7b0JBQ0QsZUFBZTtvQkFDZjt3QkFDRSxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxrRkFBa0Y7NEJBQy9GLFFBQVEsRUFBRSxnRUFBZ0U7NEJBQzFFLFVBQVUsRUFBRSxxREFBcUQ7eUJBQ2xFO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtTQUMzQztLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIDogQVhQV2lkZ2V0Tm9kZVtdID0gW1xuICB7XG4gICAgdHlwZTogJ2Jsb2NrLWxheW91dCcsXG4gICAgbW9kZTogJ3ZpZXcnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICAvLyBFbmFibGUvRGlzYWJsZSBDaGVja2JveFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAxIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIERhdGEgU291cmNlIFNlbGVjdG9yXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IERhdGEgU291cmNlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6ICd7eyBjb250ZXh0LmV2YWwoXCIkcm9vdC5kYXRhU291cmNlc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSAoZHMgJiYgZHMuY29sdW1ucykgfHwgW107IFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2F2YWlsYWJsZUZpZWxkcycsIGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2NvbHVtbk5hbWUnLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWx0ZXInLCBudWxsKTtcbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBGaWVsZC9Db2x1bW4gU2VsZWN0b3JcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMyB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdjb2x1bW5OYW1lJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgRmllbGQnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogJ3t7IGNvbnRleHQuZXZhbChcImF2YWlsYWJsZUZpZWxkc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJkYXRhU291cmNlXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2NvbHVtbk5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb250ZXh0LmV2YWwoJ2NvbHVtbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAgIHZhciBhdmFpbGFibGVGaWVsZHMgPSBjb250ZXh0LmV2YWwoJ2F2YWlsYWJsZUZpZWxkcycpIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbiA9IGF2YWlsYWJsZUZpZWxkcy5maW5kKGZ1bmN0aW9uKGMpIHsgcmV0dXJuIGMubmFtZSA9PT0gY29sdW1uTmFtZTsgfSkgfHwge307XG4gICAgICAgICAgICAgICAgICB2YXIgZmllbGRUeXBlID0gY29sdW1uLnR5cGUgfHwgJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZSB3aWRnZXQgdHlwZSBiYXNlZCBvbiBmaWVsZCB0eXBlXG4gICAgICAgICAgICAgICAgICB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAodHlwZW9mIGZpZWxkVHlwZSA9PT0gJ29iamVjdCcgJiYgZmllbGRUeXBlICE9PSBudWxsICYmICduYW1lJyBpbiBmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiBmaWVsZFR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdkYXRlLXRpbWUtZWRpdG9yJyB8fCB0ID09PSAnZGF0ZXRpbWUnIHx8IHQgPT09ICdkYXRlJyA/ICdkYXRldGltZS1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY29sb3ItZWRpdG9yJyA/ICdjb2xvci1maWx0ZXInIDogJ3N0cmluZy1maWx0ZXInO1xuICAgICAgICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWVsZFR5cGUnLCBmaWVsZFR5cGUpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2ZpbHRlcicsIG51bGwpO1xuICAgICAgICAgICAgICAgIH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIExvZ2ljYWwgT3BlcmF0b3IgKEFuZC9PcilcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMiB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdsb2dpY09wZXJhdG9yJyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2FuZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnTG9naWMnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2FuZCcsIHRleHQ6ICdBbmQnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ29yJywgdGV4dDogJ09yJyB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBEeW5hbWljIEZpbHRlciBXaWRnZXQgYmFzZWQgb24gZmllbGQgdHlwZVxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgLy8gU3RyaW5nIEZpbHRlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmctZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiRW50ZXIgZmlsdGVyIHZhbHVlXCIgOiBcIkZpbHRlciBpcyBkaXNhYmxlZFwiIH19JyxcbiAgICAgICAgICAgICAgcmVhZG9ubHk6ICd7eyAhY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgfHwgIWNvbnRleHQuZXZhbChcImNvbHVtbk5hbWVcIikgfX0nLFxuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAne3sgIWNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgfHwgY29udGV4dC5ldmFsKFwid2lkZ2V0VHlwZVwiKSA9PT0gXCJzdHJpbmctZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE51bWJlciBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIkVudGVyIG51bWJlciB2YWx1ZVwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwibnVtYmVyLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBEYXRlVGltZSBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZGF0ZXRpbWUtZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiU2VsZWN0IGRhdGVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcImRhdGV0aW1lLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBTZWxlY3QgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ3NlbGVjdC1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAne3sgKGNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpID8/IHRydWUpID8gXCJTZWxlY3QgdmFsdWVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcInNlbGVjdC1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQm9vbGVhbiBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbi1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiYm9vbGVhbi1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQ29sb3IgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NvbG9yLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIlNlbGVjdCBjb2xvclwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiY29sb3ItZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHNwYWNpbmc6IHsgbWFyZ2luOiBcIjBweFwiLCBwYWRkaW5nOiBcIjhweFwiIH1cbiAgICB9XG4gIH0sXG5dO1xuXG4vLyNlbmRyZWdpb24gIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_SORT_WIDGET = [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n dataSource: [\n {\n value: 'asc',\n text: 'Ascendent'\n },\n {\n value: 'desc',\n text: 'Desiccate'\n },\n {\n value: 'none',\n text: 'None'\n },\n ],\n textField: 'text',\n valueField: 'value',\n },\n },\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kYXRhLXNldC9zb3J0LmRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2Q0FBNkM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQTZCO0lBQy9EO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsS0FBSyxFQUFFLEtBQUs7NEJBQ1osSUFBSSxFQUFFLFdBQVc7eUJBQ2xCO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLElBQUksRUFBRSxXQUFXO3lCQUNsQjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsTUFBTTs0QkFDYixJQUFJLEVBQUUsTUFBTTt5QkFDYjtxQkFDRjtvQkFDRCxTQUFTLEVBQUUsTUFBTTtvQkFDakIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQ6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBtb2RlOiAndmlldycsXG4gICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3NlbGVjdC1lZGl0b3InLFxuICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgIHBhdGg6ICdlbmFibGVkJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdhc2MnLFxuICAgICAgICAgICAgICB0ZXh0OiAnQXNjZW5kZW50J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdkZXNjJywgXG4gICAgICAgICAgICAgIHRleHQ6ICdEZXNpY2NhdGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ25vbmUnLCBcbiAgICAgICAgICAgICAgdGV4dDogJ05vbmUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8vI2VuZHJlZ2lvbiAiXX0=","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXMDataSourceService } from '@acorex/modules/data-management';\nimport { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../const';\nimport { AXM_DATASET_COLUMN_WIDGET } from './column.def';\nimport { AXMDataSetService } from './data-set.service';\nimport { AXM_DATASET_FILTER_WIDGET } from './filter.def';\nimport { AXM_DATASET_SORT_WIDGET } from './sort.def';\nexport async function dataSetFactory(injector) {\n const dataService = injector.get(AXMDataSetService);\n const i18n = RootConfig.config.i18n;\n const translationService = injector.get(AXTranslationService);\n const dataSourceService = injector.get(AXMDataSourceService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.dataSet.name,\n source: '',\n title: RootConfig.entities.dataSet.title,\n formats: {\n individual: RootConfig.entities.dataSet.title,\n plural: RootConfig.entities.dataSet.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'dataSet',\n title: RootConfig.entities.dataSet.title,\n },\n {\n id: 'filters',\n title: `t(\"advance\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'categoryIds',\n title: 't(\"category\", { scope: \"common\" })',\n groupId: 'dataSet',\n schema: {\n defaultValue: '{{ [context.eval(\"categoryId\")] }}',\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n multiple: true,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'dataSource',\n title: `t(\"dataSource\", { scope: \"${i18n}\" })`,\n groupId: 'dataSet',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: new AXDataSource({\n load: async () => {\n const items = await dataSourceService.query({\n skip: 0,\n take: 10000,\n });\n const translated = await Promise.all(items.items.map(async (item) => ({\n ...item,\n title: await translationService.translateAsync(item.title),\n })));\n return { total: translated.length, items: translated };\n },\n pageSize: 1000,\n }),\n multiple: false,\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ var ds = context.eval('dataSource'); var list = []; Array.isArray(ds.filters) ? (function(){ for(var i=0;i<ds.filters.length;i++){ var item = ds.filters[i]; !item.isSystemFilter ? (function(){ var fl = item.filter; var column = (ds.columns || []).find(function(c){return c.name === fl.columnName;}) || {}; var widgetType = (function(){ var t = column.type || 'string'; t = (typeof t === 'object' && t !== null && 'name' in t) ? t.name : t; return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' : t === 'number-editor' || t === 'number' ? 'number-filter' : t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' : t === 'select-editor' || t === 'select' ? 'select-filter' : t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' : t === 'color-editor' ? 'color-filter' : 'string-filter'; })(); var copy = { columnName: fl.columnName, isRequired: false, enabled: true, filter: { columnName: fl.columnName, value: fl.value }, widgetType: widgetType }; list.push(copy); })() : null; } })() : null; context.set('filters', list); }}`,\n },\n ],\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'filters',\n title: `t(\"filters\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n path: 'filters',\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_FILTER_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var selectedDataSource = context.eval('dataSource');\n if (selectedDataSource) {\n context.set('dataSources', [selectedDataSource]);\n }\n }}`,\n },\n ],\n },\n },\n },\n {\n name: 'columns',\n title: `t(\"columns\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_COLUMN_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ context.set('columns', context.eval('dataSource').columns); }}`,\n },\n ],\n },\n },\n },\n {\n name: 'sorts',\n title: `t(\"sorts\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_SORT_WIDGET,\n // triggers: [\n // {\n // event: \"{{ events.context('dataSource') }}\",\n // action: `{{ context.set('sorts', context.eval('dataSource').columns); }}`,\n // },\n // ],\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'dataSource' }],\n commands: {\n create: {\n execute: async (data) => {\n console.log(data);\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n {\n name: 'columns',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'sorts',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'dataSet',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'categoryIds',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 4,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxH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NEJBQ3pDLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixRQUFRLEVBQUUsV0FBVzs0QkFDckIsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7eUJBQ3hDO3FCQUNGO29CQUNELEtBQUssRUFBRTt3QkFDTCxrQkFBa0IsQ0FBQzs0QkFDakIsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWE1EYXRhU291cmNlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9kYXRhLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCB9IGZyb20gJy4vY29sdW1uLmRlZic7XG5pbXBvcnQgeyBBWE1EYXRhU2V0U2VydmljZSB9IGZyb20gJy4vZGF0YS1zZXQuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIH0gZnJvbSAnLi9maWx0ZXIuZGVmJztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX1NPUlRfV0lER0VUIH0gZnJvbSAnLi9zb3J0LmRlZic7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkYXRhU2V0RmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgY29uc3QgZGF0YVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRGF0YVNldFNlcnZpY2UpO1xuICBjb25zdCBpMThuID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcbiAgY29uc3QgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgY29uc3QgZGF0YVNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRGF0YVNvdXJjZVNlcnZpY2UpO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICBuYW1lOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQubmFtZSxcbiAgICBzb3VyY2U6ICcnLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kYXRhU2V0LnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGVQbHVyYWwsXG4gICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBSb290Q29uZmlnLm1vZHVsZS50aXRsZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZWxhdGVkRW50aXRpZXM6IFtdLFxuICAgIGdyb3VwczogW1xuICAgICAge1xuICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kYXRhU2V0LnRpdGxlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiYWR2YW5jZVwiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiBgdChcIm5hbWVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmxpbmU6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICB0aXRsZTogYHQoXCJ0aXRsZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgYWR2YW5jZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgIHRpdGxlOiAndChcImNhdGVnb3J5XCIsIHsgc2NvcGU6IFwiY29tbW9uXCIgfSknLFxuICAgICAgICBncm91cElkOiAnZGF0YVNldCcsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7IFtjb250ZXh0LmV2YWwoXCJjYXRlZ29yeUlkXCIpXSB9fScsXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubG9va3VwLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5jYXRlZ29yeS5uYW1lfWAsXG4gICAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57aWR9JyB9LFxuICAgICAgICAgICAgICAgIHsgc291cmNlOiAndGl0bGUnLCB0YXJnZXQ6ICdjYXRlZ29yaWVzLnt0aXRsZX0nIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICB0aXRsZTogYHQoXCJkYXRhU291cmNlXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5zZWxlY3QsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBuZXcgQVhEYXRhU291cmNlKHtcbiAgICAgICAgICAgICAgICBsb2FkOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGRhdGFTb3VyY2VTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgICAgICAgICAgICAgc2tpcDogMCxcbiAgICAgICAgICAgICAgICAgICAgdGFrZTogMTAwMDAsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMuaXRlbXMubWFwKGFzeW5jIChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGl0ZW0udGl0bGUpLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgdG90YWw6IHRyYW5zbGF0ZWQubGVuZ3RoLCBpdGVtczogdHJhbnNsYXRlZCB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IDEwMDAsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInt7IGV2ZW50cy5jb250ZXh0KCdkYXRhU291cmNlJykgfX1cIixcbiAgICAgICAgICAgICAgICBhY3Rpb246IGB7eyB2YXIgZHMgPSBjb250ZXh0LmV2YWwoJ2RhdGFTb3VyY2UnKTsgdmFyIGxpc3QgPSBbXTsgQXJyYXkuaXNBcnJheShkcy5maWx0ZXJzKSA/IChmdW5jdGlvbigpeyBmb3IodmFyIGk9MDtpPGRzLmZpbHRlcnMubGVuZ3RoO2krKyl7IHZhciBpdGVtID0gZHMuZmlsdGVyc1tpXTsgIWl0ZW0uaXNTeXN0ZW1GaWx0ZXIgPyAoZnVuY3Rpb24oKXsgdmFyIGZsID0gaXRlbS5maWx0ZXI7IHZhciBjb2x1bW4gPSAoZHMuY29sdW1ucyB8fCBbXSkuZmluZChmdW5jdGlvbihjKXtyZXR1cm4gYy5uYW1lID09PSBmbC5jb2x1bW5OYW1lO30pIHx8IHt9OyB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpeyB2YXIgdCA9IGNvbHVtbi50eXBlIHx8ICdzdHJpbmcnOyB0ID0gKHR5cGVvZiB0ID09PSAnb2JqZWN0JyAmJiB0ICE9PSBudWxsICYmICduYW1lJyBpbiB0KSA/IHQubmFtZSA6IHQ7IHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOiB0ID09PSAnbnVtYmVyLWVkaXRvcicgfHwgdCA9PT0gJ251bWJlcicgPyAnbnVtYmVyLWZpbHRlcicgOiB0ID09PSAnZGF0ZS10aW1lLWVkaXRvcicgfHwgdCA9PT0gJ2RhdGV0aW1lJyB8fCB0ID09PSAnZGF0ZScgPyAnZGF0ZXRpbWUtZmlsdGVyJyA6IHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6IHQgPT09ICdjaGVja2JveC1lZGl0b3InIHx8IHQgPT09ICd0b2dnbGUtZWRpdG9yJyB8fCB0ID09PSAnYm9vbGVhbicgPyAnYm9vbGVhbi1maWx0ZXInIDogdCA9PT0gJ2NvbG9yLWVkaXRvcicgPyAnY29sb3ItZmlsdGVyJyA6ICdzdHJpbmctZmlsdGVyJzsgfSkoKTsgdmFyIGNvcHkgPSB7IGNvbHVtbk5hbWU6IGZsLmNvbHVtbk5hbWUsIGlzUmVxdWlyZWQ6IGZhbHNlLCBlbmFibGVkOiB0cnVlLCBmaWx0ZXI6IHsgY29sdW1uTmFtZTogZmwuY29sdW1uTmFtZSwgdmFsdWU6IGZsLnZhbHVlIH0sIHdpZGdldFR5cGU6IHdpZGdldFR5cGUgfTsgbGlzdC5wdXNoKGNvcHkpOyB9KSgpIDogbnVsbDsgfSB9KSgpIDogbnVsbDsgY29udGV4dC5zZXQoJ2ZpbHRlcnMnLCBsaXN0KTsgfX1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZmlsdGVyc1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgaGFzQ29udHJvbHM6IGZhbHNlLFxuICAgICAgICAgICAgICBpc0RyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogQVhNX0RBVEFTRVRfRklMVEVSX1dJREdFVCBhcyBhbnksXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRGF0YVNvdXJjZSA9IGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpO1xuICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldCgnZGF0YVNvdXJjZXMnLCBbc2VsZWN0ZWREYXRhU291cmNlXSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NvbHVtbnMnLFxuICAgICAgICB0aXRsZTogYHQoXCJjb2x1bW5zXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2ZpbHRlcnMnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IFtdLFxuICAgICAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJlcGVhdGVyTGF5b3V0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9DT0xVTU5fV0lER0VULFxuICAgICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInt7IGV2ZW50cy5jb250ZXh0KCdkYXRhU291cmNlJykgfX1cIixcbiAgICAgICAgICAgICAgICBhY3Rpb246IGB7eyBjb250ZXh0LnNldCgnY29sdW1ucycsIGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpLmNvbHVtbnMpOyB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc29ydHMnLFxuICAgICAgICB0aXRsZTogYHQoXCJzb3J0c1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgaGFzQ29udHJvbHM6IGZhbHNlLFxuICAgICAgICAgICAgICBpc0RyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogQVhNX0RBVEFTRVRfU09SVF9XSURHRVQsXG4gICAgICAgICAgICAvLyB0cmlnZ2VyczogW1xuICAgICAgICAgICAgLy8gICB7XG4gICAgICAgICAgICAvLyAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgLy8gICAgIGFjdGlvbjogYHt7IGNvbnRleHQuc2V0KCdzb3J0cycsIGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpLmNvbHVtbnMpOyB9fWAsXG4gICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAvLyBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW3sgbmFtZTogJ25hbWUnIH0sIHsgbmFtZTogJ3RpdGxlJyB9LCB7IG5hbWU6ICdkYXRhU291cmNlJyB9XSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcblxuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZmlsdGVycycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjb2x1bW5zJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdzb3J0cycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3t0aXRsZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZmlsdGVycycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogYHQoXCJjcmVhdGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdjcmVhdGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2NyZWF0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICd0KFwiZGVsZXRlSXRlbXNcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZXRhaWxcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZWxldGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICBjcmVhdGVBbGxRdWVyeVZpZXcoe1xuICAgICAgICAgICAgICBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMReportDefinitionServiceImpl extends AXMReportDefinitionService {\n constructor() {\n super('report-definition');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL3JlcG9ydC1kZWZpbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSx3QkFHeEQ7Q0FBSTtBQUdMLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFDMUU7UUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQUhRLDhCQUE4QjtrSEFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuLi9yZXBvcnRzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICAgIHN0cmluZyxcbiAgICBBWFBSZXBvcnREZWZpbml0aW9uXG4+IHsgfVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0RGVmaW5pdGlvblNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNUmVwb3J0RGVmaW5pdGlvblNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigncmVwb3J0LWRlZmluaXRpb24nKTtcbiAgICB9XG59ICJdfQ==","import { NgModule } from '@angular/core';\nimport { AXMDataSetService, AXMDataSetServiceImpl } from './data-set.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBYTlFLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsYUFQdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUscUJBQXFCO2FBQ2hDO1NBQ0Y7OzJGQUVVLHNCQUFzQjtrQkFYbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxxQkFBcUI7eUJBQ2hDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTURhdGFTZXRTZXJ2aWNlLCBBWE1EYXRhU2V0U2VydmljZUltcGwgfSBmcm9tICcuL2RhdGEtc2V0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTURhdGFTZXRTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYTURhdGFTZXRTZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1EYXRhU2V0RW50aXR5TW9kdWxlIHt9XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXMReportDefinitionService, AXMReportDefinitionServiceImpl } from './report-definition.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, providers: [\n {\n provide: AXMReportDefinitionService,\n useClass: AXMReportDefinitionServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMReportDefinitionService,\n useClass: AXMReportDefinitionServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvcmVwb3J0LWRlZmluaXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBYXpHLE1BQU0sT0FBTywrQkFBK0I7OEdBQS9CLCtCQUErQjsrR0FBL0IsK0JBQStCOytHQUEvQiwrQkFBK0IsYUFQL0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsOEJBQThCO2FBQ3pDO1NBQ0Y7OzJGQUVVLCtCQUErQjtrQkFYM0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFFBQVEsRUFBRSw4QkFBOEI7eUJBQ3pDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlLCBBWE1SZXBvcnREZWZpbml0aW9uU2VydmljZUltcGwgfSBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnREZWZpbml0aW9uRW50aXR5TW9kdWxlIHt9XG4iXX0=","// Entity Services\nexport * from './data-set';\nexport * from './report-definition.service';\n// Entity Modules\nexport * from './data-set/data-set.module';\nexport * from './report-definition.module';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxpQkFBaUI7QUFDakIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRW50aXR5IFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LWRlZmluaXRpb24uc2VydmljZSc7XG5cbi8vIEVudGl0eSBNb2R1bGVzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc2V0L2RhdGEtc2V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLm1vZHVsZSc7XG4iXX0=","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMColumnEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('dataSource', {\n getColumn: async (columnName, columns) => {\n const column = columns.find(c => c.name === columnName);\n return column;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sK0JBQStCO0lBQTVDO1FBRWMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFZbkQsQ0FBQztJQVZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDM0IsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLE9BQTJDLEVBQUUsRUFBRTtnQkFDakYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUM7U0FFSixDQUFDLENBQUE7SUFDTixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRGF0YVNvdXJjZURhdGFGaWVsZERlZmluaXRpb24sIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRhU291cmNlJywge1xuICAgICAgICAgICAgZ2V0Q29sdW1uOiBhc3luYyAoY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5zOiBBWFBEYXRhU291cmNlRGF0YUZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBjb2x1bW5OYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgfVxuXG59Il19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMReportCreateRootWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n // const refId = context.getVariable<string>('options.refId');\n const comp = await import('./report-create-root/report-create-root.component').then(m => m.AXPReportCreateRootComponent);\n this.popupService.open(comp, await this.translationService.translateAsync('report.create.title', { scope: 'report-management' }));\n }\n}\nexport const AXMReportCreateWorkflow = {\n startStepId: 'report-create-root',\n steps: {\n 'report-create-root': {\n action: 'AXMReportCreateRootWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n // modifyConfirmed: {\n // id: 'modifyConfirmed',\n // action: 'AXPEntityModifyConfirmedAction',\n // },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNyZWF0ZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUF4RTs7UUFDVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVE1RCxDQUFDO0lBTlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNsRCwrREFBK0Q7UUFFOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRTtRQUNMLG9CQUFvQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsOENBQThDO1FBQzlDLEtBQUs7S0FDTjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuXG4gICBjb25zdCBjb21wID0gYXdhaXQgaW1wb3J0KCcuL3JlcG9ydC1jcmVhdGUtcm9vdC9yZXBvcnQtY3JlYXRlLXJvb3QuY29tcG9uZW50JykudGhlbihtID0+IG0uQVhQUmVwb3J0Q3JlYXRlUm9vdENvbXBvbmVudCk7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygncmVwb3J0LmNyZWF0ZS50aXRsZScsIHsgc2NvcGU6ICdyZXBvcnQtbWFuYWdlbWVudCcgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1SZXBvcnRDcmVhdGVXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAncmVwb3J0LWNyZWF0ZS1yb290JyxcbiAgc3RlcHM6IHtcbiAgICAncmVwb3J0LWNyZWF0ZS1yb290Jzoge1xuICAgICAgYWN0aW9uOiAnQVhNUmVwb3J0Q3JlYXRlUm9vdFdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInVubG9ja2VkXCIpID09IHRydWUnIH1dLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHN1Y2Nlc3NUb2FzdDoge1xuICAgICAgaWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtdGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLWJvZHknLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gbW9kaWZ5Q29uZmlybWVkOiB7XG4gICAgLy8gICBpZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgLy8gICBhY3Rpb246ICdBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24nLFxuICAgIC8vIH0sXG4gIH0sXG59OyAiXX0=","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPDomainModule, provideEntity } from '@acorex/platform/domain';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { RootConfig } from './const';\nimport { AXM_REPORT_CATEGORY_PROVIDER, AXM_REPORT_DEFINITION_PROVIDER, } from './features/report-runner/reports.provider';\nimport { AXMMenuProvider } from './menu.provider';\n// Entity Modules\nimport { AXMDataSetEntityModule, AXMReportDefinitionEntityModule, } from './entities';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMColumnEvaluatorScopeProvider } from './features/data-llist/column-evaluator-scope.provider';\nimport { AXMReportCreateRootWorkflowAction, AXMReportCreateWorkflow, } from './features/report/create/report-create.workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nfunction routesFacory() {\n let routes = [\n {\n path: `:app/${RootConfig.module.route}/viewer`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: ':reportId',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n {\n path: '',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n ],\n },\n {\n path: `:app/${RootConfig.module.route}/reports`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: '**',\n loadComponent: () => import('./features/report-runner/report-runner-root-page/report-runner-root-page.component').then((c) => c.AXMReportRunnerRootPageComponent),\n data: { reuse: true },\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMReportManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, imports: [AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule, i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, providers: [\n // Removed individual entity service provider - now provided by entity modules\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n // Removed individual entity service provider - now provided by entity modules\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw4QkFBOEIsR0FDL0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsK0JBQStCLEdBQ2hDLE1BQU0sWUFBWSxDQUFDO0FBa0RwQixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLHVCQUF1QixHQUN4QixNQUFNLGlEQUFpRCxDQUFDOzs7QUF0RHpELFNBQVMsWUFBWTtJQUNuQixJQUFJLE1BQU0s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UixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsK0JBQStCO3dCQUMvQixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCxpQ0FBaUM7NkJBQ2xDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1QsOEVBQThFO3dCQUM5RSw4QkFBOEI7d0JBQzlCLDRCQUE0Qjt3QkFDNUI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLGVBQWU7NEJBQ3pCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELElBQUk7d0JBQ0osb0NBQW9DO3dCQUNwQyx5Q0FBeUM7d0JBQ3pDLG1CQUFtQjt3QkFDbkIsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLCtDQUErQzt3QkFDL0MsbURBQW1EO3dCQUNuRCxtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0w7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLFlBQVk7eUJBQ3pCO3dCQUVELGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDM0Y7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBdXRoR3VhcmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBEb21haW5Nb2R1bGUsIHByb3ZpZGVFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2RvbWFpbic7XG5pbXBvcnQgeyBBWFBSb290TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHtcbiAgQVhNX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxufSBmcm9tICcuL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuXG4vLyBFbnRpdHkgTW9kdWxlc1xuaW1wb3J0IHtcbiAgQVhNRGF0YVNldEVudGl0eU1vZHVsZSxcbiAgQVhNUmVwb3J0RGVmaW5pdGlvbkVudGl0eU1vZHVsZSxcbn0gZnJvbSAnLi9lbnRpdGllcyc7XG5cbmZ1bmN0aW9uIHJvdXRlc0ZhY29yeSgpIHtcbiAgbGV0IHJvdXRlczogUm91dGVzID0gW1xuICAgIHtcbiAgICAgIHBhdGg6IGA6YXBwLyR7Um9vdENvbmZpZy5tb2R1bGUucm91dGV9L3ZpZXdlcmAsXG4gICAgICBjYW5BY3RpdmF0ZTogW0FYUEF1dGhHdWFyZF0sXG4gICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBBWFBSb290TGF5b3V0Q29tcG9uZW50O1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnOnJlcG9ydElkJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogYDphcHAvJHtSb290Q29uZmlnLm1vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICBjYW5BY3RpdmF0ZTogW0FYUEF1dGhHdWFyZF0sXG4gICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBBWFBSb290TGF5b3V0Q29tcG9uZW50O1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnKionLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXJ1bm5lci9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWE1SZXBvcnRSdW5uZXJSb290UGFnZUNvbXBvbmVudCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgZGF0YTogeyByZXVzZTogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xuICByZXR1cm4gcm91dGVzO1xufVxuXG5pbXBvcnQgeyBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYTUNvbHVtbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQge1xuICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gIEFYTVJlcG9ydENyZWF0ZVdvcmtmbG93LFxufSBmcm9tICcuL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBEb21haW5Nb2R1bGUsXG4gICAgLy8gRW50aXR5IE1vZHVsZXNcbiAgICBBWE1EYXRhU2V0RW50aXR5TW9kdWxlLFxuICAgIEFYTVJlcG9ydERlZmluaXRpb25FbnRpdHlNb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdyZXBvcnQtY3JlYXRlJzogQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gUmVtb3ZlZCBpbmRpdmlkdWFsIGVudGl0eSBzZXJ2aWNlIHByb3ZpZGVyIC0gbm93IHByb3ZpZGVkIGJ5IGVudGl0eSBtb2R1bGVzXG4gICAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfUFJPVklERVIsXG4gICAgLy8gICAgIHVzZUNsYXNzOiBBWFBSZXBvcnRTZWFyY2hQcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAvLyAgICAgdXNlQ2xhc3M6IEFYUFJlcG9ydFNlYXJjaERlZmluaXRpb25Qcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuXG4gICAgcHJvdmlkZUVudGl0eShbUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuZnVsbE5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkuZnVsbE5hbWVdKSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydE1hbmFnZW1lbnRNb2R1bGUgeyB9XG4iXX0=","import { AXPReportDefinitionService, } from \"../../reports\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPCommandService } from \"@acorex/platform/runtime\";\nexport const AXPReportViewerViewModel = signalStore(withState(() => ({\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n categoriesPath: [],\n allowFetchData: false,\n shouldExecuteReport: false,\n lastAppliedFilterContext: null, // Track last applied filters\n hasBeenExecuted: false, // Track if report has been executed at least once\n status: AXPPageStatus.Idle,\n error: null,\n})), withComputed((store) => ({\n //#region ---- Layout Management ----\n availableLayouts: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts)\n return [];\n return report.layouts.map((layout) => ({\n id: layout.id,\n title: layout.title,\n icon: layout.icon,\n type: layout.layout.type\n }));\n }),\n defaultLayout: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts?.length)\n return null;\n // Find layout marked as default, or use first layout\n return report.layouts.find((l) => l.isDefault) || report.layouts[0];\n }),\n activeLayoutId: computed(() => store.currentLayout()?.id || null),\n layoutType: computed(() => store.currentLayout()?.layout?.type || null),\n //#endregion\n //#region ---- Layout-Specific Configurations ----\n tableLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table'\n ? layout.layout\n : null;\n }),\n chartLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'chart'\n ? layout.layout\n : null;\n }),\n //#endregion\n //#region ---- State Indicators ----\n isLoading: computed(() => store.status() === AXPPageStatus.Processing),\n isExecuting: computed(() => store.status() === AXPPageStatus.Submitting),\n hasError: computed(() => store.error() !== null),\n hasMultipleLayouts: computed(() => {\n const report = store.reportDefinition();\n return (report?.layouts?.length ?? 0) > 1;\n }),\n title: computed(() => store.reportDefinition()?.title ?? 'Report Viewer'),\n description: computed(() => store.reportDefinition()?.description ?? null),\n //#endregion\n //#region ---- Form Configuration ----\n formDefinition: computed(() => {\n const report = store.reportDefinition();\n if (!report || !report.parameterGroups) {\n return { groups: [] };\n }\n return {\n groups: report.parameterGroups.map((group) => ({\n name: group.name,\n title: group.title,\n description: group.description,\n parameters: group.parameters.map((param) => ({\n path: param.path,\n title: param.title,\n description: param.description,\n widget: {\n ...param.widget,\n options: {\n ...param.widget.options,\n clearButton: true,\n hasClearButton: true\n }\n }\n }))\n }))\n };\n }),\n //#endregion\n //#region ---- Layout Type Detection ----\n isTableLayout: computed(() => store.currentLayout()?.layout?.type === 'table'),\n isChartLayout: computed(() => store.currentLayout()?.layout?.type === 'chart'),\n //#endregion\n //#region ---- Filter States ----\n hasUnappliedFilters: computed(() => {\n const currentContext = store.filterContext();\n const lastApplied = store.lastAppliedFilterContext();\n const hasBeenExecuted = store.hasBeenExecuted();\n // If report has never been executed, don't show unapplied filters warning\n if (!hasBeenExecuted) {\n return false;\n }\n // If no filters have been applied yet, return true\n if (lastApplied === null) {\n return true;\n }\n // Check if current filters are different from last applied filters\n const currentKeys = Object.keys(currentContext);\n const lastKeys = Object.keys(lastApplied);\n if (currentKeys.length !== lastKeys.length) {\n return true;\n }\n // Check if any values are different\n for (const key of currentKeys) {\n if (currentContext[key] !== lastApplied[key]) {\n return true;\n }\n }\n return false;\n }),\n //#endregion\n //#region ---- Action States ----\n canExecute: computed(() => store.reportDefinition() !== null &&\n store.currentLayout() !== null &&\n store.status() !== AXPPageStatus.Processing &&\n store.status() !== AXPPageStatus.Submitting),\n canSwitchLayout: computed(() => (store.reportDefinition()?.layouts?.length ?? 0) > 1 &&\n store.status() !== AXPPageStatus.Submitting),\n canSelectRows: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table' &&\n layout.layout.options?.selectable?.mode &&\n layout.layout.options?.selectable?.mode !== 'none';\n }),\n //#endregion\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => {\n const executeReport = async () => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n patchState(store, {\n error: 'Report or layout not found',\n });\n return;\n }\n patchState(store, {\n status: AXPPageStatus.Submitting,\n error: null,\n allowFetchData: true,\n shouldExecuteReport: true,\n lastAppliedFilterContext: { ...store.filterContext() }, // Mark current filters as applied\n hasBeenExecuted: true // Mark that report has been executed at least once\n });\n patchState(store, {\n status: AXPPageStatus.Submitted,\n error: null\n });\n };\n const fetchData = async (parameters = {}) => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n return null;\n }\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n // Create execution context - ensure dataSource is provided\n const dataSource = layout.dataSource || {\n type: 'query',\n name: 'getEmployeeList'\n };\n const context = {\n reportId: report.id,\n layoutId: layout.id,\n dataSource: dataSource,\n parameters: {\n ...store.filterContext(),\n ...parameters\n }\n };\n return await commandService.execute('ReportManagement.Report:Execute', context);\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to execute report',\n });\n console.error('Error executing report:', error);\n return null;\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n };\n return {\n //#region ---- Report Loading ----\n async loadReport(reportId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n const report = await reportDefinitionService.getReportById(reportId);\n if (report) {\n console.log('report', report);\n // Configure parameter widgets with proper paths\n report.parameterGroups.forEach(group => {\n group.parameters.forEach(param => {\n param.widget.path = param.path;\n });\n });\n // Load categories path for breadcrumbs\n const categoriesPath = await reportDefinitionService.getCategoriesPathByReportId(reportId);\n // Set default layout\n const defaultLayout = report.layouts.find((l) => l.isDefault) || report.layouts[0];\n patchState(store, {\n reportDefinition: report,\n currentLayout: defaultLayout,\n categoriesPath: categoriesPath || [],\n filterContext: {}, // Reset context when loading new report\n allowFetchData: false,\n hasBeenExecuted: false, // Reset execution state for new report\n });\n }\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to load report definition'\n });\n console.error('Error loading report:', error);\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n },\n //#endregion\n //#region ---- Layout Management ----\n switchLayout(layoutId) {\n const report = store.reportDefinition();\n if (!report)\n return;\n const layout = report.layouts.find((l) => l.id === layoutId);\n if (layout) {\n patchState(store, {\n currentLayout: layout,\n });\n }\n },\n //#endregion\n //#region ---- Data Execution ----\n executeReport,\n fetchData,\n //#endregion\n //#region ---- Filter Management ----\n updateFilterContext(context) {\n patchState(store, {\n filterContext: { ...store.filterContext(), ...context },\n shouldExecuteReport: false, // Reset execution flag when filters change\n });\n },\n clearFilters() {\n patchState(store, {\n allowFetchData: false,\n shouldExecuteReport: false,\n filterContext: {},\n lastAppliedFilterContext: null, // Reset applied filters when clearing\n hasBeenExecuted: false, // Reset execution state when clearing filters\n });\n },\n resetFilters() {\n patchState(store, {\n allowFetchData: false\n });\n },\n //#endregion\n //#region ---- Export Management ----\n async exportReport(format) {\n const layout = store.currentLayout();\n if (!layout?.export) {\n console.warn('Export not configured for current layout');\n return;\n }\n try {\n // Export logic would go here\n // This would typically call a different command for export\n console.log(`Exporting report in ${format} format`);\n }\n catch (error) {\n console.error('Error exporting report:', error);\n }\n },\n //#endregion\n //#region ---- Utility Methods ----\n refresh() {\n return executeReport();\n },\n clearError() {\n patchState(store, {\n error: null\n });\n },\n reset() {\n patchState(store, {\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n allowFetchData: false,\n shouldExecuteReport: false,\n lastAppliedFilterContext: null,\n hasBeenExecuted: false,\n categoriesPath: [],\n status: AXPPageStatus.Idle,\n error: null,\n });\n }\n //#endregion\n };\n}), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n // Subscribe to language and locale changes\n translationService.langChanges$.subscribe(() => {\n // Handle language change if needed\n });\n localeService.profileChanged$.subscribe(() => {\n // Handle locale change if needed \n });\n },\n onDestroy() {\n // Cleanup if needed\n }\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCwwQkFBMEIsR0FTM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUNqRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNmLGdCQUFnQixFQUFFLElBQWtDO0lBQ3BELGFBQWEsRUFBRSxJQUF3QztJQUN2RCxhQUFhLEVBQUUsRUFBb0I7SUFDbkMsY0FBYyxFQUFFLEVBQVc7SUFDM0IsY0FBYyxFQUFFLEtBQUs7SUFDckIsbUJBQW1CLEVBQUUsS0FBSztJQUMxQix3QkFBd0IsRUFBRSxJQUE2QixFQUFFLDZCQUE2QjtJQUN0RixlQUFlLEVBQUUsS0FBSyxFQUFFLGtEQUFrRDtJQUMxRSxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUk7SUFDMUIsS0FBSyxFQUFFLElB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Y0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxhQUFhLENBQUMsSUFBSTtnQkFDMUIsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsWUFBWTtLQUNiLENBQUM7QUFDSixDQUFDLENBQ0YsRUFFRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQ2Qsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQ2pELGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQ3ZDLEVBQUUsQ0FBQyxDQUFDO0lBQ0osS0FBSyxDQUFDLE1BQU07UUFDViwyQ0FBMkM7UUFDM0Msa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsbUNBQW1DO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNDLG1DQUFtQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTO1FBQ1Asb0JBQW9CO0lBQ3RCLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhQUmVwb3J0RGVmaW5pdGlvbixcbiAgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UsXG4gIEFYUFJlcG9ydExheW91dERlZmluaXRpb24sXG4gIEFYUExheW91dFN3aXRjaGVyT3B0aW9uLFxuICBBWFBMYXlvdXRFeGVjdXRpb25Db250ZXh0LFxuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0LFxuICBBWFBSZXBvcnRDaGFydExheW91dCxcbiAgQVhQUmVwb3J0VGFibGVMYXlvdXQsXG4gIEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwLFxuICBBWFBSZXBvcnRQYXJhbWV0ZXIsXG59IGZyb20gXCIuLi8uLi9yZXBvcnRzXCI7XG5pbXBvcnQgeyBBWFBQYWdlU3RhdHVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbiB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoTWV0aG9kcywgd2l0aENvbXB1dGVkLCB3aXRoU3RhdGUsIHdpdGhIb29rcywgcGF0Y2hTdGF0ZSB9IGZyb20gXCJAbmdyeC9zaWduYWxzXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbG9jYWxlXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWVcIjtcbmltcG9ydCB7IEFYUENvbnRleHREYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsID0gc2lnbmFsU3RvcmUoXG4gIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgIHJlcG9ydERlZmluaXRpb246IG51bGwgYXMgQVhQUmVwb3J0RGVmaW5pdGlvbiB8IG51bGwsXG4gICAgY3VycmVudExheW91dDogbnVsbCBhcyBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uIHwgbnVsbCxcbiAgICBmaWx0ZXJDb250ZXh0OiB7fSBhcyBBWFBDb250ZXh0RGF0YSxcbiAgICBjYXRlZ29yaWVzUGF0aDogW10gYXMgYW55W10sXG4gICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgIHNob3VsZEV4ZWN1dGVSZXBvcnQ6IGZhbHNlLFxuICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCBhcyBBWFBDb250ZXh0RGF0YSB8IG51bGwsIC8vIFRyYWNrIGxhc3QgYXBwbGllZCBmaWx0ZXJzXG4gICAgaGFzQmVlbkV4ZWN1dGVkOiBmYWxzZSwgLy8gVHJhY2sgaWYgcmVwb3J0IGhhcyBiZWVuIGV4ZWN1dGVkIGF0IGxlYXN0IG9uY2VcbiAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICBlcnJvcjogbnVsbCBhcyBzdHJpbmcgfCBudWxsLFxuICB9KSksXG5cbiAgd2l0aENvbXB1dGVkKChzdG9yZSkgPT4gKHtcbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgYXZhaWxhYmxlTGF5b3V0czogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgaWYgKCFyZXBvcnQ/LmxheW91dHMpIHJldHVybiBbXTtcblxuICAgICAgcmV0dXJuIHJlcG9ydC5sYXlvdXRzLm1hcCgobGF5b3V0OiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiAoe1xuICAgICAgICBpZDogbGF5b3V0LmlkLFxuICAgICAgICB0aXRsZTogbGF5b3V0LnRpdGxlLFxuICAgICAgICBpY29uOiBsYXlvdXQuaWNvbixcbiAgICAgICAgdHlwZTogbGF5b3V0LmxheW91dC50eXBlXG4gICAgICB9IGFzIEFYUExheW91dFN3aXRjaGVyT3B0aW9uKSk7XG4gICAgfSksXG5cbiAgICBkZWZhdWx0TGF5b3V0OiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICBpZiAoIXJlcG9ydD8ubGF5b3V0cz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgICAgLy8gRmluZCBsYXlvdXQgbWFya2VkIGFzIGRlZmF1bHQsIG9yIHVzZSBmaXJzdCBsYXlvdXRcbiAgICAgIHJldHVybiByZXBvcnQubGF5b3V0cy5maW5kKChsOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiBsLmlzRGVmYXVsdCkgfHwgcmVwb3J0LmxheW91dHNbMF07XG4gICAgfSksXG5cbiAgICBhY3RpdmVMYXlvdXRJZDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5pZCB8fCBudWxsKSxcblxuICAgIGxheW91dFR5cGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlIHx8IG51bGwpLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dC1TcGVjaWZpYyBDb25maWd1cmF0aW9ucyAgIC0tLS1cblxuICAgIHRhYmxlTGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZSdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuICAgIGNoYXJ0TGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICdjaGFydCdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU3RhdGUgSW5kaWNhdG9ycyAgIC0tLS1cblxuICAgIGlzTG9hZGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgaXNFeGVjdXRpbmc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcpLFxuICAgIGhhc0Vycm9yOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5lcnJvcigpICE9PSBudWxsKSxcbiAgICBoYXNNdWx0aXBsZUxheW91dHM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIHJldHVybiAocmVwb3J0Py5sYXlvdXRzPy5sZW5ndGggPz8gMCkgPiAxO1xuICAgIH0pLFxuXG4gICAgdGl0bGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8udGl0bGUgPz8gJ1JlcG9ydCBWaWV3ZXInKSxcbiAgICBkZXNjcmlwdGlvbjogY29tcHV0ZWQoKCkgPT4gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpPy5kZXNjcmlwdGlvbiA/PyBudWxsKSxcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBGb3JtIENvbmZpZ3VyYXRpb24gICAtLS0tXG5cbiAgICBmb3JtRGVmaW5pdGlvbjogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgaWYgKCFyZXBvcnQgfHwgIXJlcG9ydC5wYXJhbWV0ZXJHcm91cHMpIHtcbiAgICAgICAgcmV0dXJuIHsgZ3JvdXBzOiBbXSB9IGFzIEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBzOiByZXBvcnQucGFyYW1ldGVyR3JvdXBzLm1hcCgoZ3JvdXA6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwKSA9PiAoe1xuICAgICAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IGdyb3VwLnRpdGxlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBncm91cC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBncm91cC5wYXJhbWV0ZXJzLm1hcCgocGFyYW06IEFYUFJlcG9ydFBhcmFtZXRlcikgPT4gKHtcbiAgICAgICAgICAgIHBhdGg6IHBhcmFtLnBhdGgsXG4gICAgICAgICAgICB0aXRsZTogcGFyYW0udGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcGFyYW0uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgLi4ucGFyYW0ud2lkZ2V0LFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW0ud2lkZ2V0Lm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY2xlYXJCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgaGFzQ2xlYXJCdXR0b246IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKVxuICAgICAgICB9KSlcbiAgICAgIH0gYXMgQVhQRHluYW1pY0Zvcm1EZWZpbml0aW9uO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBUeXBlIERldGVjdGlvbiAgIC0tLS1cblxuICAgIGlzVGFibGVMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlID09PSAndGFibGUnKSxcbiAgICBpc0NoYXJ0TGF5b3V0OiBjb21wdXRlZCgoKSA9PiBzdG9yZS5jdXJyZW50TGF5b3V0KCk/LmxheW91dD8udHlwZSA9PT0gJ2NoYXJ0JyksXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRmlsdGVyIFN0YXRlcyAgIC0tLS1cblxuICAgIGhhc1VuYXBwbGllZEZpbHRlcnM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gc3RvcmUuZmlsdGVyQ29udGV4dCgpO1xuICAgICAgY29uc3QgbGFzdEFwcGxpZWQgPSBzdG9yZS5sYXN0QXBwbGllZEZpbHRlckNvbnRleHQoKTtcbiAgICAgIGNvbnN0IGhhc0JlZW5FeGVjdXRlZCA9IHN0b3JlLmhhc0JlZW5FeGVjdXRlZCgpO1xuXG4gICAgICAvLyBJZiByZXBvcnQgaGFzIG5ldmVyIGJlZW4gZXhlY3V0ZWQsIGRvbid0IHNob3cgdW5hcHBsaWVkIGZpbHRlcnMgd2FybmluZ1xuICAgICAgaWYgKCFoYXNCZWVuRXhlY3V0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBubyBmaWx0ZXJzIGhhdmUgYmVlbiBhcHBsaWVkIHlldCwgcmV0dXJuIHRydWVcbiAgICAgIGlmIChsYXN0QXBwbGllZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBmaWx0ZXJzIGFyZSBkaWZmZXJlbnQgZnJvbSBsYXN0IGFwcGxpZWQgZmlsdGVyc1xuICAgICAgY29uc3QgY3VycmVudEtleXMgPSBPYmplY3Qua2V5cyhjdXJyZW50Q29udGV4dCk7XG4gICAgICBjb25zdCBsYXN0S2V5cyA9IE9iamVjdC5rZXlzKGxhc3RBcHBsaWVkKTtcblxuICAgICAgaWYgKGN1cnJlbnRLZXlzLmxlbmd0aCAhPT0gbGFzdEtleXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiBhbnkgdmFsdWVzIGFyZSBkaWZmZXJlbnRcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGN1cnJlbnRLZXlzKSB7XG4gICAgICAgIGlmIChjdXJyZW50Q29udGV4dFtrZXldICE9PSBsYXN0QXBwbGllZFtrZXldKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEFjdGlvbiBTdGF0ZXMgICAtLS0tXG5cbiAgICBjYW5FeGVjdXRlOiBjb21wdXRlZCgoKSA9PlxuICAgICAgc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpICE9PSBudWxsICYmXG4gICAgICBzdG9yZS5jdXJyZW50TGF5b3V0KCkgIT09IG51bGwgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmdcbiAgICApLFxuXG4gICAgY2FuU3dpdGNoTGF5b3V0OiBjb21wdXRlZCgoKSA9PlxuICAgICAgKHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8ubGF5b3V0cz8ubGVuZ3RoID8/IDApID4gMSAmJlxuICAgICAgc3RvcmUuc3RhdHVzKCkgIT09IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGluZ1xuICAgICksXG5cbiAgICBjYW5TZWxlY3RSb3dzOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScgJiZcbiAgICAgICAgbGF5b3V0LmxheW91dC5vcHRpb25zPy5zZWxlY3RhYmxlPy5tb2RlICYmXG4gICAgICAgIGxheW91dC5sYXlvdXQub3B0aW9ucz8uc2VsZWN0YWJsZT8ubW9kZSAhPT0gJ25vbmUnO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG4gIH0pKSxcblxuICB3aXRoTWV0aG9kcyhcbiAgICAoc3RvcmUsXG4gICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZTogQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpLFxuICAgICAgY29tbWFuZFNlcnZpY2U6IEFYUENvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KEFYUENvbW1hbmRTZXJ2aWNlKVxuICAgICkgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0ZVJlcG9ydCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICAgIGlmICghcmVwb3J0IHx8ICFsYXlvdXQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogJ1JlcG9ydCBvciBsYXlvdXQgbm90IGZvdW5kJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgYWxsb3dGZXRjaERhdGE6IHRydWUsXG4gICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogdHJ1ZSxcbiAgICAgICAgICBsYXN0QXBwbGllZEZpbHRlckNvbnRleHQ6IHsgLi4uc3RvcmUuZmlsdGVyQ29udGV4dCgpIH0sIC8vIE1hcmsgY3VycmVudCBmaWx0ZXJzIGFzIGFwcGxpZWRcbiAgICAgICAgICBoYXNCZWVuRXhlY3V0ZWQ6IHRydWUgLy8gTWFyayB0aGF0IHJlcG9ydCBoYXMgYmVlbiBleGVjdXRlZCBhdCBsZWFzdCBvbmNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGVkLFxuICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHBhcmFtZXRlcnM6IEFYUENvbnRleHREYXRhID0ge30pOiBQcm9taXNlPEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgfCBudWxsPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGF5b3V0ID0gc3RvcmUuY3VycmVudExheW91dCgpO1xuICAgICAgICBpZiAoIXJlcG9ydCB8fCAhbGF5b3V0KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBDcmVhdGUgZXhlY3V0aW9uIGNvbnRleHQgLSBlbnN1cmUgZGF0YVNvdXJjZSBpcyBwcm92aWRlZFxuICAgICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBsYXlvdXQuZGF0YVNvdXJjZSB8fCB7XG4gICAgICAgICAgICB0eXBlOiAncXVlcnknIGFzIGNvbnN0LFxuICAgICAgICAgICAgbmFtZTogJ2dldEVtcGxveWVlTGlzdCdcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgY29udGV4dDogQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgICAgICAgICAgIHJlcG9ydElkOiByZXBvcnQuaWQsXG4gICAgICAgICAgICBsYXlvdXRJZDogbGF5b3V0LmlkLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgLi4uc3RvcmUuZmlsdGVyQ29udGV4dCgpLFxuICAgICAgICAgICAgICAuLi5wYXJhbWV0ZXJzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBhd2FpdCBjb21tYW5kU2VydmljZS5leGVjdXRlKCdSZXBvcnRNYW5hZ2VtZW50LlJlcG9ydDpFeGVjdXRlJywgY29udGV4dCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgZXJyb3I6ICdGYWlsZWQgdG8gZXhlY3V0ZSByZXBvcnQnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4ZWN1dGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgUmVwb3J0IExvYWRpbmcgICAtLS0tXG5cbiAgICAgICAgYXN5bmMgbG9hZFJlcG9ydChyZXBvcnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydEJ5SWQocmVwb3J0SWQpO1xuICAgICAgICAgICAgaWYgKHJlcG9ydCkge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygncmVwb3J0JywgcmVwb3J0KTtcbiAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIHBhcmFtZXRlciB3aWRnZXRzIHdpdGggcHJvcGVyIHBhdGhzXG4gICAgICAgICAgICAgIHJlcG9ydC5wYXJhbWV0ZXJHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgICAgICAgICAgZ3JvdXAucGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgICAgICAgICAgIHBhcmFtLndpZGdldC5wYXRoID0gcGFyYW0ucGF0aDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgLy8gTG9hZCBjYXRlZ29yaWVzIHBhdGggZm9yIGJyZWFkY3J1bWJzXG4gICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeVJlcG9ydElkKHJlcG9ydElkKTtcblxuICAgICAgICAgICAgICAvLyBTZXQgZGVmYXVsdCBsYXlvdXRcbiAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdExheW91dCA9IHJlcG9ydC5sYXlvdXRzLmZpbmQoKGw6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+IGwuaXNEZWZhdWx0KSB8fCByZXBvcnQubGF5b3V0c1swXTtcblxuICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RGVmaW5pdGlvbjogcmVwb3J0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnRMYXlvdXQ6IGRlZmF1bHRMYXlvdXQsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcmllc1BhdGg6IGNhdGVnb3JpZXNQYXRoIHx8IFtdLFxuICAgICAgICAgICAgICAgIGZpbHRlckNvbnRleHQ6IHt9LCAvLyBSZXNldCBjb250ZXh0IHdoZW4gbG9hZGluZyBuZXcgcmVwb3J0XG4gICAgICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBzdGF0ZSBmb3IgbmV3IHJlcG9ydFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBlcnJvcjogJ0ZhaWxlZCB0byBsb2FkIHJlcG9ydCBkZWZpbml0aW9uJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIHJlcG9ydDonLCBlcnJvcik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIHN3aXRjaExheW91dChsYXlvdXRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICAgIGlmICghcmVwb3J0KSByZXR1cm47XG5cbiAgICAgICAgICBjb25zdCBsYXlvdXQgPSByZXBvcnQubGF5b3V0cy5maW5kKChsOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiBsLmlkID09PSBsYXlvdXRJZCk7XG4gICAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBsYXlvdXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIEV4ZWN1dGlvbiAgIC0tLS1cblxuICAgICAgICBleGVjdXRlUmVwb3J0LFxuICAgICAgICBmZXRjaERhdGEsXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBGaWx0ZXIgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgICAgICB1cGRhdGVGaWx0ZXJDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7IC4uLnN0b3JlLmZpbHRlckNvbnRleHQoKSwgLi4uY29udGV4dCB9LFxuICAgICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBmbGFnIHdoZW4gZmlsdGVycyBjaGFuZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7fSxcbiAgICAgICAgICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCwgLy8gUmVzZXQgYXBwbGllZCBmaWx0ZXJzIHdoZW4gY2xlYXJpbmdcbiAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBzdGF0ZSB3aGVuIGNsZWFyaW5nIGZpbHRlcnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXNldEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEV4cG9ydCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIGFzeW5jIGV4cG9ydFJlcG9ydChmb3JtYXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgICAgICBpZiAoIWxheW91dD8uZXhwb3J0KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0V4cG9ydCBub3QgY29uZmlndXJlZCBmb3IgY3VycmVudCBsYXlvdXQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gRXhwb3J0IGxvZ2ljIHdvdWxkIGdvIGhlcmVcbiAgICAgICAgICAgIC8vIFRoaXMgd291bGQgdHlwaWNhbGx5IGNhbGwgYSBkaWZmZXJlbnQgY29tbWFuZCBmb3IgZXhwb3J0XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXhwb3J0aW5nIHJlcG9ydCBpbiAke2Zvcm1hdH0gZm9ybWF0YCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4cG9ydGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICAgICAgICByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIHJldHVybiBleGVjdXRlUmVwb3J0KCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBudWxsLFxuICAgICAgICAgICAgZmlsdGVyQ29udGV4dDoge30sXG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBzaG91bGRFeGVjdXRlUmVwb3J0OiBmYWxzZSxcbiAgICAgICAgICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCxcbiAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsXG4gICAgICAgICAgICBjYXRlZ29yaWVzUGF0aDogW10sXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgICB9O1xuICAgIH1cbiAgKSxcblxuICB3aXRoSG9va3MoKHN0b3JlLFxuICAgIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSksXG4gICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICkgPT4gKHtcbiAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAvLyBTdWJzY3JpYmUgdG8gbGFuZ3VhZ2UgYW5kIGxvY2FsZSBjaGFuZ2VzXG4gICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBsYW5ndWFnZSBjaGFuZ2UgaWYgbmVlZGVkXG4gICAgICB9KTtcblxuICAgICAgbG9jYWxlU2VydmljZS5wcm9maWxlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSGFuZGxlIGxvY2FsZSBjaGFuZ2UgaWYgbmVlZGVkICBcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25EZXN0cm95KCkge1xuICAgICAgLy8gQ2xlYW51cCBpZiBuZWVkZWRcbiAgICB9XG4gIH0pKVxuKTsgIl19","import { AXBarChartComponent } from '@acorex/charts/bar-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport { AXDonutChartComponent } from '@acorex/charts/donut-chart';\nimport { AXLineChartComponent } from '@acorex/charts/line-chart';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { AXBarChartReportMapper, AXLineChartReportMapper, AXPieChartReportMapper, } from '../../../../reports/report-mapper';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart' ? layout.layout : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to fetch chart data when conditions are met\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.vm.shouldExecuteReport() && this.chartOptions()) {\n this.vm.fetchData().then((data) => {\n const raw = ((data?.data).data ?? {});\n switch (this.chartType()) {\n case 'bar': {\n const v = AXBarChartReportMapper(raw);\n this.barChartData.set(v);\n break;\n }\n case 'doughnut': {\n const v = AXPieChartReportMapper(raw);\n this.donutChartData.set(v);\n break;\n }\n case 'line':\n default: {\n const v = AXLineChartReportMapper(raw);\n this.lineChartData.set(v);\n break;\n }\n }\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.legendOptions = signal({\n mode: 'vertical',\n className: 'ax-h-72',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n this.barChartData = signal([], ...(ngDevMode ? [{ debugName: \"barChartData\" }] : []));\n this.barChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"barChartOptions\" }] : []));\n this.donutChartData = signal([], ...(ngDevMode ? [{ debugName: \"donutChartData\" }] : []));\n this.donutChartOptions = computed(() => {\n return {\n totalLabel: 'Total',\n showTooltip: true,\n showDataLabels: this.donutChartData().length <= 10,\n };\n }, ...(ngDevMode ? [{ debugName: \"donutChartOptions\" }] : []));\n this.lineChartData = signal([], ...(ngDevMode ? [{ debugName: \"lineChartData\" }] : []));\n this.lineChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"lineChartOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to fetch chart data when conditions are met\n */\n #fetchData;\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportChartViewComponent, isStandalone: true, selector: \"axp-report-chart-view\", host: { classAttribute: \"axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col\" }, ngImport: i0, template: \"<ng-container *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"ax-spinner ax-spin ax-w-10 ax-h-10\\\"></div>\\n <div class=\\\"__loading-text ax-text-sm ax-opacity-70\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__error-icon ax-text-5xl ax-text-danger\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__error-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ vm.error() || (t('@report-management:features.report-viewer.error.generic') | async) }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <section\\n class=\\\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\\\">\\n @if (chartLayout()?.header) {\\n <header\\n class=\\\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\\\">\\n <h3 class=\\\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\\\">\\n {{ chartLayout()?.header?.title }}\\n </h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\\\">\\n {{ 'common.date.today' | translate | async }}\\n </div>\\n }\\n </header>\\n }\\n\\n <div class=\\\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\\\">\\n <div class=\\\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\\\" [class]=\\\"\\n legendOptions().mode === 'horizontal'\\n ? 'ax-flex-col ax-gap-4'\\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\\n \\\">\\n @switch (chartType()) {\\n @case ('bar') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-bar-chart #barChart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"barChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @case ('doughnut') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-donut-chart #donutChart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"donutChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @default {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-line-chart #lineChart [data]=\\\"lineChartData()\\\" [options]=\\\"lineChartOptions()\\\"></ax-line-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"lineChart\\\"></ax-chart-legend>\\n </div>\\n }\\n }\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <footer class=\\\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </footer>\\n }\\n </section>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__no-config-icon ax-w-16 ax-h-16 ax-rounded-full ax-flex ax-items-center ax-justify-center\\\">\\n <i class=\\\"fa-light fa-chart-line ax-text-2xl ax-opacity-60\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__no-config-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</ng-container>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXBarChartComponent, selector: \"ax-bar-chart\", inputs: [\"data\", \"options\"], outputs: [\"barClick\"] }, { kind: \"component\", type: AXDonutChartComponent, selector: \"ax-donut-chart\", inputs: [\"data\", \"options\"], outputs: [\"segmentClick\", \"segmentHover\"] }, { kind: \"component\", type: AXLineChartComponent, selector: \"ax-line-chart\", inputs: [\"data\", \"options\"], outputs: [\"pointClick\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-chart-view', imports: [\n CommonModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXBarChartComponent,\n AXDonutChartComponent,\n AXLineChartComponent,\n AXChartLegendComponent,\n ], host: {\n class: 'axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-container *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"ax-spinner ax-spin ax-w-10 ax-h-10\\\"></div>\\n <div class=\\\"__loading-text ax-text-sm ax-opacity-70\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__error-icon ax-text-5xl ax-text-danger\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__error-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ vm.error() || (t('@report-management:features.report-viewer.error.generic') | async) }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <section\\n class=\\\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\\\">\\n @if (chartLayout()?.header) {\\n <header\\n class=\\\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\\\">\\n <h3 class=\\\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\\\">\\n {{ chartLayout()?.header?.title }}\\n </h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\\\">\\n {{ 'common.date.today' | translate | async }}\\n </div>\\n }\\n </header>\\n }\\n\\n <div class=\\\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\\\">\\n <div class=\\\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\\\" [class]=\\\"\\n legendOptions().mode === 'horizontal'\\n ? 'ax-flex-col ax-gap-4'\\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\\n \\\">\\n @switch (chartType()) {\\n @case ('bar') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-bar-chart #barChart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"barChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @case ('doughnut') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-donut-chart #donutChart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"donutChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @default {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-line-chart #lineChart [data]=\\\"lineChartData()\\\" [options]=\\\"lineChartOptions()\\\"></ax-line-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"lineChart\\\"></ax-chart-legend>\\n </div>\\n }\\n }\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <footer class=\\\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </footer>\\n }\\n </section>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__no-config-icon ax-w-16 ax-h-16 ax-rounded-full ax-flex ax-items-center ax-justify-center\\\">\\n <i class=\\\"fa-light fa-chart-line ax-text-2xl ax-opacity-60\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__no-config-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</ng-container>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNoYXJ0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtY2hhcnQtdmlldy9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUF5QyxNQUFNLDRCQUE0QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLG1DQUFtQyxDQUFDO0FBRTND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c0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkIsUUFDSzt3QkFDSixLQUFLLEVBQUUsK0RBQStEO3FCQUN2RSxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRDb21wb25lbnQsIEFYQmFyQ2hhcnRPcHRpb24sIEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LCBBWENoYXJ0TGVnZW5kT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2NoYXJ0LWxlZ2VuZCc7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRDb21wb25lbnQsIEFYRG9udXRDaGFydE9wdGlvbiwgQVhEb251dENoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9kb251dC1jaGFydCc7XG5pbXBvcnQgeyBBWExpbmVDaGFydENvbXBvbmVudCwgQVhMaW5lQ2hhcnRPcHRpb24sIEFYTGluZUNoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9saW5lLWNoYXJ0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWEJhckNoYXJ0UmVwb3J0TWFwcGVyLFxuICBBWExpbmVDaGFydFJlcG9ydE1hcHBlcixcbiAgQVhQaWVDaGFydFJlcG9ydE1hcHBlcixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cy9yZXBvcnQtbWFwcGVyJztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0TGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cy9yZXBvcnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vcmVwb3J0LXZpZXdlci52aWV3bW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNoYXJ0LXZpZXcnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWEJhckNoYXJ0Q29tcG9uZW50LFxuICAgIEFYRG9udXRDaGFydENvbXBvbmVudCxcbiAgICBBWExpbmVDaGFydENvbXBvbmVudCxcbiAgICBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdheHAtcmVwb3J0LWNoYXJ0LXZpZXcgYXgtdy1mdWxsIGF4LWgtZnVsbCBheC1mbGV4IGF4LWZsZXgtY29sJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQVhQUGFnZVN0YXR1cyA9IEFYUFBhZ2VTdGF0dXM7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDdXJyZW50IGNoYXJ0IGxheW91dCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRMYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGF5b3V0ID0gdGhpcy52bS5jdXJyZW50TGF5b3V0KCk7XG4gICAgcmV0dXJuIGxheW91dD8ubGF5b3V0LnR5cGUgPT09ICdjaGFydCcgPyAobGF5b3V0LmxheW91dCBhcyBBWFBSZXBvcnRDaGFydExheW91dCkgOiBudWxsO1xuICB9KTtcblxuICAvKipcbiAgICogQ2hhcnQgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNoYXJ0TGF5b3V0ID0gdGhpcy5jaGFydExheW91dCgpO1xuICAgIHJldHVybiBjaGFydExheW91dD8ub3B0aW9ucyB8fCBudWxsO1xuICB9KTtcblxuICAvKipcbiAgICogQ2hhcnQgdHlwZSBmb3IgcmVuZGVyaW5nXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRUeXBlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgIHJldHVybiBvcHRpb25zPy5jaGFydFR5cGUgfHwgJ2Jhcic7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEYXRhIG1hcHBpbmcgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFNYXBwaW5nID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgIHJldHVybiBvcHRpb25zPy5kYXRhTWFwcGluZyB8fCBudWxsO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEVmZmVjdHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBmZXRjaCBjaGFydCBkYXRhIHdoZW4gY29uZGl0aW9ucyBhcmUgbWV0XG4gICAqL1xuICAjZmV0Y2hEYXRhID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpICYmIHRoaXMudm0uc2hvdWxkRXhlY3V0ZVJlcG9ydCgpICYmIHRoaXMuY2hhcnRPcHRpb25zKCkpIHtcbiAgICAgIHRoaXMudm0uZmV0Y2hEYXRhKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSAoKChkYXRhPy5kYXRhIGFzIGFueSkuZGF0YSBhcyBhbnkpID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY2hhcnRUeXBlKCkpIHtcbiAgICAgICAgICBjYXNlICdiYXInOiB7XG4gICAgICAgICAgICBjb25zdCB2ID0gQVhCYXJDaGFydFJlcG9ydE1hcHBlcihyYXcpO1xuICAgICAgICAgICAgdGhpcy5iYXJDaGFydERhdGEuc2V0KHYpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ2RvdWdobnV0Jzoge1xuICAgICAgICAgICAgY29uc3QgdiA9IEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIocmF3KTtcbiAgICAgICAgICAgIHRoaXMuZG9udXRDaGFydERhdGEuc2V0KHYpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ2xpbmUnOlxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBBWExpbmVDaGFydFJlcG9ydE1hcHBlcihyYXcpO1xuICAgICAgICAgICAgdGhpcy5saW5lQ2hhcnREYXRhLnNldCh2KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBNZXRob2RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjaGFydCBpcyByZWFkeSB0byByZW5kZXJcbiAgICovXG4gIHByb3RlY3RlZCBpc0NoYXJ0UmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuY2hhcnRPcHRpb25zKCkgJiYgdGhpcy5kYXRhTWFwcGluZygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsZWdlbmRPcHRpb25zID0gc2lnbmFsPEFYQ2hhcnRMZWdlbmRPcHRpb25zPih7XG4gICAgbW9kZTogJ3ZlcnRpY2FsJyxcbiAgICBjbGFzc05hbWU6ICdheC1oLTcyJyxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGJhckNoYXJ0RGF0YSA9IHNpZ25hbDxBWEJhckNoYXJ0VmFsdWU+KFtdKTtcbiAgcHJvdGVjdGVkIGJhckNoYXJ0T3B0aW9ucyA9IHNpZ25hbDxBWEJhckNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgcHJvdGVjdGVkIGRvbnV0Q2hhcnREYXRhID0gc2lnbmFsPEFYRG9udXRDaGFydFZhbHVlPihbXSk7XG5cbiAgcHJvdGVjdGVkIGRvbnV0Q2hhcnRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0b3RhbExhYmVsOiAnVG90YWwnLFxuICAgICAgc2hvd1Rvb2x0aXA6IHRydWUsXG4gICAgICBzaG93RGF0YUxhYmVsczogdGhpcy5kb251dENoYXJ0RGF0YSgpLmxlbmd0aCA8PSAxMCxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbGluZUNoYXJ0RGF0YSA9IHNpZ25hbDxBWExpbmVDaGFydFZhbHVlPihbXSk7XG4gIHByb3RlY3RlZCBsaW5lQ2hhcnRPcHRpb25zID0gc2lnbmFsPEFYTGluZUNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcpIHtcbiAgPCEtLSBMb2FkaW5nIFN0YXRlIC0tPlxuICA8ZGl2IGNsYXNzPVwiX19sb2FkaW5nIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWgtZnVsbCBheC1nYXAtNiBheC1wLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc3Bpbm5lciBheC1zcGluIGF4LXctMTAgYXgtaC0xMFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmctdGV4dCBheC10ZXh0LXNtIGF4LW9wYWNpdHktNzBcIj5cbiAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmxvYWRpbmcuY2hhcnQnKSB8IGFzeW5jIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9IEBlbHNlIGlmICh2bS5zdGF0dXMoKSA9PT0gQVhQUGFnZVN0YXR1cy5FcnJvcikge1xuICA8IS0tIEVycm9yIFN0YXRlIC0tPlxuICA8ZGl2IGNsYXNzPVwiX19lcnJvciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1oLWZ1bGwgYXgtZ2FwLTYgYXgtcC04XCI+XG4gICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItaWNvbiBheC10ZXh0LTV4bCBheC10ZXh0LWRhbmdlclwiPlxuICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19lcnJvci1jb250ZW50IGF4LW1heC13LWxnIGF4LXRleHQtY2VudGVyXCI+XG4gICAgICA8aDQgY2xhc3M9XCJfX2Vycm9yLXRpdGxlIGF4LXRleHQteGwgYXgtZm9udC1zZW1pYm9sZCBheC1tYi0zXCI+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmVycm9yLnRpdGxlJykgfCBhc3luYyB9fVxuICAgICAgPC9oND5cbiAgICAgIDxwIGNsYXNzPVwiX19lcnJvci1kZXNjcmlwdGlvbiBheC1vcGFjaXR5LTcwIGF4LWxlYWRpbmctcmVsYXhlZFwiPlxuICAgICAgICB7eyB2bS5lcnJvcigpIHx8ICh0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci5nZW5lcmljJykgfCBhc3luYykgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGlzQ2hhcnRSZWFkeSgpKSB7XG4gIDwhLS0gQ2hhcnQgQ29udGVudCAtLT5cbiAgPHNlY3Rpb25cbiAgICBjbGFzcz1cIl9fY2hhcnQtY29udGFpbmVyIGF4LW92ZXJmbG93LWF1dG8gbWQ6YXgtb3ZlcmZsb3ctaGlkZGVuIGF4LXJvdW5kZWQtMnhsIGF4LWJvcmRlciBheC1oLWZ1bGwgYXgtZmxleCBheC1mbGV4LWNvbFwiPlxuICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uaGVhZGVyKSB7XG4gICAgPGhlYWRlclxuICAgICAgY2xhc3M9XCJfX2NoYXJ0LWhlYWRlciBheC1wLTQgbWQ6YXgtcC02IGF4LWJvcmRlci1iIGF4LWZsZXggYXgtZmxleC1jb2wgc206YXgtZmxleC1yb3cgYXgtZ2FwLTIgc206YXgtaXRlbXMtY2VudGVyIHNtOmF4LWp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPGgzIGNsYXNzPVwiX19jaGFydC10aXRsZSBheC10ZXh0LWJhc2UgbWQ6YXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkIGF4LXRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNoYXJ0TGF5b3V0KCk/LmhlYWRlcj8udGl0bGUgfX1cbiAgICAgIDwvaDM+XG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmhlYWRlcj8uc2hvd0RhdGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWRhdGUgYXgtdGV4dC14cyBtZDpheC10ZXh0LXNtIGF4LW9wYWNpdHktNzAgYXgtZm9udC1tZWRpdW0gYXgtZmxleC1zaHJpbmstMFwiPlxuICAgICAgICB7eyAnY29tbW9uLmRhdGUudG9kYXknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvaGVhZGVyPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWJvZHkgYXgtZmxleC0xIGF4LXAtMyBtZDpheC1wLTZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LXdyYXBwZXIgYXgtaC1mdWxsIGF4LWl0ZW1zLWNlbnRlciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGxnOmF4LWdhcC02XCIgW2NsYXNzXT1cIlxuICAgICAgICAgICAgbGVnZW5kT3B0aW9ucygpLm1vZGUgPT09ICdob3Jpem9udGFsJ1xuICAgICAgICAgICAgICA/ICdheC1mbGV4LWNvbCBheC1nYXAtNCdcbiAgICAgICAgICAgICAgOiAnYXgtZmxleC1jb2wgbGc6YXgtZmxleC1yb3cgYXgtZ2FwLTQgbGc6YXgtZ2FwLTYnXG4gICAgICAgICAgXCI+XG4gICAgICAgIEBzd2l0Y2ggKGNoYXJ0VHlwZSgpKSB7XG4gICAgICAgIEBjYXNlICgnYmFyJykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJfX2NoYXJ0LWNvbnRlbnQgYXgtZmxleC0xIGF4LWgtZnVsbCBheC1taW4taC1bMjUwcHhdIG1kOmF4LW1pbi1oLVszMDBweF0gYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy1mdWxsIGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgIDxheC1iYXItY2hhcnQgI2JhckNoYXJ0IFtkYXRhXT1cImJhckNoYXJ0RGF0YSgpXCIgW29wdGlvbnNdPVwiYmFyQ2hhcnRPcHRpb25zKClcIj48L2F4LWJhci1jaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWxlZ2VuZCBheC13LWZpdCBheC1mbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwiYmFyQ2hhcnRcIj48L2F4LWNoYXJ0LWxlZ2VuZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdkb3VnaG51dCcpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiX19jaGFydC1jb250ZW50IGF4LWZsZXgtMSBheC1oLWZ1bGwgYXgtbWluLWgtWzI1MHB4XSBtZDpheC1taW4taC1bMzAwcHhdIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8YXgtZG9udXQtY2hhcnQgI2RvbnV0Q2hhcnQgW2RhdGFdPVwiZG9udXRDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImRvbnV0Q2hhcnRPcHRpb25zKClcIj48L2F4LWRvbnV0LWNoYXJ0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtbGVnZW5kIGF4LXctZml0IGF4LWZsZXgtc2hyaW5rLTBcIj5cbiAgICAgICAgICA8YXgtY2hhcnQtbGVnZW5kIFtvcHRpb25zXT1cImxlZ2VuZE9wdGlvbnMoKVwiIFtjaGFydF09XCJkb251dENoYXJ0XCI+PC9heC1jaGFydC1sZWdlbmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiX19jaGFydC1jb250ZW50IGF4LWZsZXgtMSBheC1oLWZ1bGwgYXgtbWluLWgtWzI1MHB4XSBtZDpheC1taW4taC1bMzAwcHhdIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8YXgtbGluZS1jaGFydCAjbGluZUNoYXJ0IFtkYXRhXT1cImxpbmVDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImxpbmVDaGFydE9wdGlvbnMoKVwiPjwvYXgtbGluZS1jaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWxlZ2VuZCBheC13LWZpdCBheC1mbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwibGluZUNoYXJ0XCI+PC9heC1jaGFydC1sZWdlbmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXIpIHtcbiAgICA8Zm9vdGVyIGNsYXNzPVwiX19jaGFydC1mb290ZXIgYXgtcC00IG1kOmF4LXAtNiBheC1ib3JkZXItdFwiPlxuICAgICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWwpIHtcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWxcIj48L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Zvb3Rlcj5cbiAgICB9XG4gIDwvc2VjdGlvbj5cbiAgfSBAZWxzZSB7XG4gIDwhLS0gTm8gQ29uZmlndXJhdGlvbiBTdGF0ZSAtLT5cbiAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWgtZnVsbCBheC1nYXAtNiBheC1wLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctaWNvbiBheC13LTE2IGF4LWgtMTYgYXgtcm91bmRlZC1mdWxsIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoYXJ0LWxpbmUgYXgtdGV4dC0yeGwgYXgtb3BhY2l0eS02MFwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctY29udGVudCBheC1tYXgtdy1sZyBheC10ZXh0LWNlbnRlclwiPlxuICAgICAgPGg0IGNsYXNzPVwiX19uby1jb25maWctdGl0bGUgYXgtdGV4dC14bCBheC1mb250LXNlbWlib2xkIGF4LW1iLTNcIj5cbiAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLnRpdGxlJykgfCBhc3luYyB9fVxuICAgICAgPC9oND5cbiAgICAgIDxwIGNsYXNzPVwiX19uby1jb25maWctZGVzY3JpcHRpb24gYXgtb3BhY2l0eS03MCBheC1sZWFkaW5nLXJlbGF4ZWRcIj5cbiAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLmRlc2NyaXB0aW9uJykgfCBhc3luYyB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9uZy1jb250YWluZXI+Il19","import { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { applySystemActionDefault, getSystemActions } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPReportTableViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.commandService = inject(AXPCommandService);\n this.grid = viewChild('grid', ...(ngDevMode ? [{ debugName: \"grid\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when report is executed\n */\n this.#fetchData = effect(() => {\n if (this.grid() && this.vm.allowFetchData() && this.vm.shouldExecuteReport()) {\n this.grid()?.refresh();\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n this.layout = computed(() => {\n return this.vm.currentLayout()?.layout;\n }, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.dataSource = new AXDataSource({\n load: async (e) => {\n if (!this.vm.allowFetchData()) {\n return { items: [], total: 0 };\n }\n const result = await this.vm.fetchData(e);\n if (!result?.data || result.data.type !== 'table') {\n console.error('invalid table result');\n return { items: [], total: 0 };\n }\n ;\n let items = result.data.items ?? [];\n let total = result.data.total || 0;\n return { items, total };\n },\n pageSize: 10,\n key: 'id'\n });\n this.columns = computed(() => {\n return this.layout().columns?.map((col) => ({\n field: col.field,\n title: col.title || col.field,\n width: col.width || '150px',\n visible: col.visible !== false,\n align: col.align || 'left',\n widget: { ...col.widget, path: col.field }\n })) || [];\n }, ...(ngDevMode ? [{ debugName: \"columns\" }] : []));\n this.paginationEnabled = computed(() => {\n return this.layout().options?.pagination !== false;\n }, ...(ngDevMode ? [{ debugName: \"paginationEnabled\" }] : []));\n this.primaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'primary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"primaryRowAction\" }] : []));\n this.hasPrimaryRowAction = computed(() => {\n return this.primaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasPrimaryRowAction\" }] : []));\n this.secondaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'secondary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"secondaryRowAction\" }] : []));\n this.hasSecondaryRowAction = computed(() => {\n return this.secondaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasSecondaryRowAction\" }] : []));\n this.defaultRowAction = computed(() => {\n const defaultAction = this.layout().actions?.find(a => a.default);\n if (!defaultAction) {\n return null;\n }\n return this.convertToRowCommandItem(defaultAction);\n }, ...(ngDevMode ? [{ debugName: \"defaultRowAction\" }] : []));\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleRowClick(event) {\n this.handleRowAction(event.name, event.data);\n }\n handleDbRowClick(event) {\n if (this.defaultRowAction()) {\n this.handleRowAction(this.defaultRowAction().name, event.data);\n }\n }\n handleRowAction(name, data) {\n this.commandService.execute(name, data);\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when report is executed\n */\n #fetchData;\n //#endregion\n //#region ---- Helpers ----\n convertToRowCommandItem(action) {\n const systemAction = getSystemActions(action.type);\n if (!systemAction) {\n return {\n icon: action.icon ?? 'fa-light fa-eye',\n text: action.title,\n name: action.command?.name ?? action.name,\n divided: action.break,\n color: action.color,\n };\n }\n const defaultAction = applySystemActionDefault(action, systemAction.key);\n return {\n icon: defaultAction.icon ?? 'fa-light fa-eye',\n text: defaultAction.title,\n name: defaultAction.name ?? defaultAction.command?.name,\n divided: defaultAction.break,\n color: defaultAction.color,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportTableViewComponent, isStandalone: true, selector: \"axp-report-table-view\", viewQueries: [{ propertyName: \"grid\", first: true, predicate: [\"grid\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"selectedRows\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"noDataTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXRowIndexColumnComponent, selector: \"ax-index-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"padZero\"] }, { kind: \"component\", type: i1.AXRowSelectColumnComponent, selector: \"ax-select-column\", inputs: [\"width\", \"caption\", \"fixed\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"component\", type: i1.AXRowDropdownCommandColumnComponent, selector: \"ax-dropdown-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetColumnRendererComponent, selector: \"axp-widget-column-renderer\", inputs: [\"caption\", \"customExpandIcon\", \"customCollapseIcon\", \"customWidth\", \"node\", \"footerTemplate\", \"expandHandler\", \"cellTemplate\", \"headerTemplate\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-table-view', standalone: true, imports: [\n CommonModule,\n AXDataTableModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC10YWJsZS12aWV3L3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsaUJBQWlCLEVBQXVFLE1BQU0sK0JBQStCLENBQUM7QUFDN0osT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLHdCQUF3QixFQUFFLGdCQUFn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RSxNQUFNLENBQUMsSUFBSSxJQUFJLGlCQUFpQjtnQkFDdEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUk7Z0JBQ3pDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2FBQ0EsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUEwQixDQUFDLENBQUM7UUFDaEcsT0FBTztZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLGlCQUFpQjtZQUM3QyxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJO1lBQ3ZELE9BQU8sRUFBRSxhQUFhLENBQUMsS0FBSztZQUM1QixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7U0FDUCxDQUFDO0lBQ3hCLENBQUM7OEdBeElVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLCtMQzVCeEMsZ3JDQXNDQSwyQ0RyQkksWUFBWSw4QkFDWixpQkFBaUIsd3FDQUNqQixlQUFlLDhCQUNmLGlCQUFpQiw4QkFDakIsbUJBQW1CLDhCQUNuQixzQkFBc0I7OzJGQU1iLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixzQkFBc0I7cUJBQ3ZCLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQsIEFYRGF0YVRhYmxlTW9kdWxlLCBBWERhdGFUYWJsZVJvd0RiQ2xpY2ssIEFYUm93Q29tbWFuZEl0ZW0sIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbHVtbk5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENvbHVtbiwgQVhQUmVwb3J0VGFibGVMYXlvdXQsIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZVF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUFN5c3RlbUFjdGlvblR5cGUsIGFwcGx5U3lzdGVtQWN0aW9uRGVmYXVsdCwgZ2V0U3lzdGVtQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtdGFibGUtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEYXRhVGFibGVNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUmVwb3J0VGFibGVWaWV3Q29tcG9uZW50IHtcblxuICAvLyNyZWdpb24gLS0tLSAgIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JpZCA9IHZpZXdDaGlsZDxBWERhdGFUYWJsZUNvbXBvbmVudD4oJ2dyaWQnKTtcblxuICAvLyNlbmRyZWdpb25cblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRXZlbnQgSGFuZGxlcnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJvd0NsaWNrKGV2ZW50OiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlUm93QWN0aW9uKGV2ZW50Lm5hbWUsIGV2ZW50LmRhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURiUm93Q2xpY2soZXZlbnQ6IEFYRGF0YVRhYmxlUm93RGJDbGljayk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlZmF1bHRSb3dBY3Rpb24oKSkge1xuICAgICAgdGhpcy5oYW5kbGVSb3dBY3Rpb24odGhpcy5kZWZhdWx0Um93QWN0aW9uKCkhLm5hbWUsIGV2ZW50LmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSb3dBY3Rpb24obmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUobmFtZSwgZGF0YSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEVmZmVjdHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBoYW5kbGUgZGF0YSBmZXRjaGluZyB3aGVuIHJlcG9ydCBpcyBleGVjdXRlZFxuICAgKi9cbiAgI2ZldGNoRGF0YSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuZ3JpZCgpICYmIHRoaXMudm0uYWxsb3dGZXRjaERhdGEoKSAmJiB0aGlzLnZtLnNob3VsZEV4ZWN1dGVSZXBvcnQoKSkge1xuICAgICAgdGhpcy5ncmlkKCk/LnJlZnJlc2goKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBsYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLnZtLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0IGFzIEFYUFJlcG9ydFRhYmxlTGF5b3V0KSE7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XG4gICAgbG9hZDogYXN5bmMgKGU6IEFYRGF0YVNvdXJjZVF1ZXJ5KSA9PiB7XG4gICAgICBpZiAoIXRoaXMudm0uYWxsb3dGZXRjaERhdGEoKSkge1xuICAgICAgICByZXR1cm4geyBpdGVtczogW10sIHRvdGFsOiAwIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy52bS5mZXRjaERhdGEoZSlcbiAgICAgIGlmICghcmVzdWx0Py5kYXRhIHx8IHJlc3VsdC5kYXRhLnR5cGUgIT09ICd0YWJsZScpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCB0YWJsZSByZXN1bHQnKTtcbiAgICAgICAgcmV0dXJuIHsgaXRlbXM6IFtdLCB0b3RhbDogMCB9XG4gICAgICB9O1xuXG4gICAgICBsZXQgaXRlbXM6IGFueVtdID0gcmVzdWx0LmRhdGEuaXRlbXMgYXMgYW55W10gPz8gW107XG4gICAgICBsZXQgdG90YWwgPSByZXN1bHQuZGF0YS50b3RhbCB8fCAwO1xuXG4gICAgICByZXR1cm4geyBpdGVtcywgdG90YWwgfTtcbiAgICB9LFxuICAgIHBhZ2VTaXplOiAxMCxcbiAgICBrZXk6ICdpZCdcbiAgfSk7XG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQoKS5jb2x1bW5zPy5tYXAoKGNvbDogQVhQUmVwb3J0Q29sdW1uKSA9PiAoe1xuICAgICAgZmllbGQ6IGNvbC5maWVsZCxcbiAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLmZpZWxkLFxuICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCAnMTUwcHgnLFxuICAgICAgdmlzaWJsZTogY29sLnZpc2libGUgIT09IGZhbHNlLFxuICAgICAgYWxpZ246IGNvbC5hbGlnbiB8fCAnbGVmdCcsXG4gICAgICB3aWRnZXQ6IHsgLi4uY29sLndpZGdldCwgcGF0aDogY29sLmZpZWxkIH0gYXMgQVhQV2lkZ2V0Q29sdW1uTm9kZVxuICAgIH0pKSB8fCBbXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2luYXRpb25FbmFibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLm9wdGlvbnM/LnBhZ2luYXRpb24gIT09IGZhbHNlO1xuICB9KTtcblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmltYXJ5Um93QWN0aW9uID0gY29tcHV0ZWQ8QVhSb3dDb21tYW5kSXRlbVtdPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0KCkuYWN0aW9ucz8uZmlsdGVyKGEgPT4gYS5wcmlvcml0eSA9PT0gJ3ByaW1hcnknKT8ubWFwKGEgPT4gdGhpcy5jb252ZXJ0VG9Sb3dDb21tYW5kSXRlbShhKSkgfHwgW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBoYXNQcmltYXJ5Um93QWN0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnByaW1hcnlSb3dBY3Rpb24oKS5sZW5ndGggPiAwO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vjb25kYXJ5Um93QWN0aW9uID0gY29tcHV0ZWQ8QVhSb3dDb21tYW5kSXRlbVtdPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0KCkuYWN0aW9ucz8uZmlsdGVyKGEgPT4gYS5wcmlvcml0eSA9PT0gJ3NlY29uZGFyeScpPy5tYXAoYSA9PiB0aGlzLmNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGEpKSB8fCBbXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc1NlY29uZGFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZWNvbmRhcnlSb3dBY3Rpb24oKS5sZW5ndGggPiAwO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFJvd0FjdGlvbiA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW0gfCBudWxsPigoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEFjdGlvbiA9IHRoaXMubGF5b3V0KCkuYWN0aW9ucz8uZmluZChhID0+IGEuZGVmYXVsdCk7XG4gICAgaWYgKCFkZWZhdWx0QWN0aW9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udmVydFRvUm93Q29tbWFuZEl0ZW0oZGVmYXVsdEFjdGlvbik7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVycyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvUm93Q29tbWFuZEl0ZW0oYWN0aW9uOiBBWFBSZXBvcnRUYWJsZUxheW91dFJvd0FjdGlvbik6IEFYUm93Q29tbWFuZEl0ZW0ge1xuICAgIGNvbnN0IHN5c3RlbUFjdGlvbiA9IGdldFN5c3RlbUFjdGlvbnMoYWN0aW9uLnR5cGUgYXMgQVhQU3lzdGVtQWN0aW9uVHlwZSk7XG4gICAgaWYgKCFzeXN0ZW1BY3Rpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246IGFjdGlvbi5pY29uID8/ICdmYS1saWdodCBmYS1leWUnLFxuICAgICAgICB0ZXh0OiBhY3Rpb24udGl0bGUsXG4gICAgICAgIG5hbWU6IGFjdGlvbi5jb21tYW5kPy5uYW1lID8/IGFjdGlvbi5uYW1lLFxuICAgICAgICBkaXZpZGVkOiBhY3Rpb24uYnJlYWssXG4gICAgICAgIGNvbG9yOiBhY3Rpb24uY29sb3IsXG4gICAgICB9IGFzIEFYUm93Q29tbWFuZEl0ZW07XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRBY3Rpb24gPSBhcHBseVN5c3RlbUFjdGlvbkRlZmF1bHQoYWN0aW9uLCBzeXN0ZW1BY3Rpb24ua2V5IGFzIEFYUFN5c3RlbUFjdGlvblR5cGUpO1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiBkZWZhdWx0QWN0aW9uLmljb24gPz8gJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICB0ZXh0OiBkZWZhdWx0QWN0aW9uLnRpdGxlLFxuICAgICAgbmFtZTogZGVmYXVsdEFjdGlvbi5uYW1lID8/IGRlZmF1bHRBY3Rpb24uY29tbWFuZD8ubmFtZSxcbiAgICAgIGRpdmlkZWQ6IGRlZmF1bHRBY3Rpb24uYnJlYWssXG4gICAgICBjb2xvcjogZGVmYXVsdEFjdGlvbi5jb2xvcixcbiAgICB9IGFzIEFYUm93Q29tbWFuZEl0ZW07XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxufSAiLCI8YXgtZGF0YS10YWJsZVxuICAjZ3JpZFxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgW3BhZ2luZ109XCJ0cnVlXCJcbiAgKG9uUm93RGJDbGljayk9XCJoYW5kbGVEYlJvd0NsaWNrKCRldmVudClcIlxuICBjbGFzcz1cImF4LWZsZXgtMVwiXG4+XG4gIDwhLS0gRHluYW1pYyBjb2x1bW5zIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24gLS0+XG4gIDxheC1pbmRleC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInODBweCdcIiBbcGFkWmVyb109XCJ0cnVlXCI+PC9heC1pbmRleC1jb2x1bW4+XG4gIEBpZiAodm0uY2FuU2VsZWN0Um93cygpKSB7XG4gICAgPGF4LXNlbGVjdC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInNTBweCdcIj48L2F4LXNlbGVjdC1jb2x1bW4+XG4gIH1cbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLmZpZWxkKSB7XG4gICAgQGlmIChjb2x1bW4udmlzaWJsZSkge1xuICAgICAgPGF4cC13aWRnZXQtY29sdW1uLXJlbmRlcmVyXG4gICAgICAgIFtjdXN0b21XaWR0aF09XCJjb2x1bW4ud2lkdGggKyAncHgnXCJcbiAgICAgICAgW2NhcHRpb25dPVwiKGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICBbbm9kZV09XCJjb2x1bW4ud2lkZ2V0IVwiXG4gICAgICA+PC9heHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlcj5cbiAgICB9XG4gIH1cbiAgQGlmIChoYXNQcmltYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInMTAwcHgnXCJcbiAgICAgIFtpdGVtc109XCJwcmltYXJ5Um93QWN0aW9uKClcIlxuICAgICAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKCRldmVudClcIlxuICAgID48L2F4LWNvbW1hbmQtY29sdW1uPlxuICB9XG4gIEBpZiAoaGFzU2Vjb25kYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInNjBweCdcIlxuICAgICAgW2l0ZW1zXT1cInNlY29uZGFyeVJvd0FjdGlvbigpXCJcbiAgICAgIChvbkl0ZW1DbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQpXCJcbiAgICA+PC9heC1kcm9wZG93bi1jb21tYW5kLWNvbHVtbj5cbiAgfVxuPC9heC1kYXRhLXRhYmxlPlxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPDynamicFormComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AXPReportViewerViewModel } from '../report-viewer.viewmodel';\nimport { AXPReportChartViewComponent } from '../views/report-chart-view/report-chart-view.component';\nimport { AXPReportTableViewComponent } from '../views/report-table-view/report-table-view.component';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/dropdown\";\nexport class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---- Dependencies ----\n this.layoutService = inject(AXPLayoutThemeService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.unsubscriber = inject(AXUnsubscriber);\n //#endregion\n //#region ---- Inputs ----\n this.reportId = input(...(ngDevMode ? [undefined, { debugName: \"reportId\" }] : []));\n this.reportParameters = input({}, ...(ngDevMode ? [{ debugName: \"reportParameters\" }] : []));\n //#endregion\n //#region ---- ViewChildren ----\n this.filtersForm = viewChild('filtersForm', ...(ngDevMode ? [{ debugName: \"filtersForm\" }] : []));\n //#endregion\n //#region ---- ViewModel ----\n this.vm = inject(AXPReportViewerViewModel);\n //#endregion\n //#region ---- Computed Properties ----\n this.showFiltersPanel = () => this.layoutService.isLarge();\n this.baseRoutes = [this.sessionService.application?.name, 'report-management'];\n //#endregion\n //#region ---- Layout Configurations ----\n this.defaultLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 6 },\n lg: { colSpan: 12 },\n },\n });\n this.compactLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n sm: { colSpan: 6 },\n md: { colSpan: 4 },\n lg: { colSpan: 3 },\n },\n });\n }\n //#endregion\n //#region ---- Lifecycle ----\n async ngOnInit() {\n await super.ngOnInit();\n // Subscribe to route parameter changes for dynamic report loading\n this.unsubscriber.takeUntilDestroy(this.route.paramMap).subscribe(async (params) => {\n const reportId = params.get('reportId') || this.route.snapshot.queryParamMap.get('reportId') || this.reportId();\n if (reportId) {\n await this.loadReportAndRefresh(reportId);\n }\n });\n }\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n //#endregion\n //#region ---- Helper Methods ----\n async loadReportAndRefresh(reportId) {\n await this.vm.loadReport(reportId);\n // Force refresh of page layout (breadcrumbs, title, etc.) after report loads\n this.recompute();\n // Handle initial parameters from query string\n const queryParams = this.route.snapshot.queryParams;\n const initialParams = { ...queryParams };\n delete initialParams['reportId']; // Remove reportId from parameters\n // Merge with component input parameters\n const allParams = { ...initialParams, ...this.reportParameters() };\n if (Object.keys(allParams).length > 0) {\n console.log('Applying initial parameters:', allParams);\n this.vm.updateFilterContext(allParams);\n // Auto-execute if parameters are provided\n setTimeout(async () => {\n await this.vm.executeReport();\n }, 500); // Small delay to ensure form is ready\n }\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleFiltersChange(event) {\n this.vm.updateFilterContext(event);\n }\n handleFiltersInitiated(event) {\n this.vm.updateFilterContext(event);\n }\n async handleExecuteReport() {\n const isValid = await this.filtersForm()?.validate();\n if (!isValid) {\n return;\n }\n await this.vm.executeReport();\n }\n handleRefresh() {\n debugger;\n this.vm.refresh();\n }\n handleClearFilters() {\n this.vm.clearFilters();\n // Reset form if available\n const form = this.filtersForm();\n if (form) {\n form.resetErrors();\n }\n }\n //#endregion\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const breadcrumbs = [\n {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports',\n },\n },\n ];\n // Add categories path\n const categoriesPath = this.vm.categoriesPath();\n if (categoriesPath && categoriesPath.length > 0) {\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const category of categoriesPath) {\n urlParts.push(category.id);\n breadcrumbs.push({\n name: category.id,\n title: category.title,\n command: {\n name: 'navigate-to-category',\n options: {\n path: [...urlParts],\n },\n },\n });\n }\n }\n // Add report title as final breadcrumb\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n breadcrumbs.push({\n name: 'report-viewer',\n title: reportDefinition.title,\n });\n }\n return breadcrumbs;\n }\n async getPageTitle() {\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n return reportDefinition.title;\n }\n return await this.translateService.translateAsync('@report-management:features.report-viewer.title');\n }\n async getPageDescription() {\n const reportDefinition = this.vm.reportDefinition();\n return reportDefinition?.description || null;\n }\n async getBackButton() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // If no categories path, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n if (categoriesPath.length === 1) {\n // If only one category, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n // Go back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 1];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes, 'reports']);\n }\n else {\n // Navigate to parent category\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const cat of categoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async getPrimaryMenuItems() {\n // No primary menu items since execute button is in footer\n return [];\n }\n async getSecondaryMenuItems() {\n const reportDefinition = this.vm.reportDefinition();\n if (!reportDefinition) {\n return [];\n }\n return [\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.refresh'),\n icon: 'fa-light fa-refresh',\n color: 'secondary',\n disabled: this.vm.isLoading() || this.vm.isExecuting(),\n command: {\n name: 'refresh-report',\n },\n },\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.clear-filters'),\n icon: 'fa-light fa-filter-slash',\n color: 'warning',\n command: {\n name: 'clear-filters',\n },\n },\n ];\n }\n async execute(command) {\n switch (command.name) {\n case 'execute-report':\n await this.handleExecuteReport();\n break;\n case 'refresh-report':\n this.handleRefresh();\n break;\n case 'clear-filters':\n this.handleClearFilters();\n break;\n case 'navigate-to-reports':\n await this.router.navigate([...this.baseRoutes, 'reports']);\n break;\n case 'navigate-to-category':\n const path = command.options?.['path'];\n if (path) {\n await this.router.navigate(path);\n }\n break;\n default:\n console.warn(`Unknown command: ${command.name}`);\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportViewerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportViewerPageComponent, isStandalone: true, selector: \"axp-report-viewer-page\", inputs: { reportId: { classPropertyName: \"reportId\", publicName: \"reportId\", isSignal: true, isRequired: false, transformFunction: null }, reportParameters: { classPropertyName: \"reportParameters\", publicName: \"reportParameters\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"axp-report-viewer-page\" }, providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], viewQueries: [{ propertyName: \"filtersForm\", first: true, predicate: [\"filtersForm\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutLook]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\" *translate=\\\"let t\\\">\\n @if (vm.hasUnappliedFilters()) {\\n <div class=\\\"ax-w-full ax-warning-lightest ax-mb-2 ax-p-2 ax-rounded ax-border ax-border-warning-200\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2 ax-text-warning-800\\\">\\n <ax-icon class=\\\"fa-light fa-exclamation-triangle ax-text-sm\\\"></ax-icon>\\n <span class=\\\"ax-text-xs\\\">Filters have been changed but not applied. Click 'Execute Report' to apply\\n changes.</span>\\n </div>\\n </div>\\n }\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [disabled]=\\\"vm.hasUnappliedFilters() === false && vm.hasBeenExecuted()\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}.axp-report-viewer-page .ax-filter{filter:grayscale(100%) blur(1px)}.axp-report-viewer-page .ax-grayscale{filter:grayscale(100%)}.axp-report-viewer-page .ax-blur-sm{filter:blur(1px)}.axp-report-viewer-page .ax-pointer-events-none{pointer-events:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: \n //\n AXPDynamicFormComponent, selector: \"axp-dynamic-form\", inputs: [\"formDefinition\", \"context\", \"layoutLook\", \"layoutDirection\", \"layoutConfig\"], outputs: [\"contextChange\", \"contextInitiated\", \"validityChange\"] }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPReportTableViewComponent, selector: \"axp-report-table-view\" }, { kind: \"component\", type: AXPThemeLayoutFooterComponent, selector: \"axp-layout-footer, axp-layout-page-footer\" }, { kind: \"component\", type: AXPReportChartViewComponent, selector: \"axp-report-chart-view\" }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-viewer-page', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXBadgeModule,\n //\n AXPDynamicFormComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXPReportTableViewComponent,\n AXPThemeLayoutFooterComponent,\n AXPReportChartViewComponent,\n ], providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutLook]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\" *translate=\\\"let t\\\">\\n @if (vm.hasUnappliedFilters()) {\\n <div class=\\\"ax-w-full ax-warning-lightest ax-mb-2 ax-p-2 ax-rounded ax-border ax-border-warning-200\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2 ax-text-warning-800\\\">\\n <ax-icon class=\\\"fa-light fa-exclamation-triangle ax-text-sm\\\"></ax-icon>\\n <span class=\\\"ax-text-xs\\\">Filters have been changed but not applied. Click 'Execute Report' to apply\\n changes.</span>\\n </div>\\n </div>\\n }\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [disabled]=\\\"vm.hasUnappliedFilters() === false && vm.hasBeenExecuted()\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}.axp-report-viewer-page .ax-filter{filter:grayscale(100%) blur(1px)}.axp-report-viewer-page .ax-grayscale{filter:grayscale(100%)}.axp-report-viewer-page .ax-blur-sm{filter:blur(1px)}.axp-report-viewer-page .ax-pointer-events-none{pointer-events:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXItcGFnZS9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FDakMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQXNDekQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDBCQUEwQjtJQXBDNUU7O1FBcUNFLG9DQUFvQztRQUVqQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hELFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5QyxZQUFZO1FBRVosOEJBQThCO1FBRTlCLGFBQVEsR0FBRyxLQUFLLDhEQUFVLENBQUM7UUFDM0IscUJBQWdCLEdBQUcsS0FBSyxDQUFzQixFQUFFLDREQUFDLENBQUM7UUFFbEQsWUFBWTtRQUVaLG9DQUFvQztRQUU1QixnQkFBVyxHQUFHLFNBQVMsQ0FBa0IsYUFBYSx1REFBQyxDQUFDO1FBRWhFLFlBQVk7UUFFWixpQ0FBaUM7UUFFZCxPQUFFLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFekQsWUFBWTtRQUVaLDJDQUEyQztRQUVqQyxxQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXhELGVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBSWxGLFlBQVk7UUFFWiw2Q0FBNkM7UUFFbkMsa0JBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUN4QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRU8sa0JBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUN4QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO0tBcVBKO0lBblBDLFlBQVk7SUFFWixpQ0FBaUM7SUFFeEIsS0FBSyxDQUFDLFFBQVE7UUFDckIsTUFBTSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFdkIsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2pGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFaEgsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFFSCxZQUFZO0lBRVosc0NBQXNDO0lBRTlCLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNqRCxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5DLDZFQUE2RTtRQUM3RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsOENBQThDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDekMsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFFcEUsd0NBQXdDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBRW5FLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLDBDQUEwQztZQUMxQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO0lBRVosc0NBQXNDO0lBRTVCLG1CQUFtQixDQUFDLEtBQXFCO1FBQ2pELElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLHNCQUFzQixDQUFDLEtBQXFCO1FBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVTLGFBQWE7UUFDckIsUUFBUSxDQUFBO1FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsMEJBQTBCO1FBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtJQUVaLG9EQUFvRDtJQUVqQyxLQUFLLENBQUMsa0JBQWtCO1FBQ3pDLE1BQU0sV0FBVyxHQUF3QjtZQUN2QztnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO2dCQUNqRixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLHFCQUFxQjtpQkFDNUI7YUFDRjtTQUNGLENBQUM7UUFFRixzQkFBc0I7UUFDdEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRCxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLEtBQUssTUFBTSxRQUFRLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNmLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDakIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO29CQUNyQixPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLHNCQUFzQjt3QkFDNUIsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO3lCQUNwQjtxQkFDRjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsZUFBZTtnQkFDckIsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLENBQUMsWUFBWTtRQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVRLEtBQUssQ0FBQyxrQkFBa0I7UUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEQsT0FBTyxnQkFBZ0IsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFUSxLQUFLLENBQUMsYUFBYTtRQUMxQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxpREFBaUQ7WUFDakQsT0FBTztnQkFDTCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLHNEQUFzRCxDQUFDO2FBQzFHLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGdEQUFnRDtZQUNoRCxPQUFPO2dCQUNMLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsc0RBQXNELENBQUM7YUFDMUcsQ0FBQztRQUNKLENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTztZQUNMLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSztTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxpQkFBaUI7UUFDOUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVoRCxJQUFJLENBQUMsY0FBYyxJQUFJLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEQsZ0NBQWdDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNOLDhCQUE4QjtZQUM5QixJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMvQyxLQUFLLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QixDQUFDO1lBQ0QsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVRLEtBQUssQ0FBQyxtQkFBbUI7UUFDaEMsMERBQTBEO1FBQzFELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVRLEtBQUssQ0FBQyxxQkFBcUI7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsMkRBQTJELENBQUM7Z0JBQzlHLElBQUksRUFBRSxxQkFBcUI7Z0JBQzNCLEtBQUssRUFBRSxXQUFXO2dCQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRTtnQkFDdEQsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUMvQyxpRUFBaUUsQ0FDbEU7Z0JBQ0QsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsZUFBZTtpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRVEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEwQjtRQUMvQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLGdCQUFnQjtnQkFDbkIsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLEtBQUssZ0JBQWdCO2dCQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU07WUFDUixLQUFLLGVBQWU7Z0JBQ2xCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxxQkFBcUI7Z0JBQ3hCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsTUFBTTtZQUNSLEtBQUssc0JBQXNCO2dCQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFhLENBQUM7Z0JBQ25ELElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ1QsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzs4R0ExU1UsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK1pBZDVCO1lBQ1QsY0FBYztZQUNkLHdCQUF3QjtZQUN4QjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO1NBQ0YsNktDN0RILHduSUFzR2MsMHdGRGxFVixZQUFZLHFNQUNaLGNBQWMsb3VCQUNkLGlCQUFpQixzVkFDakIsZUFBZSw4QkFDZixtQkFBbUIsOEdBQ25CLHNCQUFzQiw4QkFDdEIsZ0JBQWdCLHFRQUNoQixhQUFhO2dCQUNiLEVBQUU7Z0JBQ0YsdUJBQXVCLHVOQUN2QixzQkFBc0IsNERBQ3RCLGdDQUFnQyw4RkFDaEMsNkJBQTZCLDhEQUM3Qiw0QkFBNEIsZ2lCQUM1QiwyQkFBMkIsa0VBQzNCLDZCQUE2QixzRkFDN0IsMkJBQTJCOzsyRkFnQmxCLDRCQUE0QjtrQkFwQ3hDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsRUFBRTt3QkFDRix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQyw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjtxQkFDNUIsYUFDVTt3QkFDVCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw4QkFBOEI7eUJBQzFDO3FCQUNGLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIEFYUEFjdGlvbk1lbnVJdGVtLFxuICBBWFBCYWNrQnV0dG9uLFxuICBBWFBCcmVhZGNydW1iSXRlbSxcbiAgQVhQQ29udGV4dERhdGEsXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0Rm9vdGVyQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBSZXBvcnRUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtdmlld2VyLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgIEFYUFJlcG9ydFRhYmxlVmlld0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEZvb3RlckNvbXBvbmVudCxcbiAgICBBWFBSZXBvcnRDaGFydFZpZXdDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheHAtcmVwb3J0LXZpZXdlci1wYWdlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICAvLyNyZWdpb24gLS0tLSAgIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIHJlcG9ydElkID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZXBvcnRQYXJhbWV0ZXJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVmlld0NoaWxkcmVuICAgLS0tLVxuXG4gIHByaXZhdGUgZmlsdGVyc0Zvcm0gPSB2aWV3Q2hpbGQ8QVhGb3JtQ29tcG9uZW50PignZmlsdGVyc0Zvcm0nKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFZpZXdNb2RlbCAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXB1dGVkIFByb3BlcnRpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHNob3dGaWx0ZXJzUGFuZWwgPSAoKSA9PiB0aGlzLmxheW91dFNlcnZpY2UuaXNMYXJnZSgpO1xuXG4gIHByaXZhdGUgYmFzZVJvdXRlcyA9IFt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lLCAncmVwb3J0LW1hbmFnZW1lbnQnXTtcblxuXG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMYXlvdXQgQ29uZmlndXJhdGlvbnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGRlZmF1bHRMYXlvdXQgPSAoKSA9PiAoe1xuICAgIHBvc2l0aW9uczoge1xuICAgICAgZGVmYXVsdDogeyBjb2xTcGFuOiAxMiB9LFxuICAgICAgbWQ6IHsgY29sU3BhbjogNiB9LFxuICAgICAgbGc6IHsgY29sU3BhbjogMTIgfSxcbiAgICB9LFxuICB9KTtcblxuICBwcm90ZWN0ZWQgY29tcGFjdExheW91dCA9ICgpID0+ICh7XG4gICAgcG9zaXRpb25zOiB7XG4gICAgICBkZWZhdWx0OiB7IGNvbFNwYW46IDEyIH0sXG4gICAgICBzbTogeyBjb2xTcGFuOiA2IH0sXG4gICAgICBtZDogeyBjb2xTcGFuOiA0IH0sXG4gICAgICBsZzogeyBjb2xTcGFuOiAzIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgICAtLS0tXG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZSBwYXJhbWV0ZXIgY2hhbmdlcyBmb3IgZHluYW1pYyByZXBvcnQgbG9hZGluZ1xuICAgIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kodGhpcy5yb3V0ZS5wYXJhbU1hcCkuc3Vic2NyaWJlKGFzeW5jIChwYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydElkID0gcGFyYW1zLmdldCgncmVwb3J0SWQnKSB8fCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdyZXBvcnRJZCcpIHx8IHRoaXMucmVwb3J0SWQoKTtcblxuICAgICAgaWYgKHJlcG9ydElkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBoYW5kbGUgZGF0YSBmZXRjaGluZyB3aGVuIGNoYXJ0IGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgKi9cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBNZXRob2RzICAgLS0tLVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudm0ubG9hZFJlcG9ydChyZXBvcnRJZCk7XG5cbiAgICAvLyBGb3JjZSByZWZyZXNoIG9mIHBhZ2UgbGF5b3V0IChicmVhZGNydW1icywgdGl0bGUsIGV0Yy4pIGFmdGVyIHJlcG9ydCBsb2Fkc1xuICAgIHRoaXMucmVjb21wdXRlKCk7XG5cbiAgICAvLyBIYW5kbGUgaW5pdGlhbCBwYXJhbWV0ZXJzIGZyb20gcXVlcnkgc3RyaW5nXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIGNvbnN0IGluaXRpYWxQYXJhbXMgPSB7IC4uLnF1ZXJ5UGFyYW1zIH07XG4gICAgZGVsZXRlIGluaXRpYWxQYXJhbXNbJ3JlcG9ydElkJ107IC8vIFJlbW92ZSByZXBvcnRJZCBmcm9tIHBhcmFtZXRlcnNcblxuICAgIC8vIE1lcmdlIHdpdGggY29tcG9uZW50IGlucHV0IHBhcmFtZXRlcnNcbiAgICBjb25zdCBhbGxQYXJhbXMgPSB7IC4uLmluaXRpYWxQYXJhbXMsIC4uLnRoaXMucmVwb3J0UGFyYW1ldGVycygpIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoYWxsUGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zb2xlLmxvZygnQXBwbHlpbmcgaW5pdGlhbCBwYXJhbWV0ZXJzOicsIGFsbFBhcmFtcyk7XG4gICAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoYWxsUGFyYW1zKTtcbiAgICAgIC8vIEF1dG8tZXhlY3V0ZSBpZiBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZFxuICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMudm0uZXhlY3V0ZVJlcG9ydCgpO1xuICAgICAgfSwgNTAwKTsgLy8gU21hbGwgZGVsYXkgdG8gZW5zdXJlIGZvcm0gaXMgcmVhZHlcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVGaWx0ZXJzQ2hhbmdlKGV2ZW50OiBBWFBDb250ZXh0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMudm0udXBkYXRlRmlsdGVyQ29udGV4dChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRmlsdGVyc0luaXRpYXRlZChldmVudDogQVhQQ29udGV4dERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUV4ZWN1dGVSZXBvcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IHRoaXMuZmlsdGVyc0Zvcm0oKT8udmFsaWRhdGUoKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52bS5leGVjdXRlUmVwb3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBkZWJ1Z2dlclxuICAgIHRoaXMudm0ucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsZWFyRmlsdGVycygpOiB2b2lkIHtcbiAgICB0aGlzLnZtLmNsZWFyRmlsdGVycygpO1xuICAgIC8vIFJlc2V0IGZvcm0gaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZmlsdGVyc0Zvcm0oKTtcbiAgICBpZiAoZm9ybSkge1xuICAgICAgZm9ybS5yZXNldEVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncmVwb3J0cycsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZS10by1yZXBvcnRzJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIC8vIEFkZCBjYXRlZ29yaWVzIHBhdGhcbiAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uY2F0ZWdvcmllc1BhdGgoKTtcbiAgICBpZiAoY2F0ZWdvcmllc1BhdGggJiYgY2F0ZWdvcmllc1BhdGgubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXTtcbiAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllc1BhdGgpIHtcbiAgICAgICAgdXJsUGFydHMucHVzaChjYXRlZ29yeS5pZCk7XG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgIHRpdGxlOiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUtdG8tY2F0ZWdvcnknLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwYXRoOiBbLi4udXJsUGFydHNdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcmVwb3J0IHRpdGxlIGFzIGZpbmFsIGJyZWFkY3J1bWJcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgaWYgKHJlcG9ydERlZmluaXRpb24pIHtcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICBuYW1lOiAncmVwb3J0LXZpZXdlcicsXG4gICAgICAgIHRpdGxlOiByZXBvcnREZWZpbml0aW9uLnRpdGxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmIChyZXBvcnREZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gcmVwb3J0RGVmaW5pdGlvbi50aXRsZTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIudGl0bGUnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgcmV0dXJuIHJlcG9ydERlZmluaXRpb24/LmRlc2NyaXB0aW9uIHx8IG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRCYWNrQnV0dG9uKCk6IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uY2F0ZWdvcmllc1BhdGgoKTtcblxuICAgIGlmICghY2F0ZWdvcmllc1BhdGggfHwgY2F0ZWdvcmllc1BhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBJZiBubyBjYXRlZ29yaWVzIHBhdGgsIGdvIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXJ1bm5lci5tZW51LXRpdGxlJyksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChjYXRlZ29yaWVzUGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICAgIC8vIElmIG9ubHkgb25lIGNhdGVnb3J5LCBnbyBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHbyBiYWNrIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcmllc1BhdGhbY2F0ZWdvcmllc1BhdGgubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwYXJlbnRDYXRlZ29yeS50aXRsZSxcbiAgICB9O1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgb25CYWNrQnV0dG9uQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmNhdGVnb3JpZXNQYXRoKCk7XG5cbiAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA8PSAxKSB7XG4gICAgICAvLyBOYXZpZ2F0ZSBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5hdmlnYXRlIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXTtcbiAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXNQYXRoKSB7XG4gICAgICAgIHVybFBhcnRzLnB1c2goY2F0LmlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQcmltYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIC8vIE5vIHByaW1hcnkgbWVudSBpdGVtcyBzaW5jZSBleGVjdXRlIGJ1dHRvbiBpcyBpbiBmb290ZXJcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmICghcmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMucmVmcmVzaCcpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcmVmcmVzaCcsXG4gICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMudm0uaXNMb2FkaW5nKCkgfHwgdGhpcy52bS5pc0V4ZWN1dGluZygpLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ3JlZnJlc2gtcmVwb3J0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoXG4gICAgICAgICAgJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMuY2xlYXItZmlsdGVycycsXG4gICAgICAgICksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWx0ZXItc2xhc2gnLFxuICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ2NsZWFyLWZpbHRlcnMnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHN3aXRjaCAoY29tbWFuZC5uYW1lKSB7XG4gICAgICBjYXNlICdleGVjdXRlLXJlcG9ydCc6XG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhlY3V0ZVJlcG9ydCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JlZnJlc2gtcmVwb3J0JzpcbiAgICAgICAgdGhpcy5oYW5kbGVSZWZyZXNoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xlYXItZmlsdGVycyc6XG4gICAgICAgIHRoaXMuaGFuZGxlQ2xlYXJGaWx0ZXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbmF2aWdhdGUtdG8tcmVwb3J0cyc6XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXMsICdyZXBvcnRzJ10pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLWNhdGVnb3J5JzpcbiAgICAgICAgY29uc3QgcGF0aCA9IGNvbW1hbmQub3B0aW9ucz8uWydwYXRoJ10gYXMgc3RyaW5nW107XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gY29tbWFuZDogJHtjb21tYW5kLm5hbWV9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPCEtLSBMZWZ0IFBhbmVsOiBGaWx0ZXJzIChBbHdheXMgdmlzaWJsZSBmb3IgZGVza3RvcCkgLS0+XG4gIEBpZiAoc2hvd0ZpbHRlcnNQYW5lbCgpKSB7XG4gIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGU+XG4gICAgPGF4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmZpbHRlcnMudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgPC9heHAtbGF5b3V0LWhlYWRlcj5cbiAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZmlsdGVycy1jb250YWluZXJcIj5cbiAgICAgICAgPGF4cC1keW5hbWljLWZvcm0gI2ZpbHRlcnNGb3JtIFtmb3JtRGVmaW5pdGlvbl09XCJ2bS5mb3JtRGVmaW5pdGlvbigpXCIgW2NvbnRleHRdPVwidm0uZmlsdGVyQ29udGV4dCgpXCJcbiAgICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImRlZmF1bHRMYXlvdXQoKVwiIFtsYXlvdXRMb29rXT1cIidjb21wYWN0J1wiIChjb250ZXh0Q2hhbmdlKT1cImhhbmRsZUZpbHRlcnNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKGNvbnRleHRJbml0aWF0ZWQpPVwiaGFuZGxlRmlsdGVyc0luaXRpYXRlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvYXhwLWR5bmFtaWMtZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICAgIDxheHAtbGF5b3V0LWZvb3RlciBjbGFzcz1cImF4LXAtNCBheC1ib3JkZXItdFwiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICAgICAgQGlmICh2bS5oYXNVbmFwcGxpZWRGaWx0ZXJzKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtd2FybmluZy1saWdodGVzdCBheC1tYi0yIGF4LXAtMiBheC1yb3VuZGVkIGF4LWJvcmRlciBheC1ib3JkZXItd2FybmluZy0yMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yIGF4LXRleHQtd2FybmluZy04MDBcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIGF4LXRleHQtc21cIj48L2F4LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXhzXCI+RmlsdGVycyBoYXZlIGJlZW4gY2hhbmdlZCBidXQgbm90IGFwcGxpZWQuIENsaWNrICdFeGVjdXRlIFJlcG9ydCcgdG8gYXBwbHlcbiAgICAgICAgICAgIGNoYW5nZXMuPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGF4LWJ1dHRvbiBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIiBjbGFzcz1cImF4LXctZnVsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ2bS5oYXNVbmFwcGxpZWRGaWx0ZXJzKCkgPT09IGZhbHNlICYmIHZtLmhhc0JlZW5FeGVjdXRlZCgpXCJcbiAgICAgICAgW3RleHRdPVwidCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuYWN0aW9ucy5leGVjdXRlJykgfCBhc3luY1wiIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAob25DbGljayk9XCJleGVjdXRlKHsgbmFtZTogJ2V4ZWN1dGUtcmVwb3J0JyB9KVwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtcGxheVwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L2F4cC1sYXlvdXQtZm9vdGVyPlxuICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuXG4gIDxheHAtcGFnZS10b29sYmFyPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIEBpZiAodm0uaGFzTXVsdGlwbGVMYXlvdXRzKCkpIHtcbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwidm0uY3VycmVudExheW91dCgpPy50aXRsZVwiPlxuICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgdm0uY3VycmVudExheW91dCgpPy5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgQGZvciAobGF5b3V0IG9mIHZtLmF2YWlsYWJsZUxheW91dHMoKTsgdHJhY2sgbGF5b3V0LmlkKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gW3RleHRdPVwibGF5b3V0LnRpdGxlXCIgW3NlbGVjdGVkXT1cInZtLmN1cnJlbnRMYXlvdXQoKT8uaWQgPT09IGxheW91dC5pZFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInZtLnN3aXRjaExheW91dChsYXlvdXQuaWQpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCB7eyBsYXlvdXQuaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgPGF4cC1sYXlvdXQtc3VmZml4PiA8L2F4cC1sYXlvdXQtc3VmZml4PlxuICA8L2F4cC1wYWdlLXRvb2xiYXI+XG5cbiAgPCEtLSBNYWluIENvbnRlbnQ6IFJlcG9ydCBEaXNwbGF5IC0tPlxuICA8YXhwLXBhZ2UtY29udGVudCBjbGFzcz1cImF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICBAaWYgKCF2bS5yZXBvcnREZWZpbml0aW9uKCkpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXBvcnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVwb3J0RGlzcGxheVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9heHAtcGFnZS1jb250ZW50PlxuPC9heHAtcGFnZS1sYXlvdXQ+XG5cbjwhLS0gUmVwb3J0IERpc3BsYXkgQXJlYSAtLT5cbjxuZy10ZW1wbGF0ZSAjcmVwb3J0RGlzcGxheT5cbiAgQGlmICh2bS5pc1RhYmxlTGF5b3V0KCkpIHtcbiAgPGF4cC1yZXBvcnQtdGFibGUtdmlldz4gPC9heHAtcmVwb3J0LXRhYmxlLXZpZXc+XG4gIH0gQGVsc2UgaWYgKHZtLmlzQ2hhcnRMYXlvdXQoKSkge1xuICA8YXhwLXJlcG9ydC1jaGFydC12aWV3PiA8L2F4cC1yZXBvcnQtY2hhcnQtdmlldz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBObyBSZXBvcnQgU2VsZWN0ZWQgU3RhdGUgLS0+XG48bmctdGVtcGxhdGUgI25vUmVwb3J0PlxuICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnRcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtaWNvblwiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1jaGFydC1saW5lXCI+PC9heC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydC1jb250ZW50XCI+XG4gICAgICA8aDMgY2xhc3M9XCJfX25vLXJlcG9ydC10aXRsZVwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3M9XCJfX25vLXJlcG9ydC1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQuZGVzY3JpcHRpb24nKSB8IGFzeW5jIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtYWN0aW9uc1wiPlxuICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJvdXRsaW5lXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICBbdGV4dF09XCJ0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQuYnJvd3NlLXJlcG9ydHMnKSB8IGFzeW5jXCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtZm9sZGVyLW9wZW5cIj48L2F4LWljb24+XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=","import { AXBarChartComponent } from '@acorex/charts/bar-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXBarChartReportMapper } from '../../../../reports/report-mapper';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportBarChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart' ? layout.layout : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.vm.shouldExecuteReport() && this.chartOptions()) {\n // TODO: Implement chart data fetching\n console.log('Chart data fetch triggered', {\n chartType: this.chartType(),\n dataMapping: this.dataMapping(),\n });\n this.vm.fetchData().then((data) => {\n const barChartData = AXBarChartReportMapper((data?.data).data ?? {});\n this.barChartData.set(barChartData);\n console.log('barChartData', barChartData);\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.barChartData = signal([], ...(ngDevMode ? [{ debugName: \"barChartData\" }] : []));\n this.barChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"barChartOptions\" }] : []));\n this.legendOptions = signal({\n mode: 'horizontal',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n #fetchData;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle chart click events\n */\n handleChartClick(event) {\n // TODO: Implement chart click handling\n console.log('Chart clicked:', event);\n }\n /**\n * Handle chart data point selection\n */\n handleDataPointSelect(event) {\n // TODO: Implement data point selection\n console.log('Data point selected:', event);\n }\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n /**\n * Get chart configuration for rendering\n */\n getChartConfig() {\n // TODO: Transform AXPReportChartOptions to chart library format\n return {\n type: this.chartType(),\n options: this.chartOptions(),\n dataMapping: this.dataMapping(),\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportBarChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportBarChartViewComponent, isStandalone: true, selector: \"axp-report-bar-chart-view\", ngImport: i0, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-bar-chart #chart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (barChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXBarChartComponent, selector: \"ax-bar-chart\", inputs: [\"data\", \"options\"], outputs: [\"barClick\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportBarChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-bar-chart-view', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXBarChartComponent,\n AXChartLegendComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-bar-chart #chart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (barChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhci1jaGFydC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvdmlld3MvcmVwb3J0LWJhci1jaGFydC12aWV3L3JlcG9ydC1iYXItY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1iYXItY2hhcnQtdmlldy9yZXBvcnQtYmFyLWNoYXJ0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7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LENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3hDLHVDQUF1QztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZO0lBRVosc0NBQXNDO0lBRXRDOztPQUVHO0lBQ08sWUFBWTtRQUNwQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBQ3RCLGdFQUFnRTtRQUNoRSxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDaEMsQ0FBQztJQUNKLENBQUM7OEdBekdVLDhCQUE4QjtrR0FBOUIsOEJBQThCLHFGQzNCM0Msd3NHQXNGQSxpdUhEdkVJLFlBQVksOEJBQ1osaUJBQWlCLDhCQUNqQixtQkFBbUIsOEdBQ25CLHNCQUFzQiwrQkFDdEIsbUJBQW1CLDZHQUNuQixzQkFBc0I7OzJGQU9iLDhCQUE4QjtrQkFoQjFDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRDb21wb25lbnQsIEFYQmFyQ2hhcnRPcHRpb24sIEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LCBBWENoYXJ0TGVnZW5kT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2NoYXJ0LWxlZ2VuZCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXJDaGFydFJlcG9ydE1hcHBlciB9IGZyb20gJy4uLy4uLy4uLy4uL3JlcG9ydHMvcmVwb3J0LW1hcHBlcic7XG5pbXBvcnQgeyBBWFBSZXBvcnRDaGFydExheW91dCB9IGZyb20gJy4uLy4uLy4uLy4uL3JlcG9ydHMvcmVwb3J0LnR5cGVzJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXJlcG9ydC1iYXItY2hhcnQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYQmFyQ2hhcnRDb21wb25lbnQsXG4gICAgQVhDaGFydExlZ2VuZENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1iYXItY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZXBvcnQtYmFyLWNoYXJ0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUmVwb3J0QmFyQ2hhcnRWaWV3Q29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBBWFBQYWdlU3RhdHVzID0gQVhQUGFnZVN0YXR1cztcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXB1dGVkIFByb3BlcnRpZXMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgY2hhcnQgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydExheW91dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSB0aGlzLnZtLmN1cnJlbnRMYXlvdXQoKTtcbiAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQudHlwZSA9PT0gJ2NoYXJ0JyA/IChsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0KSA6IG51bGw7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDaGFydCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2hhcnRMYXlvdXQgPSB0aGlzLmNoYXJ0TGF5b3V0KCk7XG4gICAgcmV0dXJuIGNoYXJ0TGF5b3V0Py5vcHRpb25zIHx8IG51bGw7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDaGFydCB0eXBlIGZvciByZW5kZXJpbmdcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY2hhcnRPcHRpb25zKCk7XG4gICAgcmV0dXJuIG9wdGlvbnM/LmNoYXJ0VHlwZSB8fCAnYmFyJztcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERhdGEgbWFwcGluZyBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YU1hcHBpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY2hhcnRPcHRpb25zKCk7XG4gICAgcmV0dXJuIG9wdGlvbnM/LmRhdGFNYXBwaW5nIHx8IG51bGw7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRWZmZWN0cyAgIC0tLS1cblxuICAvKipcbiAgICogRWZmZWN0IHRvIGhhbmRsZSBkYXRhIGZldGNoaW5nIHdoZW4gY2hhcnQgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gICAqL1xuICAjZmV0Y2hEYXRhID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpICYmIHRoaXMudm0uc2hvdWxkRXhlY3V0ZVJlcG9ydCgpICYmIHRoaXMuY2hhcnRPcHRpb25zKCkpIHtcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBjaGFydCBkYXRhIGZldGNoaW5nXG4gICAgICBjb25zb2xlLmxvZygnQ2hhcnQgZGF0YSBmZXRjaCB0cmlnZ2VyZWQnLCB7XG4gICAgICAgIGNoYXJ0VHlwZTogdGhpcy5jaGFydFR5cGUoKSxcbiAgICAgICAgZGF0YU1hcHBpbmc6IHRoaXMuZGF0YU1hcHBpbmcoKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy52bS5mZXRjaERhdGEoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhckNoYXJ0RGF0YSA9IEFYQmFyQ2hhcnRSZXBvcnRNYXBwZXIoKChkYXRhPy5kYXRhIGFzIGFueSkuZGF0YSBhcyBhbnkpID8/IHt9KTtcbiAgICAgICAgdGhpcy5iYXJDaGFydERhdGEuc2V0KGJhckNoYXJ0RGF0YSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdiYXJDaGFydERhdGEnLCBiYXJDaGFydERhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhcnQgY2xpY2sgZXZlbnRzXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ2hhcnRDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGNoYXJ0IGNsaWNrIGhhbmRsaW5nXG4gICAgY29uc29sZS5sb2coJ0NoYXJ0IGNsaWNrZWQ6JywgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFydCBkYXRhIHBvaW50IHNlbGVjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGFQb2ludFNlbGVjdChldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGRhdGEgcG9pbnQgc2VsZWN0aW9uXG4gICAgY29uc29sZS5sb2coJ0RhdGEgcG9pbnQgc2VsZWN0ZWQ6JywgZXZlbnQpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgTWV0aG9kcyAgIC0tLS1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY2hhcnQgaXMgcmVhZHkgdG8gcmVuZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNDaGFydFJlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmNoYXJ0T3B0aW9ucygpICYmIHRoaXMuZGF0YU1hcHBpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNoYXJ0IGNvbmZpZ3VyYXRpb24gZm9yIHJlbmRlcmluZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldENoYXJ0Q29uZmlnKCk6IGFueSB7XG4gICAgLy8gVE9ETzogVHJhbnNmb3JtIEFYUFJlcG9ydENoYXJ0T3B0aW9ucyB0byBjaGFydCBsaWJyYXJ5IGZvcm1hdFxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLmNoYXJ0VHlwZSgpLFxuICAgICAgb3B0aW9uczogdGhpcy5jaGFydE9wdGlvbnMoKSxcbiAgICAgIGRhdGFNYXBwaW5nOiB0aGlzLmRhdGFNYXBwaW5nKCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBiYXJDaGFydERhdGEgPSBzaWduYWw8QVhCYXJDaGFydFZhbHVlPihbXSk7XG5cbiAgcHJvdGVjdGVkIGJhckNoYXJ0T3B0aW9ucyA9IHNpZ25hbDxBWEJhckNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgcHJvdGVjdGVkIGxlZ2VuZE9wdGlvbnMgPSBzaWduYWw8QVhDaGFydExlZ2VuZE9wdGlvbnM+KHtcbiAgICBtb2RlOiAnaG9yaXpvbnRhbCcsXG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBjbGFzcz1cImF4cC1yZXBvcnQtY2hhcnQtdmlld1wiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcpIHtcbiAgICA8IS0tIExvYWRpbmcgU3RhdGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF4LXNwaW5uZXIgYXgtc3BpbiBheC1ib3JkZXItNCBheC1ib3JkZXItZ3JheS0yMDAgYXgtYm9yZGVyLXQtcHJpbWFyeSBheC1yb3VuZGVkLWZ1bGwgYXgtdy0xMiBheC1oLTEyXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmctdGV4dFwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5sb2FkaW5nLmNoYXJ0JykgfCBhc3luYyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLkVycm9yKSB7XG4gICAgPCEtLSBFcnJvciBTdGF0ZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19lcnJvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItaWNvblwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19lcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxoNCBjbGFzcz1cIl9fZXJyb3ItdGl0bGVcIj5cbiAgICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgY2xhc3M9XCJfX2Vycm9yLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgdm0uZXJyb3IoKSB8fCB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci5nZW5lcmljJykgfCBhc3luYyB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSBpZiAoaXNDaGFydFJlYWR5KCkpIHtcbiAgICA8IS0tIENoYXJ0IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmhlYWRlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1oZWFkZXJcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX2NoYXJ0LXRpdGxlXCI+e3sgY2hhcnRMYXlvdXQoKT8uaGVhZGVyPy50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgQGlmIChjaGFydExheW91dCgpPy5oZWFkZXI/LnNob3dEYXRlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1kYXRlXCI+e3sgJ2NvbW1vbi5kYXRlLnRvZGF5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtYm9keVwiPlxuICAgICAgICA8IS0tIENoYXJ0IGNvbXBvbmVudCB3aWxsIGJlIHJlbmRlcmVkIGhlcmUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9fcGxhY2Vob2xkZXItY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC13cmFwIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1nYXAtMTBcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibGVnZW5kT3B0aW9ucygpLm1vZGUgPT09ICdob3Jpem9udGFsJyA/ICdheC1mbGV4LWNvbCcgOiAnYXgtZmxleC1yb3cnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSBDaGFydCBBcmVhIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0wIGF4LXNpemUtOTZcIj5cbiAgICAgICAgICAgICAgICA8YXgtYmFyLWNoYXJ0ICNjaGFydCBbZGF0YV09XCJiYXJDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImJhckNoYXJ0T3B0aW9ucygpXCI+PC9heC1iYXItY2hhcnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIExlZ2VuZCBBcmVhIC0tPlxuICAgICAgICAgICAgICBAaWYgKGJhckNoYXJ0RGF0YSgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwiY2hhcnRcIj48L2F4LWNoYXJ0LWxlZ2VuZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uZm9vdGVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWZvb3RlclwiPlxuICAgICAgICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uZm9vdGVyPy5jdXN0b21IdG1sKSB7XG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiY2hhcnRMYXlvdXQoKT8uZm9vdGVyPy5jdXN0b21IdG1sXCI+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPCEtLSBObyBDb25maWd1cmF0aW9uIFN0YXRlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLWNvbmZpZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnLWljb25cIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jaGFydC1saW5lXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctY29udGVudFwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJfX25vLWNvbmZpZy10aXRsZVwiPlxuICAgICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmNoYXJ0Lm5vLWNvbmZpZy50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgY2xhc3M9XCJfX25vLWNvbmZpZy1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmNoYXJ0Lm5vLWNvbmZpZy5kZXNjcmlwdGlvbicpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtcmVwb3J0LW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2Fjb3JleC1tb2R1bGVzLXJlcG9ydC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-report-management.mjs","sources":["../tmp-esm2022/report-management/lib/const.js","../tmp-esm2022/report-management/lib/reports/report.types.js","../tmp-esm2022/report-management/lib/reports/report-definition.provider.js","../tmp-esm2022/report-management/lib/reports/report-definition.service.js","../tmp-esm2022/report-management/lib/reports/report-mapper.js","../tmp-esm2022/report-management/lib/features/report-runner/reports.provider.js","../tmp-esm2022/report-management/lib/menu.provider.js","../tmp-esm2022/report-management/lib/entities/data-set/column.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.service.js","../tmp-esm2022/report-management/lib/entities/data-set/filter.def.js","../tmp-esm2022/report-management/lib/entities/data-set/sort.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.entity.js","../tmp-esm2022/report-management/lib/entities/report-definition.service.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.module.js","../tmp-esm2022/report-management/lib/entities/report-definition.module.js","../tmp-esm2022/report-management/lib/entities/index.js","../tmp-esm2022/report-management/lib/features/data-llist/column-evaluator-scope.provider.js","../tmp-esm2022/report-management/lib/features/report/create/report-create.workflow.js","../tmp-esm2022/report-management/lib/report-management.module.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-chart-view/report-chart-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-table-view/report-table-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer-page/report-viewer-page.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-bar-chart-view/report-bar-chart-view.component.js","../tmp-esm2022/report-management/acorex-modules-report-management.js"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement'\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}.module-name`,\n icon: 'fa-light fa-chart-bar'\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'Category',\n fullName: `${config.module}.Category`,\n title: `@${config.i18n}.entities.category.title`,\n titlePlural: `@${config.i18n}.entities.category.title-plural`,\n icon: 'fa-light fa-folder'\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}.entities.report.title`,\n //titlePlural: `@${config.i18n}.entities.report.title-plural`,\n titlePlural: `t(\"entities.report.title-plural\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-chart-pie'\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sR0FBRztJQUNYLElBQUksRUFBRSxtQkFBbUI7SUFDekIsTUFBTSxFQUFDLGtCQUFrQjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDSixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxjQUFjO1FBQ3BDLElBQUksRUFBRSx1QkFBdUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSwwQkFBMEIsTUFBTSxDQUFDLElBQUksTUFBTTtZQUNsRCxXQUFXLEVBQUUsZ0NBQWdDLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFDOUQsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNHLFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLFdBQVc7WUFDckMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksMEJBQTBCO1lBQ2hELFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGlDQUFpQztZQUM3RCxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTO1lBQ25DLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLHdCQUF3QjtZQUM5Qyw4REFBOEQ7WUFDOUQsV0FBVyxFQUFFLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxLQUFLO1lBQ3pFLElBQUksRUFBRSw0QkFBNEI7U0FDckM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gICAgaTE4bjogJ3JlcG9ydC1tYW5hZ2VtZW50JyxcbiAgICBtb2R1bGU6J1JlcG9ydE1hbmFnZW1lbnQnXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgICBjb25maWcsXG4gICAgbW9kdWxlOiB7XG4gICAgICAgIHJvdXRlOiAncmVwb3J0LW1hbmFnZW1lbnQnLFxuICAgICAgICBuYW1lOiBjb25maWcubW9kdWxlLFxuICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5tb2R1bGUtbmFtZWAsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGFydC1iYXInXG4gICAgfSxcbiAgICBlbnRpdGllczoge1xuICAgIGRhdGFTZXQ6IHtcbiAgICAgIG5hbWU6ICdEYXRhU2V0JyxcbiAgICAgIHRpdGxlOiBgdChcImRhdGFTZXRcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgdChcImRhdGFTZXRQbHVyYWxcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgICAgbmFtZTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5DYXRlZ29yeWAsXG4gICAgICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZWAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZS1wbHVyYWxgLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlcidcbiAgICAgICAgfSxcbiAgICAgICAgcmVwb3J0OiB7XG4gICAgICAgICAgICBuYW1lOiAnUmVwb3J0JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5SZXBvcnRgLFxuICAgICAgICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlYCxcbiAgICAgICAgICAgIC8vdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlLXBsdXJhbGAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYHQoXCJlbnRpdGllcy5yZXBvcnQudGl0bGUtcGx1cmFsXCIse3Njb3BlOlwiJHtjb25maWcuaTE4bn1cIn0pYCxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWNoYXJ0LXBpZSdcbiAgICAgICAgfVxuICAgIH0sXG59O1xuIl19","//#region ---- Imports ----\nexport {};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0cy9yZXBvcnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCOztBQStkL0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEV4cG9ydE9wdGlvbnMsIEFYUE9wdGlvbnNEYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Q29sdW1uTm9kZSwgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5pbXBvcnQgeyBBWFBRdWVyeVNvcnQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcbmltcG9ydCB7IEFYUFN5c3RlbUFjdGlvblR5cGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBDb3JlIFJlcG9ydCBUeXBlcyBhbmQgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0VHlwZSA9ICd0YWJsZScgfCAnY2hhcnQnIHwgJ2NhcmRzJyB8ICdjdXN0b20nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc1JlcG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXTtcbiAgICBwYXJhbWV0ZXJHcm91cHM6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwW107XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgICBsYXlvdXRzOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uW107ICAvLyBDaGFuZ2VkIHRvIHN1cHBvcnQgbXVsdGlwbGUgbGF5b3V0c1xuICAgIGRlZmF1bHRMYXlvdXRJZDogc3RyaW5nOyAgICAgICAgICAgICAgLy8gV2hpY2ggbGF5b3V0IHRvIHNob3cgYnkgZGVmYXVsdFxufVxuXG4vKipcbiAqIExheW91dCBEZWZpbml0aW9uIC0gQXNzb2NpYXRlcyBhIGxheW91dCB3aXRoIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0TGF5b3V0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgICAgICAgIC8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGxheW91dFxuICAgIHRpdGxlOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IG5hbWUgKGUuZy4sIFwiVGFibGUgVmlld1wiLCBcIkNoYXJ0IFZpZXdcIilcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZzsgICAgICAgICAgLy8gT3B0aW9uYWwgZGVzY3JpcHRpb25cbiAgICBpY29uPzogc3RyaW5nOyAgICAgICAgICAgICAgICAgLy8gSWNvbiBmb3IgbGF5b3V0IHN3aXRjaGVyIFVJXG4gICAgbGF5b3V0OiBBWFBSZXBvcnRMYXlvdXQ7ICAgICAgIC8vIFRoZSBhY3R1YWwgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICBkYXRhU291cmNlPzogQVhQUmVwb3J0RGF0YVNvdXJjZTsgLy8gT3B0aW9uYWwgbGF5b3V0LXNwZWNpZmljIGRhdGFTb3VyY2UgKG92ZXJyaWRlcyByZXBvcnQtbGV2ZWwpXG4gICAgaXNEZWZhdWx0PzogYm9vbGVhbjsgICAgICAgICAgIC8vIEFsdGVybmF0aXZlIHRvIGRlZmF1bHRMYXlvdXRJZFxuICAgIGV4cG9ydD86IEFYUEV4cG9ydE9wdGlvbnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRQYXJhbWV0ZXJHcm91cCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogQVhQUmVwb3J0UGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB3aWRnZXQ6IEFYUFdpZGdldE5vZGU7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIERhdGEgU291cmNlIFR5cGVzICAgLS0tLVxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnREYXRhU291cmNlID1cbiAgICB8IEFYUFF1ZXJ5RGF0YVNvdXJjZVxuICAgIHwgQVhQQ3VzdG9tRGF0YVNvdXJjZVxuICAgIHwgQVhQQWdncmVnYXRlZERhdGFTb3VyY2VcbiAgICB8IEFYUFRyYW5zZm9ybWVkRGF0YVNvdXJjZTtcblxuLyoqXG4gKiBRdWVyeSBEYXRhIFNvdXJjZSAtIFVzZWQgZm9yIGV4ZWN1dGluZyBwcmVkZWZpbmVkIHF1ZXJpZXMgKEFYUFF1ZXJ5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFF1ZXJ5RGF0YVNvdXJjZSB7XG4gICAgdHlwZTogJ3F1ZXJ5JztcbiAgICBuYW1lOiBzdHJpbmc7IC8vIFRoZSByZWdpc3RlcmVkIHF1ZXJ5IG5hbWUsIGUuZy4sICdnZXRFbXBsb3llZUxpc3QnXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107IC8vIE1hcHMgcmVwb3J0IHBhcmFtZXRlcnMgdG8gcXVlcnkgaW5wdXRzXG4gICAgc29ydEZpZWxkcz86IEFYUFF1ZXJ5U29ydFtdOyAgICAgICAgICAvLyBEZWZhdWx0IHNvcnRpbmcgYXBwbGllZCBieSB0aGUgYmFja2VuZFxuICAgIHBhZ2luYXRpb24/OiBib29sZWFuOyAgICAgICAgICAgICAgICAgLy8gRW5hYmxlcyBwYWdpbmcgaW4gcmVzdWx0IHNldFxufVxuXG5cblxuLyoqXG4gKiBDdXN0b20gRGF0YSBTb3VyY2UgLSBVc2VkIGZvciBmZXRjaGluZyBkYXRhIGZyb20gY3VzdG9tIHByb3ZpZGVycyBsaWtlIFJFU1QgQVBJcyBvciBleHRlcm5hbCBzZXJ2aWNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEN1c3RvbURhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICdjdXN0b20nO1xuICAgIHByb3ZpZGVyOiBzdHJpbmc7IC8vIEV4YW1wbGU6ICdodHRwOi8vYXBpL3JlcG9ydCcgb3IgJ2N1c3RvbTpNeUhhbmRsZXInXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107IC8vIE1hcHMgcmVwb3J0IHBhcmFtZXRlcnMgdG8gcGF5bG9hZFxuICAgIG9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9OyAgICAgLy8gQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgY3VzdG9tIGhhbmRsZXJcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXIgQmluZGluZyAtIE1hcHMgcmVwb3J0LWxldmVsIHBhcmFtZXRlcnMgdG8gYWN0dWFsIHF1ZXJ5L2NvbW1hbmQgaW5wdXQgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZyB7XG4gICAgcGFyYW1ldGVyS2V5OiBzdHJpbmc7IC8vIFJlcG9ydCBwYXJhbWV0ZXIga2V5LCBlLmcuLCAnc3RhcnREYXRlJ1xuICAgIGJpbmRUbzogc3RyaW5nOyAgICAgICAvLyBJbnB1dCBrZXkgaW4gdGhlIHF1ZXJ5L2NvbW1hbmQgcGF5bG9hZCwgZS5nLiwgJ2ZpbHRlcnMuZnJvbSdcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGVkIERhdGEgU291cmNlIC0gVXNlZCBmb3IgcHJlLWFnZ3JlZ2F0ZWQgZGF0YSBvcHRpbWl6ZWQgZm9yIGNoYXJ0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFnZ3JlZ2F0ZWREYXRhU291cmNlIHtcbiAgICB0eXBlOiAnYWdncmVnYXRlZCc7XG4gICAgYmFzZVF1ZXJ5OiBzdHJpbmc7ICAgIC8vIEJhc2UgcXVlcnkgdG8gYWdncmVnYXRlIGZyb21cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIGdyb3VwQnk6IHN0cmluZ1tdOyAgICAvLyBGaWVsZHMgdG8gZ3JvdXAgYnlcbiAgICBhZ2dyZWdhdGlvbnM6IEFYUEFnZ3JlZ2F0aW9uW107IC8vIEFnZ3JlZ2F0aW9uIG9wZXJhdGlvbnNcbiAgICBpbnB1dHM/OiBBWFBSZXBvcnRQYXJhbWV0ZXJCaW5kaW5nW107XG59XG5cbi8qKlxuICogVHJhbnNmb3JtZWQgRGF0YSBTb3VyY2UgLSBBcHBsaWVzIHRyYW5zZm9ybWF0aW9ucyB0byBleGlzdGluZyBkYXRhIHNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBUcmFuc2Zvcm1lZERhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICd0cmFuc2Zvcm1lZCc7XG4gICAgYmFzZURhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7IC8vIFNvdXJjZSB0byB0cmFuc2Zvcm1cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIHRyYW5zZm9ybWF0aW9uczogQVhQRGF0YVRyYW5zZm9ybWF0aW9uW107IC8vIExpc3Qgb2YgdHJhbnNmb3JtYXRpb25zXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdO1xufVxuXG4vKipcbiAqIEFnZ3JlZ2F0aW9uIG9wZXJhdGlvbiBmb3IgYWdncmVnYXRlZCBkYXRhIHNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBZ2dyZWdhdGlvbiB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRpb246ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21pbicgfCAnbWF4JyB8ICdkaXN0aW5jdCc7XG4gICAgYWxpYXM/OiBzdHJpbmc7IC8vIE91dHB1dCBmaWVsZCBuYW1lXG59XG5cbi8qKlxuICogRGF0YSB0cmFuc2Zvcm1hdGlvbiBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBEYXRhVHJhbnNmb3JtYXRpb24ge1xuICAgIHR5cGU6ICdmaWx0ZXInIHwgJ3NvcnQnIHwgJ2dyb3VwJyB8ICdwaXZvdCcgfCAnZm9ybWF0JztcbiAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT47IC8vIFRyYW5zZm9ybWF0aW9uLXNwZWNpZmljIGNvbmZpZ3VyYXRpb25cbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IFR5cGVzICAgLS0tLVxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnRMYXlvdXQgPVxuICAgIHwgQVhQUmVwb3J0VGFibGVMYXlvdXRcbiAgICB8IEFYUFJlcG9ydENoYXJ0TGF5b3V0XG5cbi8qKlxuICogVGFibGUgTGF5b3V0IC0gRGlzcGxheXMgZGF0YSBpbiB0YWJ1bGFyIGZvcm1hdFxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb24gZXh0ZW5kcyBBWFBBY3Rpb25NZW51SXRlbSB7XG4gICAgcHJpb3JpdHk6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuICAgIHR5cGU6IEFYUFN5c3RlbUFjdGlvblR5cGUgfCBzdHJpbmc7XG4gICAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0VGFibGVMYXlvdXQge1xuICAgIHR5cGU6ICd0YWJsZSc7XG4gICAgY29sdW1uczogQVhQUmVwb3J0Q29sdW1uW107XG4gICAgYWN0aW9ucz86IEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uW107XG4gICAgb3B0aW9ucz86IEFYUFRhYmxlT3B0aW9ucztcbiAgICBncm91cEJ5Pzogc3RyaW5nW107XG4gICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nPzogQVhQQ29uZGl0aW9uYWxGb3JtYXRSdWxlW107XG4gICAgc3VtbWFyeT86IEFYUFJlcG9ydFN1bW1hcnlPcHRpb25zW107XG4gICAgaGVhZGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xuICAgIGZvb3Rlcj86IEFYUFJlcG9ydEhlYWRlckZvb3Rlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBUYWJsZU9wdGlvbnMge1xuICAgIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICAgIHN0aWNreUhlYWRlcj86IGJvb2xlYW47XG4gICAgc3RyaXBlZFJvd3M/OiBib29sZWFuO1xuICAgIHNvcnRpbmc/OiBBWFBRdWVyeVNvcnRbXTtcbiAgICBzZWxlY3RhYmxlPzoge1xuICAgICAgICBtb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgfCAnbm9uZSc7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBMYXlvdXQgLSBEaXNwbGF5cyBkYXRhIGluIHZhcmlvdXMgY2hhcnQgZm9ybWF0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENoYXJ0TGF5b3V0IHtcbiAgICB0eXBlOiAnY2hhcnQnO1xuICAgIG9wdGlvbnM6IEFYUFJlcG9ydENoYXJ0T3B0aW9ucztcbiAgICBoZWFkZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG4gICAgZm9vdGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENoYXJ0T3B0aW9ucyB7XG4gICAgY2hhcnRUeXBlOiAnYmFyJyB8ICdsaW5lJyB8ICdwaWUnIHwgJ2RvdWdobnV0JyB8ICdhcmVhJyB8ICdzY2F0dGVyJyB8ICdyYWRhcicgfCAnbWl4ZWQnO1xuICAgIGRhdGFNYXBwaW5nOiBBWFBDaGFydERhdGFNYXBwaW5nO1xuICAgIHN0eWxpbmc/OiBBWFBDaGFydFN0eWxpbmc7XG4gICAgaW50ZXJhY3Rpdml0eT86IEFYUENoYXJ0SW50ZXJhY3Rpdml0eTtcbn1cblxuLyoqXG4gKiBDaGFydCBEYXRhIE1hcHBpbmcgQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUENoYXJ0RGF0YU1hcHBpbmcge1xuICAgIC8vIENvcmUgZmllbGRzXG4gICAgeEZpZWxkOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAvLyBYLWF4aXMgZGF0YSBmaWVsZFxuICAgIHlGaWVsZHM6IHN0cmluZyB8IHN0cmluZ1tdOyAgICAgICAgLy8gWS1heGlzIGRhdGEgZmllbGQocykgZm9yIG11bHRpcGxlIHNlcmllc1xuXG4gICAgLy8gR3JvdXBpbmcgYW5kIGNhdGVnb3JpemF0aW9uXG4gICAgZ3JvdXBCeT86IHN0cmluZzsgICAgICAgICAgICAgICAgICAvLyBHcm91cCBkYXRhIGJ5IHRoaXMgZmllbGRcbiAgICBzZXJpZXNGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgIC8vIEZpZWxkIHRvIGNyZWF0ZSBtdWx0aXBsZSBzZXJpZXNcblxuICAgIC8vIFNwZWNpYWwgZmllbGRzIGZvciBzcGVjaWZpYyBjaGFydCB0eXBlc1xuICAgIHNpemVGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgICAgLy8gRm9yIGJ1YmJsZSBjaGFydHNcbiAgICBjb2xvckZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgIC8vIEZvciBncmFkaWVudC9jb25kaXRpb25hbCBjb2xvcmluZ1xuICAgIGxhYmVsRmllbGQ/OiBzdHJpbmc7ICAgICAgICAgICAgICAgLy8gQ3VzdG9tIGxhYmVsIGZpZWxkXG5cbiAgICAvLyBEYXRhIGFnZ3JlZ2F0aW9uXG4gICAgYWdncmVnYXRpb24/OiB7XG4gICAgICAgIG1ldGhvZDogJ3N1bScgfCAnYXZnJyB8ICdjb3VudCcgfCAnbWluJyB8ICdtYXgnO1xuICAgICAgICBmaWVsZDogc3RyaW5nO1xuICAgIH07XG59XG5cbi8qKlxuICogQ2hhcnQgVmlzdWFsIFN0eWxpbmcgQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUENoYXJ0U3R5bGluZyB7XG4gICAgLy8gVGhlbWUgYW5kIGNvbG9yc1xuICAgIGNvbG9yU2NoZW1lPzogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgfCAnY3VzdG9tJztcbiAgICBjdXN0b21Db2xvcnM/OiBzdHJpbmdbXTtcblxuICAgIC8vIENoYXJ0IGFwcGVhcmFuY2VcbiAgICBncmlkTGluZXM/OiBib29sZWFuO1xuICAgIGxlZ2VuZD86IHtcbiAgICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgICAgcG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnO1xuICAgIH07XG5cbiAgICAvLyBBeGVzIGNvbmZpZ3VyYXRpb25cbiAgICB4QXhpcz86IEFYUENoYXJ0QXhpc0NvbmZpZztcbiAgICB5QXhpcz86IEFYUENoYXJ0QXhpc0NvbmZpZztcblxuICAgIC8vIEFuaW1hdGlvblxuICAgIGFuaW1hdGlvbj86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgZHVyYXRpb24/OiBudW1iZXI7XG4gICAgfTtcblxuICAgIC8vIENoYXJ0LXNwZWNpZmljIHN0eWxpbmdcbiAgICBjaGFydFNwZWNpZmljPzoge1xuICAgICAgICAvLyBCYXIgY2hhcnQgb3B0aW9uc1xuICAgICAgICBiYXI/OiB7XG4gICAgICAgICAgICBvcmllbnRhdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgICAgICAgICAgIG1vZGU6ICdncm91cGVkJyB8ICdzdGFja2VkJztcbiAgICAgICAgICAgIGJhcldpZHRoPzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIExpbmUgY2hhcnQgb3B0aW9uc1xuICAgICAgICBsaW5lPzoge1xuICAgICAgICAgICAgc3R5bGU6ICdzdHJhaWdodCcgfCAnY3VydmVkJyB8ICdzdGVwcGVkJztcbiAgICAgICAgICAgIHNob3dQb2ludHM/OiBib29sZWFuO1xuICAgICAgICAgICAgdGVuc2lvbj86IG51bWJlcjtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBBcmVhIGNoYXJ0IG9wdGlvbnNcbiAgICAgICAgYXJlYT86IHtcbiAgICAgICAgICAgIG1vZGU6ICdub3JtYWwnIHwgJ3N0YWNrZWQnIHwgJ3BlcmNlbnRhZ2UnO1xuICAgICAgICAgICAgb3BhY2l0eT86IG51bWJlcjtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBQaWUvRG91Z2hudXQgb3B0aW9uc1xuICAgICAgICBwaWU/OiB7XG4gICAgICAgICAgICBzdGFydEFuZ2xlPzogbnVtYmVyO1xuICAgICAgICAgICAgaW5uZXJSYWRpdXM/OiBudW1iZXI7IC8vIEZvciBkb3VnaG51dCBjaGFydHNcbiAgICAgICAgICAgIHNob3dMYWJlbHM/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgIH07XG59XG5cbi8qKlxuICogQ2hhcnQgQXhpcyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRBeGlzQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICB0eXBlPzogJ2xpbmVhcicgfCAnbG9nYXJpdGhtaWMnIHwgJ2RhdGV0aW1lJyB8ICdjYXRlZ29yeSc7XG4gICAgbWluPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIG1heD86IG51bWJlciB8IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgZ3JpZExpbmVzPzogYm9vbGVhbjtcbiAgICB0aWNrSW50ZXJ2YWw/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2hhcnQgSW50ZXJhY3Rpdml0eSBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRJbnRlcmFjdGl2aXR5IHtcbiAgICAvLyBab29tIGFuZCBwYW5cbiAgICB6b29tPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBtb2RlPzogJ3gnIHwgJ3knIHwgJ3h5JztcbiAgICB9O1xuXG4gICAgLy8gVG9vbHRpcHNcbiAgICB0b29sdGlwcz86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgICAgICBzaG93T25Ib3Zlcj86IGJvb2xlYW47XG4gICAgfTtcblxuICAgIC8vIENsaWNrIGV2ZW50c1xuICAgIG9uQ2xpY2s/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIGFjdGlvbj86ICdkcmlsbC1kb3duJyB8ICdmaWx0ZXInIHwgJ2N1c3RvbSc7XG4gICAgfTtcblxuICAgIC8vIFNlbGVjdGlvblxuICAgIHNlbGVjdGlvbj86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgbW9kZT86ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcbiAgICB9O1xuXG4gICAgLy8gRXhwb3J0XG4gICAgZXhwb3J0Pzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBmb3JtYXRzPzogKCdwbmcnIHwgJ2pwZycgfCAncGRmJyB8ICdzdmcnKVtdO1xuICAgIH07XG59XG5cblxuLy8jcmVnaW9uIC0tLS0gICBTaGFyZWQgTW9kZWxzICAgLS0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENvbHVtbiB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgICB3aWRnZXQ/OiBBWFBXaWRnZXRDb2x1bW5Ob2RlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0U3VtbWFyeU9wdGlvbnMge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3BlcmF0aW9uOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCc7XG4gICAgZGlzcGxheUluOiAnZ3JvdXBGb290ZXInIHwgJ3JlcG9ydEZvb3Rlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29uZGl0aW9uYWxGb3JtYXRSdWxlIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGNvbmRpdGlvbjogJz4nIHwgJzwnIHwgJz0nIHwgJyE9JyB8ICdjb250YWlucyc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBzdHlsZToge1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgICAgICBmb250V2VpZ2h0PzogJ25vcm1hbCcgfCAnYm9sZCc7XG4gICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRIZWFkZXJGb290ZXIge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxvZ29Vcmw/OiBzdHJpbmc7XG4gICAgc2hvd0RhdGU/OiBib29sZWFuO1xuICAgIHNob3dQYXJhbWV0ZXJzPzogYm9vbGVhbjtcbiAgICBjdXN0b21IdG1sPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIExheW91dCBzd2l0Y2hlciBvcHRpb25zIGZvciBVSSBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0U3dpdGNoZXJPcHRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHR5cGU6IEFYUFJlcG9ydExheW91dFR5cGU7XG59XG5cbi8qKlxuICogUnVudGltZSBsYXlvdXQgc2VsZWN0aW9uIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0TGF5b3V0U3RhdGUge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgYWN0aXZlTGF5b3V0SWQ6IHN0cmluZztcbiAgICBhdmFpbGFibGVMYXlvdXRzOiBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbltdO1xufVxuXG4vKipcbiAqIExheW91dCB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dFZhbGlkYXRpb25SZXN1bHQge1xuICAgIGlzVmFsaWQ6IGJvb2xlYW47XG4gICAgZXJyb3JzOiBzdHJpbmdbXTtcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgc291cmNlIHJlc29sdXRpb24gcmVzdWx0IGZvciBhIHNwZWNpZmljIGxheW91dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dERhdGFTb3VyY2VSZXNvbHV0aW9uIHtcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIGRhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7XG4gICAgc291cmNlOiAnbGF5b3V0JyB8ICdyZXBvcnQnIHwgJ25vbmUnOyAvLyBXaGVyZSB0aGUgZGF0YVNvdXJjZSBjYW1lIGZyb21cbn1cblxuLyoqXG4gKiBMYXlvdXQgZXhlY3V0aW9uIGNvbnRleHQgd2l0aCByZXNvbHZlZCBkYXRhIHNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgbGF5b3V0SWQ6IHN0cmluZztcbiAgICBkYXRhU291cmNlOiBBWFBSZXBvcnREYXRhU291cmNlO1xuICAgIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cblxuZXhwb3J0IHR5cGUgQVhQRXhlY3V0aW9uUmVwb3J0UmVzdWx0ID1cbiAgICB8IHsgdHlwZTogJ3RhYmxlJywgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10sIHRvdGFsOiBudW1iZXIgfVxuICAgIHwgeyB0eXBlOiAnY2hhcnQnLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9XG4gICAgfCB7IHR5cGU6ICdjYXJkcycsIGl0ZW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH1cbiAgICB8IHsgdHlwZTogJ2N1c3RvbScsIGRhdGE6IHVua25vd24gfTtcblxuXG5leHBvcnQgdHlwZSBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0ID0gQVhQUmVwb3J0TGF5b3V0ICYgeyBkYXRhOiBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgfTtcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmQgZXh0ZW5kcyBBWFBDb21tYW5kPEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQsIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQ+IHtcbn1cblxuLyoqXG4gKiBSZXBvcnQgZXhlY3V0aW9uIHN0YXR1cyBhbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25TdGF0dXMge1xuICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgbGF5b3V0SWQ6IHN0cmluZztcbiAgICBzdGF0dXM6ICdwZW5kaW5nJyB8ICdleGVjdXRpbmcnIHwgJ2NvbXBsZXRlZCcgfCAnZmFpbGVkJyB8ICdjYW5jZWxsZWQnO1xuICAgIHN0YXJ0VGltZTogRGF0ZTtcbiAgICBlbmRUaW1lPzogRGF0ZTtcbiAgICBkdXJhdGlvbj86IG51bWJlcjsgLy8gbWlsbGlzZWNvbmRzXG4gICAgcmVjb3JkQ291bnQ/OiBudW1iZXI7XG4gICAgZXJyb3I/OiBBWFBSZXBvcnRFeGVjdXRpb25FcnJvcjtcbn1cblxuLyoqXG4gKiBEZXRhaWxlZCBlcnJvciBpbmZvcm1hdGlvbiBmb3IgcmVwb3J0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvbkVycm9yIHtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBzdGFjaz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXBvcnQgZXhlY3V0aW9uIHJlcXVlc3Qgd2l0aCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RXhlY3V0aW9uUmVxdWVzdCB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIG9wdGlvbnM/OiBBWFBSZXBvcnRFeGVjdXRpb25PcHRpb25zO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHJlcG9ydCBleGVjdXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25PcHRpb25zIHtcbiAgICB0aW1lb3V0PzogbnVtYmVyOyAvLyBtaWxsaXNlY29uZHNcbiAgICBwcmlvcml0eT86ICdsb3cnIHwgJ25vcm1hbCcgfCAnaGlnaCc7XG4gICAgY2FjaGU/OiBib29sZWFuO1xuICAgIGNhY2hlVGltZW91dD86IG51bWJlcjsgLy8gc2Vjb25kc1xufVxuXG4vLyNlbmRyZWdpb25cblxuXG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AXP_REPORT_DEFINITION_PROVIDER = new InjectionToken('AXP_REPORT_DEFINITION_PROVIDER', {\n factory: () => [],\n});\nexport const AXP_REPORT_CATEGORY_PROVIDER = new InjectionToken('AXP_REPORT_CATEGORY_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQXFDLGdDQUFnQyxFQUFFO0lBQ25JLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQUMsQ0FBQztBQVlILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFtQyw4QkFBOEIsRUFBRTtJQUM3SCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuL3JlcG9ydC50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclxuICAgIHwgUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXI+O1xuXG5leHBvcnQgY29uc3QgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuW10+KCdBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVInLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXIge1xuICAgIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD47XG59XG5cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJcbiAgICB8IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcj47XG5cbmV4cG9ydCBjb25zdCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJUb2tlbltdPignQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBbXSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQ+O1xufVxuXG5cblxuIl19","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_REPORT_CATEGORY_PROVIDER, AXP_REPORT_DEFINITION_PROVIDER } from './report-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPReportDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.categoryProviders = inject(AXP_REPORT_CATEGORY_PROVIDER, { optional: true }) || [];\n this.definitionProviders = inject(AXP_REPORT_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by categoryId. */\n this.definitionsByCategory = new Map();\n /** Cache for categories by id. */\n this.categoriesById = new Map();\n /** Cache for categories by parentId. */\n this.categoriesByParentId = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns all categories for a given parentId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getCategories(parentId) {\n if (this.categoriesByParentId.has(parentId)) {\n return this.categoriesByParentId.get(parentId);\n }\n const resolvedProviders = await Promise.allSettled(this.categoryProviders);\n const categories = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const cats = await p.value.getList(parentId);\n if (Array.isArray(cats)) {\n categories.push(...cats);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.categoriesByParentId.set(parentId, categories);\n for (const cat of categories) {\n this.categoriesById.set(cat.id, cat);\n }\n return categories;\n }\n /**\n * Returns all report definitions for a given categoryId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getReportsByCategoryId(categoryId) {\n if (this.definitionsByCategory.has(categoryId)) {\n return this.definitionsByCategory.get(categoryId);\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n const definitions = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const defs = await p.value.getList(categoryId);\n if (Array.isArray(defs)) {\n definitions.push(...defs);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.definitionsByCategory.set(categoryId, definitions);\n return definitions;\n }\n /**\n * Returns a report definition by its id. Continues through providers on errors.\n */\n async getReportById(id) {\n for (const reports of this.definitionsByCategory.values()) {\n const found = reports.find(report => report.id === id);\n if (found) {\n return found;\n }\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getById === 'function') {\n try {\n const result = await p.value.getById(id);\n if (result)\n return result;\n }\n catch {\n // continue on error\n }\n }\n }\n return undefined;\n }\n /**\n * Returns a category by its id, using cache and providers if needed.\n */\n async getCategoryById(categoryId) {\n if (this.categoriesById.has(categoryId)) {\n return this.categoriesById.get(categoryId);\n }\n for (const categories of this.categoriesByParentId.values()) {\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n this.categoriesById.set(categoryId, found);\n return found;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n const found = this.categoriesById.get(categoryId);\n if (found)\n return found;\n }\n const searchQueue = [undefined];\n const searched = new Set();\n while (searchQueue.length > 0) {\n const parentId = searchQueue.shift();\n if (searched.has(parentId))\n continue;\n searched.add(parentId);\n const categories = await this.getCategories(parentId);\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n return found;\n }\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searchQueue.push(category.id);\n }\n }\n }\n return undefined;\n }\n /**\n * Returns the full categories path from root to the specified category.\n */\n async getCategoriesPathById(categoryId) {\n const path = [];\n let currentCategoryId = categoryId;\n while (currentCategoryId) {\n let category = this.categoriesById.get(currentCategoryId);\n if (!category) {\n category = await this.getCategoryById(currentCategoryId);\n if (!category) {\n throw new Error(`Category with id '${currentCategoryId}' not found`);\n }\n }\n path.unshift(category);\n currentCategoryId = category.parentId;\n }\n return path;\n }\n /**\n * Returns the full categories path for the category that contains the specified report.\n */\n async getCategoriesPathByReportId(reportId) {\n const categoryId = await this.getCategoryIdByReportId(reportId);\n if (!categoryId) {\n throw new Error(`Report with id '${reportId}' not found in any category`);\n }\n return this.getCategoriesPathById(categoryId);\n }\n /**\n * Returns the category ID that contains a specific report.\n */\n async getCategoryIdByReportId(reportId) {\n for (const [categoryId, reports] of this.definitionsByCategory.entries()) {\n if (reports.some(report => report.id === reportId)) {\n return categoryId;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n }\n const searched = new Set();\n const searchQueueParents = [undefined];\n const searchedParents = new Set();\n while (searchQueueParents.length > 0) {\n const parentId = searchQueueParents.shift();\n if (searchedParents.has(parentId))\n continue;\n searchedParents.add(parentId);\n const categories = await this.getCategories(parentId);\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searched.add(category.id);\n const reports = await this.getReportsByCategoryId(category.id);\n if (reports.some(report => report.id === reportId)) {\n return category.id;\n }\n searchQueueParents.push(category.id);\n }\n }\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n clearDefinitionsCache() {\n this.definitionsByCategory.clear();\n }\n clearCategoriesCache() {\n this.categoriesByParentId.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRTVHLFlBQVk7QUFLWixNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSUksMENBQTBDO1FBRXpCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRix3QkFBbUIsR0FBRyxNQUFNLENBQUMsOEJBQThCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEcsMkNBQTJDO1FBQ25DLDBCQUFxQixHQUF1QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlFLGtDQUFrQztRQUMxQixtQkFBYyxHQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25FLHdDQUF3QztRQUNoQyx5QkFBb0IsR0FBaUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQTRNMUY7SUExTUcsWUFBWTtJQUVaLGtDQUFrQztJQUVsQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUNwRCxD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SSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUNqRCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7b0JBQ0Qsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7SUFFWix3Q0FBd0M7SUFFeEMscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQXBOUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uIH0gZnJvbSAnLi9yZXBvcnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUiwgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9yZXBvcnQtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5cbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm92aWRlcnMgJiBDYWNoZXMgICAtLS0tXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZpbml0aW9uUHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcblxuICAgIC8qKiBDYWNoZSBmb3IgZGVmaW5pdGlvbnMgYnkgY2F0ZWdvcnlJZC4gKi9cbiAgICBwcml2YXRlIGRlZmluaXRpb25zQnlDYXRlZ29yeTogTWFwPHN0cmluZywgQVhQUmVwb3J0RGVmaW5pdGlvbltdPiA9IG5ldyBNYXAoKTtcbiAgICAvKiogQ2FjaGUgZm9yIGNhdGVnb3JpZXMgYnkgaWQuICovXG4gICAgcHJpdmF0ZSBjYXRlZ29yaWVzQnlJZDogTWFwPHN0cmluZywgQVhQUmVwb3J0Q2F0ZWdvcnk+ID0gbmV3IE1hcCgpO1xuICAgIC8qKiBDYWNoZSBmb3IgY2F0ZWdvcmllcyBieSBwYXJlbnRJZC4gKi9cbiAgICBwcml2YXRlIGNhdGVnb3JpZXNCeVBhcmVudElkOiBNYXA8c3RyaW5nIHwgdW5kZWZpbmVkLCBBWFBSZXBvcnRDYXRlZ29yeVtdPiA9IG5ldyBNYXAoKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgQVBJICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbGwgY2F0ZWdvcmllcyBmb3IgYSBnaXZlbiBwYXJlbnRJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldENhdGVnb3JpZXMocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHBhcmVudElkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuZ2V0KHBhcmVudElkKSE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZCh0aGlzLmNhdGVnb3J5UHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllczogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0cyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChwYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhdHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goLi4uY2F0cyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLnNldChwYXJlbnRJZCwgY2F0ZWdvcmllcyk7XG4gICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5SWQuc2V0KGNhdC5pZCwgY2F0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCByZXBvcnQgZGVmaW5pdGlvbnMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnlJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgaWYgKHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmhhcyhjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmdldChjYXRlZ29yeUlkKSE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm92aWRlcnMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQodGhpcy5kZWZpbml0aW9uUHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgZGVmaW5pdGlvbnM6IEFYUFJlcG9ydERlZmluaXRpb25bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmcyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLnB1c2goLi4uZGVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5SWQsIGRlZmluaXRpb25zKTtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuIENvbnRpbnVlcyB0aHJvdWdoIHByb3ZpZGVycyBvbiBlcnJvcnMuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb3J0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgcmVwb3J0cyBvZiB0aGlzLmRlZmluaXRpb25zQnlDYXRlZ29yeS52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSByZXBvcnRzLmZpbmQocmVwb3J0ID0+IHJlcG9ydC5pZCA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc29sdmVkUHJvdmlkZXJzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiByZXNvbHZlZFByb3ZpZGVycykge1xuICAgICAgICAgICAgaWYgKHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJyAmJiBwLnZhbHVlICYmIHR5cGVvZiBwLnZhbHVlLmdldEJ5SWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwLnZhbHVlLmdldEJ5SWQoaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb250aW51ZSBvbiBlcnJvclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjYXRlZ29yeSBieSBpdHMgaWQsIHVzaW5nIGNhY2hlIGFuZCBwcm92aWRlcnMgaWYgbmVlZGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRDYXRlZ29yeUJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzQnlJZC5oYXMoY2F0ZWdvcnlJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXNCeUlkLmdldChjYXRlZ29yeUlkKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3JpZXMgb2YgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeUlkLCBmb3VuZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoUXVldWU6IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoZWQgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudElkID0gc2VhcmNoUXVldWUuc2hpZnQoKSE7XG4gICAgICAgICAgICBpZiAoc2VhcmNoZWQuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZC5hZGQocGFyZW50SWQpO1xuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcyhwYXJlbnRJZCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IGNhdGVnb3JpZXMuZmluZChjYXQgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcykge1xuICAgICAgICAgICAgICAgIGlmICghc2VhcmNoZWQuaGFzKGNhdGVnb3J5LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hRdWV1ZS5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmdWxsIGNhdGVnb3JpZXMgcGF0aCBmcm9tIHJvb3QgdG8gdGhlIHNwZWNpZmllZCBjYXRlZ29yeS5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGg6IEFYUFJlcG9ydENhdGVnb3J5W10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYXRlZ29yeUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjYXRlZ29yeUlkO1xuICAgICAgICB3aGlsZSAoY3VycmVudENhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIGxldCBjYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnlCeUlkKGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2F0ZWdvcnkgd2l0aCBpZCAnJHtjdXJyZW50Q2F0ZWdvcnlJZH0nIG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChjYXRlZ29yeSk7XG4gICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5LnBhcmVudElkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgY2F0ZWdvcmllcyBwYXRoIGZvciB0aGUgY2F0ZWdvcnkgdGhhdCBjb250YWlucyB0aGUgc3BlY2lmaWVkIHJlcG9ydC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yeUlkID0gYXdhaXQgdGhpcy5nZXRDYXRlZ29yeUlkQnlSZXBvcnRJZChyZXBvcnRJZCk7XG4gICAgICAgIGlmICghY2F0ZWdvcnlJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvcnQgd2l0aCBpZCAnJHtyZXBvcnRJZH0nIG5vdCBmb3VuZCBpbiBhbnkgY2F0ZWdvcnlgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY2F0ZWdvcnkgSUQgdGhhdCBjb250YWlucyBhIHNwZWNpZmljIHJlcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlJZEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgW2NhdGVnb3J5SWQsIHJlcG9ydHNdIG9mIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmVudHJpZXMoKSkge1xuICAgICAgICAgICAgaWYgKHJlcG9ydHMuc29tZShyZXBvcnQgPT4gcmVwb3J0LmlkID09PSByZXBvcnRJZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnlJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcygpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaFF1ZXVlUGFyZW50czogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFt1bmRlZmluZWRdO1xuICAgICAgICBjb25zdCBzZWFyY2hlZFBhcmVudHMgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlUGFyZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHNlYXJjaFF1ZXVlUGFyZW50cy5zaGlmdCgpITtcbiAgICAgICAgICAgIGlmIChzZWFyY2hlZFBhcmVudHMuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZFBhcmVudHMuYWRkKHBhcmVudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBhd2FpdCB0aGlzLmdldENhdGVnb3JpZXMocGFyZW50SWQpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hlZC5oYXMoY2F0ZWdvcnkuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkLmFkZChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcG9ydHMgPSBhd2FpdCB0aGlzLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVwb3J0cy5zb21lKHJlcG9ydCA9PiByZXBvcnQuaWQgPT09IHJlcG9ydElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5LmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFF1ZXVlUGFyZW50cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ2FjaGUgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBjbGVhckNhdGVnb3JpZXNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5jbGVhcigpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuXG5cbiJdfQ==","export function AXPieChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value,\n }));\n}\nexport function AXBarChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value,\n }));\n}\nexport function AXLineChartReportMapper(data) {\n const entries = Object.entries(data);\n if (entries.length === 0) {\n return [];\n }\n const dataPoints = entries.map(([key, value]) => ({\n x: key,\n y: value,\n }));\n return [\n {\n id: 'series-1',\n label: 'Data Series',\n tooltipLabel: 'Countries Info',\n lineColor: '#d81159',\n fillColor: '#d8115920',\n data: dataPoints,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBNEI7SUFDakUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELEVBQUUsRUFBRSxHQUFHO1FBQ1AsS0FBSyxFQUFFLEdBQUc7UUFDVixLQUFLLEVBQUUsS0FBSztLQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUE0QjtJQUNqRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsRUFBRSxFQUFFLEdBQUc7UUFDUCxLQUFLLEVBQUUsR0FBRztRQUNWLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQTRCO0lBQ2xFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDLEVBQUUsR0FBRztRQUNOLENBQUMsRUFBRSxLQUFLO0tBQ1QsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPO1FBQ0w7WUFDRSxFQUFFLEVBQUUsVUFBVTtZQUNkLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsSUFBSSxFQUFFLFVBQVU7U0FDakI7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2RvbnV0LWNoYXJ0JztcbmltcG9ydCB7IEFYTGluZUNoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9saW5lLWNoYXJ0JztcblxuZXhwb3J0IGZ1bmN0aW9uIEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogUmVjb3JkPHN0cmluZywgbnVtYmVyPik6IEFYRG9udXRDaGFydFZhbHVlIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIGlkOiBrZXksXG4gICAgbGFiZWw6IGtleSxcbiAgICB2YWx1ZTogdmFsdWUsXG4gIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFYQmFyQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogUmVjb3JkPHN0cmluZywgbnVtYmVyPik6IEFYQmFyQ2hhcnRWYWx1ZSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhkYXRhKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBpZDoga2V5LFxuICAgIGxhYmVsOiBrZXksXG4gICAgdmFsdWU6IHZhbHVlLFxuICB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBWExpbmVDaGFydFJlcG9ydE1hcHBlcihkYXRhOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+KTogQVhMaW5lQ2hhcnRWYWx1ZSB7XG4gIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkYXRhKTtcbiAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGRhdGFQb2ludHMgPSBlbnRyaWVzLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIHg6IGtleSxcbiAgICB5OiB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgaWQ6ICdzZXJpZXMtMScsXG4gICAgICBsYWJlbDogJ0RhdGEgU2VyaWVzJyxcbiAgICAgIHRvb2x0aXBMYWJlbDogJ0NvdW50cmllcyBJbmZvJyxcbiAgICAgIGxpbmVDb2xvcjogJyNkODExNTknLFxuICAgICAgZmlsbENvbG9yOiAnI2Q4MTE1OTIwJyxcbiAgICAgIGRhdGE6IGRhdGFQb2ludHMsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER } from '../../reports';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.report.name}`;\n }\n async getList(categoryId) {\n const result = (await this.queryService.fetch(`${this.entityName}:GetByCategory`, { categoryId }))?.items;\n return result ?? [];\n }\n async getById(id) {\n const result = await this.queryService.fetch(`${this.entityName}:GetById`, id);\n return result ?? undefined;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_DEFINITION_PROVIDER = {\n provide: AXP_REPORT_DEFINITION_PROVIDER,\n useClass: AXMReportDefinitionProvider,\n multi: true,\n};\n// --- Category Provider ---\nexport class AXMReportCategoryProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.category.name}`;\n }\n async getList(parentId) {\n let result = [];\n if (parentId) {\n result = (await this.queryService.fetch(`${this.entityName}:GetChildren`, { parentId }))?.items ?? [];\n }\n else {\n result = (await this.queryService.fetch(`${this.entityName}:GetRoots`, {}))?.items ?? [];\n }\n return result ?? [];\n }\n async getById(id) {\n return this.getList().then(cats => cats.find(cat => cat.id === id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportCategoryProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_CATEGORY_PROVIDER = {\n provide: AXP_REPORT_CATEGORY_PROVIDER,\n useClass: AXMReportCategoryProvider,\n multi: true,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9ELDhCQUE4QixFQUFnRCw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3TCxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBS3pDLE1BQU0sT0FBTywyQkFBMkI7SUFEeEM7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2QyxlQUFVLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQWlCdkY7SUFmRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDekMsR0FBRyxJQUFJLENBQUMsVUFBVSxnQkFBZ0IsRUFDbEMsRUFBRSxVQUFVLEVBQUUsQ0FDakIsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUNWLE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLEdBQUcsSUFBSSxDQUFDLFVBQVUsVUFBVSxFQUM1QixFQUFFLENBQ0wsQ0FBQztRQUNGLE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUMvQixDQUFDOzhHQWxCUSwyQkFBMkI7a0hBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7QUFzQlgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsMkJBQTJCO0lBQ3JDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLDZCQUE2QjtBQUU3QixNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRVksaUJBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsZUFBVSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FxQnpGO0lBbkJHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBaUI7UUFDM0IsSUFBSSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDbkMsR0FBRyxJQUFJLENBQUMsVUFBVSxjQUFjLEVBQ2hDLEVBQUUsUUFBUSxFQUFFLENBQ2YsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUE7UUFDbkIsQ0FBQzthQUNJLENBQUM7WUFDRixNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNuQyxHQUFHLElBQUksQ0FBQyxVQUFVLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FDckMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OEdBdEJRLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOztBQTBCWCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyLCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIsIEFYUFJlcG9ydENhdGVnb3J5LCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSwgQVhQUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYUFBhZ2VkTGlzdFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBxdWVyeVNlcnZpY2UgPSBpbmplY3QoQVhQUXVlcnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGVudGl0eU5hbWUgPSBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMucmVwb3J0Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucXVlcnlTZXJ2aWNlLmZldGNoPHsgY2F0ZWdvcnlJZDogc3RyaW5nIH0sIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnREZWZpbml0aW9uPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmVudGl0eU5hbWV9OkdldEJ5Q2F0ZWdvcnlgLFxuICAgICAgICAgICAgeyBjYXRlZ29yeUlkIH1cbiAgICAgICAgKSk/Lml0ZW1zO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IFtdO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxzdHJpbmcsIEFYUFJlcG9ydERlZmluaXRpb24+KFxuICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRCeUlkYCxcbiAgICAgICAgICAgIGlkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8vIC0tLSAgQ2F0ZWdvcnkgUHJvdmlkZXIgLS0tXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIHByaXZhdGUgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBlbnRpdHlOYW1lID0gYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmNhdGVnb3J5Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDx7IHBhcmVudElkOiBzdHJpbmcgfSwgQVhQUGFnZWRMaXN0UmVzdWx0PEFYUFJlcG9ydENhdGVnb3J5Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRDaGlsZHJlbmAsXG4gICAgICAgICAgICAgICAgeyBwYXJlbnRJZCB9XG4gICAgICAgICAgICApKT8uaXRlbXMgPz8gW11cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxhbnksIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnRDYXRlZ29yeT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuZW50aXR5TmFtZX06R2V0Um9vdHNgLCB7fSlcbiAgICAgICAgICAgICk/Lml0ZW1zID8/IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gW107XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KCkudGhlbihjYXRzID0+IGNhdHMuZmluZChjYXQgPT4gY2F0LmlkID09PSBpZCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgICB1c2VDbGFzczogQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07ICJdfQ==","import { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const module = RootConfig.module;\n context.addItems([\n {\n text: RootConfig.entities.report.titlePlural,\n path: `${this.sessionService.application?.name}/${module.route}/reports`,\n icon: RootConfig.entities.report.icon,\n priority: 900001,\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL21lbnUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ1ksbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWN2RCxDQUFDO0lBWkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWpDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDYjtnQkFDSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztnQkFDNUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLFVBQVU7Z0JBQ3hFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcblxuICAgICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBSb290Q29uZmlnLmVudGl0aWVzLnJlcG9ydC50aXRsZVBsdXJhbCxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS8ke21vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuaWNvbixcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogOTAwMDAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_COLUMN_WIDGET = [\n {\n type: 'grid-row-layout',\n mode: 'view',\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'view',\n path: 'title',\n options: {\n //readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n }\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2NvbHVtbi5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSTdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4QjtJQUNsRTtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjt3QkFDdkIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLElBQUksRUFBRSxNQUFNO3dCQUNaLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTt3QkFDUCxnREFBZ0Q7eUJBQ2pEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCA6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIG1vZGU6ICd2aWV3JyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAyIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICAgICAgcGF0aDogJ3RpdGxlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgLy9yZWFkb25seTogICAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICBdLFxuICB9LFxuXTtcblxuLy8jZW5kcmVnaW9uICJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDataSetServiceImpl extends AXMDataSetService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.dataSet.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2RhdGEtc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLHdCQUcvQztDQUFHO0FBR0osTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUMxRDtRQUNFLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FIVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbCB9IGZyb20gJy4vZGF0YS1zZXQudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbFxuPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRGF0YVNldFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lfWApO1xuICB9XG59XG4iXX0=","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_FILTER_WIDGET = [\n {\n type: 'block-layout',\n mode: 'view',\n children: [\n // Enable/Disable Checkbox\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 1 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n defaultValue: true,\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n // Data Source Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'dataSource',\n options: {\n placeholder: 'Select Data Source',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"$root.dataSources\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var ds = context.eval('dataSource'); \n var columns = (ds && ds.columns) || []; \n context.set('availableFields', columns);\n context.set('columnName', null);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Field/Column Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'columnName',\n options: {\n placeholder: 'Select Field',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"availableFields\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"dataSource\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('columnName') }}\",\n action: `{{ \n var columnName = context.eval('columnName');\n var availableFields = context.eval('availableFields') || [];\n var column = availableFields.find(function(c) { return c.name === columnName; }) || {};\n var fieldType = column.type || 'string';\n \n // Determine widget type based on field type\n var widgetType = (function() {\n var t = (typeof fieldType === 'object' && fieldType !== null && 'name' in fieldType) ? fieldType.name : fieldType;\n return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' :\n t === 'number-editor' || t === 'number' ? 'number-filter' :\n t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' :\n t === 'select-editor' || t === 'select' ? 'select-filter' :\n t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' :\n t === 'color-editor' ? 'color-filter' : 'string-filter';\n })();\n \n context.set('widgetType', widgetType);\n context.set('fieldType', fieldType);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Logical Operator (And/Or)\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'logicOperator',\n defaultValue: 'and',\n options: {\n placeholder: 'Logic',\n dataSource: [\n { value: 'and', text: 'And' },\n { value: 'or', text: 'Or' }\n ],\n valueField: 'value',\n textField: 'text',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n },\n // Dynamic Filter Widget based on field type\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n // String Filter\n {\n type: 'string-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter filter value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ !context.eval(\"widgetType\") || context.eval(\"widgetType\") === \"string-filter\" }}',\n },\n },\n // Number Filter\n {\n type: 'number-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter number value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"number-filter\" }}',\n },\n },\n // DateTime Filter\n {\n type: 'datetime-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select date\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"datetime-filter\" }}',\n },\n },\n // Select Filter\n {\n type: 'select-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"select-filter\" }}',\n },\n },\n // Boolean Filter\n {\n type: 'boolean-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"boolean-filter\" }}',\n },\n },\n // Color Filter\n {\n type: 'color-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select color\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"color-filter\" }}',\n },\n },\n ],\n },\n ],\n options: {\n spacing: { margin: \"0px\", padding: \"8px\" }\n }\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2ZpbHRlci5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSzdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFxQjtJQUN6RDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFO1lBQ1IsMEJBQTBCO1lBQzFCO2dCQUNFLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsaUJBQWlCO3dCQUN2QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsU0FBUzt3QkFDZixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxFQUFFO29CQUNSO3dCQUNFLElBQUksRUFBRSxlQUFlO3dCQUNyQixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxvQkFBb0I7NEJBQ2pDLFVBQVUsRUFBRSxNQUFNOzRCQUNsQixTQUFTLEVBQUUsT0FBTzs0QkFDbEIsVUFB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QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsV0FBVyxFQUFFLGtGQUFrRjs0QkFDL0YsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHNEQUFzRDt5QkFDbkU7cUJBQ0Y7b0JBQ0QsaUJBQWlCO29CQUNqQjt3QkFDRSxJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHVEQUF1RDt5QkFDcEU7cUJBQ0Y7b0JBQ0QsZUFBZTtvQkFDZjt3QkFDRSxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxrRkFBa0Y7NEJBQy9GLFFBQVEsRUFBRSxnRUFBZ0U7NEJBQzFFLFVBQVUsRUFBRSxxREFBcUQ7eUJBQ2xFO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtTQUMzQztLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIDogQVhQV2lkZ2V0Tm9kZVtdID0gW1xuICB7XG4gICAgdHlwZTogJ2Jsb2NrLWxheW91dCcsXG4gICAgbW9kZTogJ3ZpZXcnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICAvLyBFbmFibGUvRGlzYWJsZSBDaGVja2JveFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAxIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIERhdGEgU291cmNlIFNlbGVjdG9yXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IERhdGEgU291cmNlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6ICd7eyBjb250ZXh0LmV2YWwoXCIkcm9vdC5kYXRhU291cmNlc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSAoZHMgJiYgZHMuY29sdW1ucykgfHwgW107IFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2F2YWlsYWJsZUZpZWxkcycsIGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2NvbHVtbk5hbWUnLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWx0ZXInLCBudWxsKTtcbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBGaWVsZC9Db2x1bW4gU2VsZWN0b3JcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMyB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdjb2x1bW5OYW1lJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgRmllbGQnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogJ3t7IGNvbnRleHQuZXZhbChcImF2YWlsYWJsZUZpZWxkc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJkYXRhU291cmNlXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2NvbHVtbk5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb250ZXh0LmV2YWwoJ2NvbHVtbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAgIHZhciBhdmFpbGFibGVGaWVsZHMgPSBjb250ZXh0LmV2YWwoJ2F2YWlsYWJsZUZpZWxkcycpIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbiA9IGF2YWlsYWJsZUZpZWxkcy5maW5kKGZ1bmN0aW9uKGMpIHsgcmV0dXJuIGMubmFtZSA9PT0gY29sdW1uTmFtZTsgfSkgfHwge307XG4gICAgICAgICAgICAgICAgICB2YXIgZmllbGRUeXBlID0gY29sdW1uLnR5cGUgfHwgJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZSB3aWRnZXQgdHlwZSBiYXNlZCBvbiBmaWVsZCB0eXBlXG4gICAgICAgICAgICAgICAgICB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAodHlwZW9mIGZpZWxkVHlwZSA9PT0gJ29iamVjdCcgJiYgZmllbGRUeXBlICE9PSBudWxsICYmICduYW1lJyBpbiBmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiBmaWVsZFR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdkYXRlLXRpbWUtZWRpdG9yJyB8fCB0ID09PSAnZGF0ZXRpbWUnIHx8IHQgPT09ICdkYXRlJyA/ICdkYXRldGltZS1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY29sb3ItZWRpdG9yJyA/ICdjb2xvci1maWx0ZXInIDogJ3N0cmluZy1maWx0ZXInO1xuICAgICAgICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWVsZFR5cGUnLCBmaWVsZFR5cGUpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2ZpbHRlcicsIG51bGwpO1xuICAgICAgICAgICAgICAgIH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIExvZ2ljYWwgT3BlcmF0b3IgKEFuZC9PcilcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMiB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdsb2dpY09wZXJhdG9yJyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2FuZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnTG9naWMnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2FuZCcsIHRleHQ6ICdBbmQnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ29yJywgdGV4dDogJ09yJyB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBEeW5hbWljIEZpbHRlciBXaWRnZXQgYmFzZWQgb24gZmllbGQgdHlwZVxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgLy8gU3RyaW5nIEZpbHRlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmctZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiRW50ZXIgZmlsdGVyIHZhbHVlXCIgOiBcIkZpbHRlciBpcyBkaXNhYmxlZFwiIH19JyxcbiAgICAgICAgICAgICAgcmVhZG9ubHk6ICd7eyAhY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgfHwgIWNvbnRleHQuZXZhbChcImNvbHVtbk5hbWVcIikgfX0nLFxuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAne3sgIWNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgfHwgY29udGV4dC5ldmFsKFwid2lkZ2V0VHlwZVwiKSA9PT0gXCJzdHJpbmctZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE51bWJlciBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIkVudGVyIG51bWJlciB2YWx1ZVwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwibnVtYmVyLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBEYXRlVGltZSBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZGF0ZXRpbWUtZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiU2VsZWN0IGRhdGVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcImRhdGV0aW1lLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBTZWxlY3QgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ3NlbGVjdC1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAne3sgKGNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpID8/IHRydWUpID8gXCJTZWxlY3QgdmFsdWVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcInNlbGVjdC1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQm9vbGVhbiBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbi1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiYm9vbGVhbi1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQ29sb3IgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NvbG9yLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIlNlbGVjdCBjb2xvclwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiY29sb3ItZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHNwYWNpbmc6IHsgbWFyZ2luOiBcIjBweFwiLCBwYWRkaW5nOiBcIjhweFwiIH1cbiAgICB9XG4gIH0sXG5dO1xuXG4vLyNlbmRyZWdpb24gIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_SORT_WIDGET = [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n dataSource: [\n {\n value: 'asc',\n text: 'Ascendent'\n },\n {\n value: 'desc',\n text: 'Desiccate'\n },\n {\n value: 'none',\n text: 'None'\n },\n ],\n textField: 'text',\n valueField: 'value',\n },\n },\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kYXRhLXNldC9zb3J0LmRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2Q0FBNkM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQTZCO0lBQy9EO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsS0FBSyxFQUFFLEtBQUs7NEJBQ1osSUFBSSxFQUFFLFdBQVc7eUJBQ2xCO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLElBQUksRUFBRSxXQUFXO3lCQUNsQjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsTUFBTTs0QkFDYixJQUFJLEVBQUUsTUFBTTt5QkFDYjtxQkFDRjtvQkFDRCxTQUFTLEVBQUUsTUFBTTtvQkFDakIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQ6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBtb2RlOiAndmlldycsXG4gICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3NlbGVjdC1lZGl0b3InLFxuICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgIHBhdGg6ICdlbmFibGVkJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdhc2MnLFxuICAgICAgICAgICAgICB0ZXh0OiAnQXNjZW5kZW50J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdkZXNjJywgXG4gICAgICAgICAgICAgIHRleHQ6ICdEZXNpY2NhdGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ25vbmUnLCBcbiAgICAgICAgICAgICAgdGV4dDogJ05vbmUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8vI2VuZHJlZ2lvbiAiXX0=","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXMDataSourceService } from '@acorex/modules/data-management';\nimport { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../const';\nimport { AXM_DATASET_COLUMN_WIDGET } from './column.def';\nimport { AXMDataSetService } from './data-set.service';\nimport { AXM_DATASET_FILTER_WIDGET } from './filter.def';\nimport { AXM_DATASET_SORT_WIDGET } from './sort.def';\nexport async function dataSetFactory(injector) {\n const dataService = injector.get(AXMDataSetService);\n const i18n = RootConfig.config.i18n;\n const translationService = injector.get(AXTranslationService);\n const dataSourceService = injector.get(AXMDataSourceService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.dataSet.name,\n source: '',\n title: RootConfig.entities.dataSet.title,\n formats: {\n individual: RootConfig.entities.dataSet.title,\n plural: RootConfig.entities.dataSet.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'dataSet',\n title: RootConfig.entities.dataSet.title,\n },\n {\n id: 'filters',\n title: `t(\"advance\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'categoryIds',\n title: 't(\"category\", { scope: \"common\" })',\n groupId: 'dataSet',\n schema: {\n defaultValue: '{{ [context.eval(\"categoryId\")] }}',\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n multiple: true,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'dataSource',\n title: `t(\"dataSource\", { scope: \"${i18n}\" })`,\n groupId: 'dataSet',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: new AXDataSource({\n load: async () => {\n const items = await dataSourceService.query({\n skip: 0,\n take: 10000,\n });\n const translated = await Promise.all(items.items.map(async (item) => ({\n ...item,\n title: await translationService.translateAsync(item.title),\n })));\n return { total: translated.length, items: translated };\n },\n pageSize: 1000,\n }),\n multiple: false,\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ var ds = context.eval('dataSource'); var list = []; Array.isArray(ds.filters) ? (function(){ for(var i=0;i<ds.filters.length;i++){ var item = ds.filters[i]; !item.isSystemFilter ? (function(){ var fl = item.filter; var column = (ds.columns || []).find(function(c){return c.name === fl.columnName;}) || {}; var widgetType = (function(){ var t = column.type || 'string'; t = (typeof t === 'object' && t !== null && 'name' in t) ? t.name : t; return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' : t === 'number-editor' || t === 'number' ? 'number-filter' : t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' : t === 'select-editor' || t === 'select' ? 'select-filter' : t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' : t === 'color-editor' ? 'color-filter' : 'string-filter'; })(); var copy = { columnName: fl.columnName, isRequired: false, enabled: true, filter: { columnName: fl.columnName, value: fl.value }, widgetType: widgetType }; list.push(copy); })() : null; } })() : null; context.set('filters', list); }}`,\n },\n ],\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'filters',\n title: `t(\"filters\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n path: 'filters',\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_FILTER_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var selectedDataSource = context.eval('dataSource');\n if (selectedDataSource) {\n context.set('dataSources', [selectedDataSource]);\n }\n }}`,\n },\n ],\n },\n },\n },\n {\n name: 'columns',\n title: `t(\"columns\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_COLUMN_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ context.set('columns', context.eval('dataSource').columns); }}`,\n },\n ],\n },\n },\n },\n {\n name: 'sorts',\n title: `t(\"sorts\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true,\n },\n children: AXM_DATASET_SORT_WIDGET,\n // triggers: [\n // {\n // event: \"{{ events.context('dataSource') }}\",\n // action: `{{ context.set('sorts', context.eval('dataSource').columns); }}`,\n // },\n // ],\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'dataSource' }],\n commands: {\n create: {\n execute: async (data) => {\n console.log(data);\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query(e);\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n {\n name: 'columns',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'sorts',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'dataSet',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'categoryIds',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 4,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxH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NEJBQ3pDLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixRQUFRLEVBQUUsV0FBVzs0QkFDckIsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7eUJBQ3hDO3FCQUNGO29CQUNELEtBQUssRUFBRTt3QkFDTCxrQkFBa0IsQ0FBQzs0QkFDakIsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWE1EYXRhU291cmNlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9kYXRhLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCB9IGZyb20gJy4vY29sdW1uLmRlZic7XG5pbXBvcnQgeyBBWE1EYXRhU2V0U2VydmljZSB9IGZyb20gJy4vZGF0YS1zZXQuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIH0gZnJvbSAnLi9maWx0ZXIuZGVmJztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX1NPUlRfV0lER0VUIH0gZnJvbSAnLi9zb3J0LmRlZic7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkYXRhU2V0RmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgY29uc3QgZGF0YVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRGF0YVNldFNlcnZpY2UpO1xuICBjb25zdCBpMThuID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcbiAgY29uc3QgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgY29uc3QgZGF0YVNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNRGF0YVNvdXJjZVNlcnZpY2UpO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICBuYW1lOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQubmFtZSxcbiAgICBzb3VyY2U6ICcnLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5kYXRhU2V0LnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGVQbHVyYWwsXG4gICAgICBzZWFyY2hSZXN1bHQ6IHtcbiAgICAgICAgdGl0bGU6ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBSb290Q29uZmlnLm1vZHVsZS50aXRsZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZWxhdGVkRW50aXRpZXM6IFtdLFxuICAgIGdyb3VwczogW1xuICAgICAge1xuICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5kYXRhU2V0LnRpdGxlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiYWR2YW5jZVwiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgIHRpdGxlOiBgdChcIm5hbWVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmxpbmU6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBydWxlOiAncmVxdWlyZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICB0aXRsZTogYHQoXCJ0aXRsZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgYWR2YW5jZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgIHRpdGxlOiAndChcImNhdGVnb3J5XCIsIHsgc2NvcGU6IFwiY29tbW9uXCIgfSknLFxuICAgICAgICBncm91cElkOiAnZGF0YVNldCcsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7IFtjb250ZXh0LmV2YWwoXCJjYXRlZ29yeUlkXCIpXSB9fScsXG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubG9va3VwLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5jYXRlZ29yeS5uYW1lfWAsXG4gICAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57aWR9JyB9LFxuICAgICAgICAgICAgICAgIHsgc291cmNlOiAndGl0bGUnLCB0YXJnZXQ6ICdjYXRlZ29yaWVzLnt0aXRsZX0nIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICB0aXRsZTogYHQoXCJkYXRhU291cmNlXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5zZWxlY3QsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBuZXcgQVhEYXRhU291cmNlKHtcbiAgICAgICAgICAgICAgICBsb2FkOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGRhdGFTb3VyY2VTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgICAgICAgICAgICAgICAgc2tpcDogMCxcbiAgICAgICAgICAgICAgICAgICAgdGFrZTogMTAwMDAsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMuaXRlbXMubWFwKGFzeW5jIChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGl0ZW0udGl0bGUpLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgdG90YWw6IHRyYW5zbGF0ZWQubGVuZ3RoLCBpdGVtczogdHJhbnNsYXRlZCB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IDEwMDAsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInt7IGV2ZW50cy5jb250ZXh0KCdkYXRhU291cmNlJykgfX1cIixcbiAgICAgICAgICAgICAgICBhY3Rpb246IGB7eyB2YXIgZHMgPSBjb250ZXh0LmV2YWwoJ2RhdGFTb3VyY2UnKTsgdmFyIGxpc3QgPSBbXTsgQXJyYXkuaXNBcnJheShkcy5maWx0ZXJzKSA/IChmdW5jdGlvbigpeyBmb3IodmFyIGk9MDtpPGRzLmZpbHRlcnMubGVuZ3RoO2krKyl7IHZhciBpdGVtID0gZHMuZmlsdGVyc1tpXTsgIWl0ZW0uaXNTeXN0ZW1GaWx0ZXIgPyAoZnVuY3Rpb24oKXsgdmFyIGZsID0gaXRlbS5maWx0ZXI7IHZhciBjb2x1bW4gPSAoZHMuY29sdW1ucyB8fCBbXSkuZmluZChmdW5jdGlvbihjKXtyZXR1cm4gYy5uYW1lID09PSBmbC5jb2x1bW5OYW1lO30pIHx8IHt9OyB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpeyB2YXIgdCA9IGNvbHVtbi50eXBlIHx8ICdzdHJpbmcnOyB0ID0gKHR5cGVvZiB0ID09PSAnb2JqZWN0JyAmJiB0ICE9PSBudWxsICYmICduYW1lJyBpbiB0KSA/IHQubmFtZSA6IHQ7IHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOiB0ID09PSAnbnVtYmVyLWVkaXRvcicgfHwgdCA9PT0gJ251bWJlcicgPyAnbnVtYmVyLWZpbHRlcicgOiB0ID09PSAnZGF0ZS10aW1lLWVkaXRvcicgfHwgdCA9PT0gJ2RhdGV0aW1lJyB8fCB0ID09PSAnZGF0ZScgPyAnZGF0ZXRpbWUtZmlsdGVyJyA6IHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6IHQgPT09ICdjaGVja2JveC1lZGl0b3InIHx8IHQgPT09ICd0b2dnbGUtZWRpdG9yJyB8fCB0ID09PSAnYm9vbGVhbicgPyAnYm9vbGVhbi1maWx0ZXInIDogdCA9PT0gJ2NvbG9yLWVkaXRvcicgPyAnY29sb3ItZmlsdGVyJyA6ICdzdHJpbmctZmlsdGVyJzsgfSkoKTsgdmFyIGNvcHkgPSB7IGNvbHVtbk5hbWU6IGZsLmNvbHVtbk5hbWUsIGlzUmVxdWlyZWQ6IGZhbHNlLCBlbmFibGVkOiB0cnVlLCBmaWx0ZXI6IHsgY29sdW1uTmFtZTogZmwuY29sdW1uTmFtZSwgdmFsdWU6IGZsLnZhbHVlIH0sIHdpZGdldFR5cGU6IHdpZGdldFR5cGUgfTsgbGlzdC5wdXNoKGNvcHkpOyB9KSgpIDogbnVsbDsgfSB9KSgpIDogbnVsbDsgY29udGV4dC5zZXQoJ2ZpbHRlcnMnLCBsaXN0KTsgfX1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZmlsdGVyc1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgaGFzQ29udHJvbHM6IGZhbHNlLFxuICAgICAgICAgICAgICBpc0RyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogQVhNX0RBVEFTRVRfRklMVEVSX1dJREdFVCBhcyBhbnksXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRGF0YVNvdXJjZSA9IGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpO1xuICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnNldCgnZGF0YVNvdXJjZXMnLCBbc2VsZWN0ZWREYXRhU291cmNlXSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NvbHVtbnMnLFxuICAgICAgICB0aXRsZTogYHQoXCJjb2x1bW5zXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2ZpbHRlcnMnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IFtdLFxuICAgICAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJlcGVhdGVyTGF5b3V0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9DT0xVTU5fV0lER0VULFxuICAgICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInt7IGV2ZW50cy5jb250ZXh0KCdkYXRhU291cmNlJykgfX1cIixcbiAgICAgICAgICAgICAgICBhY3Rpb246IGB7eyBjb250ZXh0LnNldCgnY29sdW1ucycsIGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpLmNvbHVtbnMpOyB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc29ydHMnLFxuICAgICAgICB0aXRsZTogYHQoXCJzb3J0c1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgaGFzQ29udHJvbHM6IGZhbHNlLFxuICAgICAgICAgICAgICBpc0RyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogQVhNX0RBVEFTRVRfU09SVF9XSURHRVQsXG4gICAgICAgICAgICAvLyB0cmlnZ2VyczogW1xuICAgICAgICAgICAgLy8gICB7XG4gICAgICAgICAgICAvLyAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgLy8gICAgIGFjdGlvbjogYHt7IGNvbnRleHQuc2V0KCdzb3J0cycsIGNvbnRleHQuZXZhbCgnZGF0YVNvdXJjZScpLmNvbHVtbnMpOyB9fWAsXG4gICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAvLyBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW3sgbmFtZTogJ25hbWUnIH0sIHsgbmFtZTogJ3RpdGxlJyB9LCB7IG5hbWU6ICdkYXRhU291cmNlJyB9XSxcbiAgICBjb21tYW5kczoge1xuICAgICAgY3JlYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcblxuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KGUpO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZmlsdGVycycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjb2x1bW5zJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdzb3J0cycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDYsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3t0aXRsZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RhdGFTb3VyY2UnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZmlsdGVycycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogYHQoXCJjcmVhdGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdjcmVhdGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2NyZWF0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICd0KFwiZGVsZXRlSXRlbXNcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZXRhaWxcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdvcGVuLWVudGl0eScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZWxldGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6ICdkZWxldGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5JbmRpdmlkdWFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbXG4gICAgICAgICAgICBjcmVhdGVBbGxRdWVyeVZpZXcoe1xuICAgICAgICAgICAgICBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMReportDefinitionServiceImpl extends AXMReportDefinitionService {\n constructor() {\n super('report-definition');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL3JlcG9ydC1kZWZpbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSx3QkFHeEQ7Q0FBSTtBQUdMLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFDMUU7UUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQUhRLDhCQUE4QjtrSEFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuLi9yZXBvcnRzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICAgIHN0cmluZyxcbiAgICBBWFBSZXBvcnREZWZpbml0aW9uXG4+IHsgfVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0RGVmaW5pdGlvblNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNUmVwb3J0RGVmaW5pdGlvblNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigncmVwb3J0LWRlZmluaXRpb24nKTtcbiAgICB9XG59ICJdfQ==","import { NgModule } from '@angular/core';\nimport { AXMDataSetService, AXMDataSetServiceImpl } from './data-set.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMDataSetEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBYTlFLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsYUFQdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUscUJBQXFCO2FBQ2hDO1NBQ0Y7OzJGQUVVLHNCQUFzQjtrQkFYbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxxQkFBcUI7eUJBQ2hDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTURhdGFTZXRTZXJ2aWNlLCBBWE1EYXRhU2V0U2VydmljZUltcGwgfSBmcm9tICcuL2RhdGEtc2V0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTURhdGFTZXRTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYTURhdGFTZXRTZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1EYXRhU2V0RW50aXR5TW9kdWxlIHt9XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXMReportDefinitionService, AXMReportDefinitionServiceImpl } from './report-definition.service';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionEntityModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, providers: [\n {\n provide: AXMReportDefinitionService,\n useClass: AXMReportDefinitionServiceImpl,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportDefinitionEntityModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMReportDefinitionService,\n useClass: AXMReportDefinitionServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvcmVwb3J0LWRlZmluaXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBYXpHLE1BQU0sT0FBTywrQkFBK0I7OEdBQS9CLCtCQUErQjsrR0FBL0IsK0JBQStCOytHQUEvQiwrQkFBK0IsYUFQL0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsOEJBQThCO2FBQ3pDO1NBQ0Y7OzJGQUVVLCtCQUErQjtrQkFYM0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFFBQVEsRUFBRSw4QkFBOEI7eUJBQ3pDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlLCBBWE1SZXBvcnREZWZpbml0aW9uU2VydmljZUltcGwgfSBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25TZXJ2aWNlSW1wbCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnREZWZpbml0aW9uRW50aXR5TW9kdWxlIHt9XG4iXX0=","// Entity Services\nexport * from './data-set';\nexport * from './report-definition.service';\n// Entity Modules\nexport * from './data-set/data-set.module';\nexport * from './report-definition.module';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBa0I7QUFDbEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxpQkFBaUI7QUFDakIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRW50aXR5IFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LWRlZmluaXRpb24uc2VydmljZSc7XG5cbi8vIEVudGl0eSBNb2R1bGVzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc2V0L2RhdGEtc2V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLm1vZHVsZSc7XG4iXX0=","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMColumnEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('dataSource', {\n getColumn: async (columnName, columns) => {\n const column = columns.find(c => c.name === columnName);\n return column;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sK0JBQStCO0lBQTVDO1FBRWMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFZbkQsQ0FBQztJQVZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDM0IsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLE9BQTJDLEVBQUUsRUFBRTtnQkFDakYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUM7U0FFSixDQUFDLENBQUE7SUFDTixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRGF0YVNvdXJjZURhdGFGaWVsZERlZmluaXRpb24sIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRhU291cmNlJywge1xuICAgICAgICAgICAgZ2V0Q29sdW1uOiBhc3luYyAoY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5zOiBBWFBEYXRhU291cmNlRGF0YUZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBjb2x1bW5OYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgfVxuXG59Il19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMReportCreateRootWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n // const refId = context.getVariable<string>('options.refId');\n const comp = await import('./report-create-root/report-create-root.component').then(m => m.AXPReportCreateRootComponent);\n this.popupService.open(comp, await this.translationService.translateAsync('report.create.title', { scope: 'report-management' }));\n }\n}\nexport const AXMReportCreateWorkflow = {\n startStepId: 'report-create-root',\n steps: {\n 'report-create-root': {\n action: 'AXMReportCreateRootWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n // modifyConfirmed: {\n // id: 'modifyConfirmed',\n // action: 'AXPEntityModifyConfirmedAction',\n // },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNyZWF0ZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUF4RTs7UUFDVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVE1RCxDQUFDO0lBTlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNsRCwrREFBK0Q7UUFFOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRTtRQUNMLG9CQUFvQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsOENBQThDO1FBQzlDLEtBQUs7S0FDTjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuXG4gICBjb25zdCBjb21wID0gYXdhaXQgaW1wb3J0KCcuL3JlcG9ydC1jcmVhdGUtcm9vdC9yZXBvcnQtY3JlYXRlLXJvb3QuY29tcG9uZW50JykudGhlbihtID0+IG0uQVhQUmVwb3J0Q3JlYXRlUm9vdENvbXBvbmVudCk7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygncmVwb3J0LmNyZWF0ZS50aXRsZScsIHsgc2NvcGU6ICdyZXBvcnQtbWFuYWdlbWVudCcgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1SZXBvcnRDcmVhdGVXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAncmVwb3J0LWNyZWF0ZS1yb290JyxcbiAgc3RlcHM6IHtcbiAgICAncmVwb3J0LWNyZWF0ZS1yb290Jzoge1xuICAgICAgYWN0aW9uOiAnQVhNUmVwb3J0Q3JlYXRlUm9vdFdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInVubG9ja2VkXCIpID09IHRydWUnIH1dLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHN1Y2Nlc3NUb2FzdDoge1xuICAgICAgaWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtdGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLWJvZHknLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gbW9kaWZ5Q29uZmlybWVkOiB7XG4gICAgLy8gICBpZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgLy8gICBhY3Rpb246ICdBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24nLFxuICAgIC8vIH0sXG4gIH0sXG59OyAiXX0=","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPDomainModule, provideEntity } from '@acorex/platform/domain';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { RootConfig } from './const';\nimport { AXM_REPORT_CATEGORY_PROVIDER, AXM_REPORT_DEFINITION_PROVIDER, } from './features/report-runner/reports.provider';\nimport { AXMMenuProvider } from './menu.provider';\n// Entity Modules\nimport { AXMDataSetEntityModule, AXMReportDefinitionEntityModule, } from './entities';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMColumnEvaluatorScopeProvider } from './features/data-llist/column-evaluator-scope.provider';\nimport { AXMReportCreateRootWorkflowAction, AXMReportCreateWorkflow, } from './features/report/create/report-create.workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nfunction routesFacory() {\n let routes = [\n {\n path: `:app/${RootConfig.module.route}/viewer`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: ':reportId',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n {\n path: '',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n ],\n },\n {\n path: `:app/${RootConfig.module.route}/reports`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: '**',\n loadComponent: () => import('./features/report-runner/report-runner-root-page/report-runner-root-page.component').then((c) => c.AXMReportRunnerRootPageComponent),\n data: { reuse: true },\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMReportManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, imports: [AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule, i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, providers: [\n // Removed individual entity service provider - now provided by entity modules\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMReportManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPDomainModule,\n // Entity Modules\n AXMDataSetEntityModule,\n AXMReportDefinitionEntityModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n // Removed individual entity service provider - now provided by entity modules\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw4QkFBOEIsR0FDL0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsK0JBQStCLEdBQ2hDLE1BQU0sWUFBWSxDQUFDO0FBa0RwQixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLHVCQUF1QixHQUN4QixNQUFNLGlEQUFpRCxDQUFDOzs7QUF0RHpELFNBQVMsWUFBWTtJQUNuQixJQUFJLE1BQU0s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UixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsK0JBQStCO3dCQUMvQixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCxpQ0FBaUM7NkJBQ2xDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1QsOEVBQThFO3dCQUM5RSw4QkFBOEI7d0JBQzlCLDRCQUE0Qjt3QkFDNUI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLGVBQWU7NEJBQ3pCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELElBQUk7d0JBQ0osb0NBQW9DO3dCQUNwQyx5Q0FBeUM7d0JBQ3pDLG1CQUFtQjt3QkFDbkIsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLCtDQUErQzt3QkFDL0MsbURBQW1EO3dCQUNuRCxtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0w7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLFlBQVk7eUJBQ3pCO3dCQUVELGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDM0Y7NEJBQ0UsT0FBTyxFQUFFLHVDQUF1Qzs0QkFDaEQsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBdXRoR3VhcmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX01FTlVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBEb21haW5Nb2R1bGUsIHByb3ZpZGVFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2RvbWFpbic7XG5pbXBvcnQgeyBBWFBSb290TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHtcbiAgQVhNX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxufSBmcm9tICcuL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1NZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuXG4vLyBFbnRpdHkgTW9kdWxlc1xuaW1wb3J0IHtcbiAgQVhNRGF0YVNldEVudGl0eU1vZHVsZSxcbiAgQVhNUmVwb3J0RGVmaW5pdGlvbkVudGl0eU1vZHVsZSxcbn0gZnJvbSAnLi9lbnRpdGllcyc7XG5cbmZ1bmN0aW9uIHJvdXRlc0ZhY29yeSgpIHtcbiAgbGV0IHJvdXRlczogUm91dGVzID0gW1xuICAgIHtcbiAgICAgIHBhdGg6IGA6YXBwLyR7Um9vdENvbmZpZy5tb2R1bGUucm91dGV9L3ZpZXdlcmAsXG4gICAgICBjYW5BY3RpdmF0ZTogW0FYUEF1dGhHdWFyZF0sXG4gICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBBWFBSb290TGF5b3V0Q29tcG9uZW50O1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnOnJlcG9ydElkJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogYDphcHAvJHtSb290Q29uZmlnLm1vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICBjYW5BY3RpdmF0ZTogW0FYUEF1dGhHdWFyZF0sXG4gICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBBWFBSb290TGF5b3V0Q29tcG9uZW50O1xuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnKionLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXJ1bm5lci9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWE1SZXBvcnRSdW5uZXJSb290UGFnZUNvbXBvbmVudCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgZGF0YTogeyByZXVzZTogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xuICByZXR1cm4gcm91dGVzO1xufVxuXG5pbXBvcnQgeyBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYTUNvbHVtbkV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlcic7XG5pbXBvcnQge1xuICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gIEFYTVJlcG9ydENyZWF0ZVdvcmtmbG93LFxufSBmcm9tICcuL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBEb21haW5Nb2R1bGUsXG4gICAgLy8gRW50aXR5IE1vZHVsZXNcbiAgICBBWE1EYXRhU2V0RW50aXR5TW9kdWxlLFxuICAgIEFYTVJlcG9ydERlZmluaXRpb25FbnRpdHlNb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdyZXBvcnQtY3JlYXRlJzogQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gUmVtb3ZlZCBpbmRpdmlkdWFsIGVudGl0eSBzZXJ2aWNlIHByb3ZpZGVyIC0gbm93IHByb3ZpZGVkIGJ5IGVudGl0eSBtb2R1bGVzXG4gICAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfUFJPVklERVIsXG4gICAgLy8gICAgIHVzZUNsYXNzOiBBWFBSZXBvcnRTZWFyY2hQcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAvLyAgICAgdXNlQ2xhc3M6IEFYUFJlcG9ydFNlYXJjaERlZmluaXRpb25Qcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuXG4gICAgcHJvdmlkZUVudGl0eShbUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuZnVsbE5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkuZnVsbE5hbWVdKSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydE1hbmFnZW1lbnRNb2R1bGUgeyB9XG4iXX0=","import { AXPReportDefinitionService, } from \"../../reports\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPCommandService } from \"@acorex/platform/runtime\";\nexport const AXPReportViewerViewModel = signalStore(withState(() => ({\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n categoriesPath: [],\n allowFetchData: false,\n shouldExecuteReport: false,\n lastAppliedFilterContext: null, // Track last applied filters\n hasBeenExecuted: false, // Track if report has been executed at least once\n status: AXPPageStatus.Idle,\n error: null,\n})), withComputed((store) => ({\n //#region ---- Layout Management ----\n availableLayouts: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts)\n return [];\n return report.layouts.map((layout) => ({\n id: layout.id,\n title: layout.title,\n icon: layout.icon,\n type: layout.layout.type\n }));\n }),\n defaultLayout: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts?.length)\n return null;\n // Find layout marked as default, or use first layout\n return report.layouts.find((l) => l.isDefault) || report.layouts[0];\n }),\n activeLayoutId: computed(() => store.currentLayout()?.id || null),\n layoutType: computed(() => store.currentLayout()?.layout?.type || null),\n //#endregion\n //#region ---- Layout-Specific Configurations ----\n tableLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table'\n ? layout.layout\n : null;\n }),\n chartLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'chart'\n ? layout.layout\n : null;\n }),\n //#endregion\n //#region ---- State Indicators ----\n isLoading: computed(() => store.status() === AXPPageStatus.Processing),\n isExecuting: computed(() => store.status() === AXPPageStatus.Submitting),\n hasError: computed(() => store.error() !== null),\n hasMultipleLayouts: computed(() => {\n const report = store.reportDefinition();\n return (report?.layouts?.length ?? 0) > 1;\n }),\n title: computed(() => store.reportDefinition()?.title ?? 'Report Viewer'),\n description: computed(() => store.reportDefinition()?.description ?? null),\n //#endregion\n //#region ---- Form Configuration ----\n formDefinition: computed(() => {\n const report = store.reportDefinition();\n if (!report || !report.parameterGroups) {\n return { groups: [] };\n }\n return {\n groups: report.parameterGroups.map((group) => ({\n name: group.name,\n title: group.title,\n description: group.description,\n parameters: group.parameters.map((param) => ({\n path: param.path,\n title: param.title,\n description: param.description,\n widget: {\n ...param.widget,\n options: {\n ...param.widget.options,\n clearButton: true,\n hasClearButton: true\n }\n }\n }))\n }))\n };\n }),\n //#endregion\n //#region ---- Layout Type Detection ----\n isTableLayout: computed(() => store.currentLayout()?.layout?.type === 'table'),\n isChartLayout: computed(() => store.currentLayout()?.layout?.type === 'chart'),\n //#endregion\n //#region ---- Filter States ----\n hasUnappliedFilters: computed(() => {\n const currentContext = store.filterContext();\n const lastApplied = store.lastAppliedFilterContext();\n const hasBeenExecuted = store.hasBeenExecuted();\n // If report has never been executed, don't show unapplied filters warning\n if (!hasBeenExecuted) {\n return false;\n }\n // If no filters have been applied yet, return true\n if (lastApplied === null) {\n return true;\n }\n // Check if current filters are different from last applied filters\n const currentKeys = Object.keys(currentContext);\n const lastKeys = Object.keys(lastApplied);\n if (currentKeys.length !== lastKeys.length) {\n return true;\n }\n // Check if any values are different\n for (const key of currentKeys) {\n if (currentContext[key] !== lastApplied[key]) {\n return true;\n }\n }\n return false;\n }),\n //#endregion\n //#region ---- Action States ----\n canExecute: computed(() => store.reportDefinition() !== null &&\n store.currentLayout() !== null &&\n store.status() !== AXPPageStatus.Processing &&\n store.status() !== AXPPageStatus.Submitting),\n canSwitchLayout: computed(() => (store.reportDefinition()?.layouts?.length ?? 0) > 1 &&\n store.status() !== AXPPageStatus.Submitting),\n canSelectRows: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table' &&\n layout.layout.options?.selectable?.mode &&\n layout.layout.options?.selectable?.mode !== 'none';\n }),\n //#endregion\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => {\n const executeReport = async () => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n patchState(store, {\n error: 'Report or layout not found',\n });\n return;\n }\n patchState(store, {\n status: AXPPageStatus.Submitting,\n error: null,\n allowFetchData: true,\n shouldExecuteReport: true,\n lastAppliedFilterContext: { ...store.filterContext() }, // Mark current filters as applied\n hasBeenExecuted: true // Mark that report has been executed at least once\n });\n patchState(store, {\n status: AXPPageStatus.Submitted,\n error: null\n });\n };\n const fetchData = async (parameters = {}) => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n return null;\n }\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n // Create execution context - ensure dataSource is provided\n const dataSource = layout.dataSource || {\n type: 'query',\n name: 'getEmployeeList'\n };\n const context = {\n reportId: report.id,\n layoutId: layout.id,\n dataSource: dataSource,\n parameters: {\n ...store.filterContext(),\n ...parameters\n }\n };\n return await commandService.execute('ReportManagement.Report:Execute', context);\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to execute report',\n });\n console.error('Error executing report:', error);\n return null;\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n };\n return {\n //#region ---- Report Loading ----\n async loadReport(reportId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n const report = await reportDefinitionService.getReportById(reportId);\n if (report) {\n console.log('report', report);\n // Configure parameter widgets with proper paths\n report.parameterGroups.forEach(group => {\n group.parameters.forEach(param => {\n param.widget.path = param.path;\n });\n });\n // Load categories path for breadcrumbs\n const categoriesPath = await reportDefinitionService.getCategoriesPathByReportId(reportId);\n // Set default layout\n const defaultLayout = report.layouts.find((l) => l.isDefault) || report.layouts[0];\n patchState(store, {\n reportDefinition: report,\n currentLayout: defaultLayout,\n categoriesPath: categoriesPath || [],\n filterContext: {}, // Reset context when loading new report\n allowFetchData: false,\n hasBeenExecuted: false, // Reset execution state for new report\n });\n }\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to load report definition'\n });\n console.error('Error loading report:', error);\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n },\n //#endregion\n //#region ---- Layout Management ----\n switchLayout(layoutId) {\n const report = store.reportDefinition();\n if (!report)\n return;\n const layout = report.layouts.find((l) => l.id === layoutId);\n if (layout) {\n patchState(store, {\n currentLayout: layout,\n });\n }\n },\n //#endregion\n //#region ---- Data Execution ----\n executeReport,\n fetchData,\n //#endregion\n //#region ---- Filter Management ----\n updateFilterContext(context) {\n patchState(store, {\n filterContext: { ...store.filterContext(), ...context },\n shouldExecuteReport: false, // Reset execution flag when filters change\n });\n },\n clearFilters() {\n patchState(store, {\n allowFetchData: false,\n shouldExecuteReport: false,\n filterContext: {},\n lastAppliedFilterContext: null, // Reset applied filters when clearing\n hasBeenExecuted: false, // Reset execution state when clearing filters\n });\n },\n resetFilters() {\n patchState(store, {\n allowFetchData: false\n });\n },\n //#endregion\n //#region ---- Export Management ----\n async exportReport(format) {\n const layout = store.currentLayout();\n if (!layout?.export) {\n console.warn('Export not configured for current layout');\n return;\n }\n try {\n // Export logic would go here\n // This would typically call a different command for export\n console.log(`Exporting report in ${format} format`);\n }\n catch (error) {\n console.error('Error exporting report:', error);\n }\n },\n //#endregion\n //#region ---- Utility Methods ----\n refresh() {\n return executeReport();\n },\n clearError() {\n patchState(store, {\n error: null\n });\n },\n reset() {\n patchState(store, {\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n allowFetchData: false,\n shouldExecuteReport: false,\n lastAppliedFilterContext: null,\n hasBeenExecuted: false,\n categoriesPath: [],\n status: AXPPageStatus.Idle,\n error: null,\n });\n }\n //#endregion\n };\n}), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n // Subscribe to language and locale changes\n translationService.langChanges$.subscribe(() => {\n // Handle language change if needed\n });\n localeService.profileChanged$.subscribe(() => {\n // Handle locale change if needed \n });\n },\n onDestroy() {\n // Cleanup if needed\n }\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCwwQkFBMEIsR0FTM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUNqRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNmLGdCQUFnQixFQUFFLElBQWtDO0lBQ3BELGFBQWEsRUFBRSxJQUF3QztJQUN2RCxhQUFhLEVBQUUsRUFBb0I7SUFDbkMsY0FBYyxFQUFFLEVBQVc7SUFDM0IsY0FBYyxFQUFFLEtBQUs7SUFDckIsbUJBQW1CLEVBQUUsS0FBSztJQUMxQix3QkFBd0IsRUFBRSxJQUE2QixFQUFFLDZCQUE2QjtJQUN0RixlQUFlLEVBQUUsS0FBSyxFQUFFLGtEQUFrRDtJQUMxRSxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUk7SUFDMUIsS0FBSyxFQUFFLElB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Y0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxhQUFhLENBQUMsSUFBSTtnQkFDMUIsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsWUFBWTtLQUNiLENBQUM7QUFDSixDQUFDLENBQ0YsRUFFRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQ2Qsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQ2pELGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQ3ZDLEVBQUUsQ0FBQyxDQUFDO0lBQ0osS0FBSyxDQUFDLE1BQU07UUFDViwyQ0FBMkM7UUFDM0Msa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0MsbUNBQW1DO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNDLG1DQUFtQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTO1FBQ1Asb0JBQW9CO0lBQ3RCLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhQUmVwb3J0RGVmaW5pdGlvbixcbiAgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UsXG4gIEFYUFJlcG9ydExheW91dERlZmluaXRpb24sXG4gIEFYUExheW91dFN3aXRjaGVyT3B0aW9uLFxuICBBWFBMYXlvdXRFeGVjdXRpb25Db250ZXh0LFxuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0LFxuICBBWFBSZXBvcnRDaGFydExheW91dCxcbiAgQVhQUmVwb3J0VGFibGVMYXlvdXQsXG4gIEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwLFxuICBBWFBSZXBvcnRQYXJhbWV0ZXIsXG59IGZyb20gXCIuLi8uLi9yZXBvcnRzXCI7XG5pbXBvcnQgeyBBWFBQYWdlU3RhdHVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbiB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoTWV0aG9kcywgd2l0aENvbXB1dGVkLCB3aXRoU3RhdGUsIHdpdGhIb29rcywgcGF0Y2hTdGF0ZSB9IGZyb20gXCJAbmdyeC9zaWduYWxzXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbG9jYWxlXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWVcIjtcbmltcG9ydCB7IEFYUENvbnRleHREYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsID0gc2lnbmFsU3RvcmUoXG4gIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgIHJlcG9ydERlZmluaXRpb246IG51bGwgYXMgQVhQUmVwb3J0RGVmaW5pdGlvbiB8IG51bGwsXG4gICAgY3VycmVudExheW91dDogbnVsbCBhcyBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uIHwgbnVsbCxcbiAgICBmaWx0ZXJDb250ZXh0OiB7fSBhcyBBWFBDb250ZXh0RGF0YSxcbiAgICBjYXRlZ29yaWVzUGF0aDogW10gYXMgYW55W10sXG4gICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgIHNob3VsZEV4ZWN1dGVSZXBvcnQ6IGZhbHNlLFxuICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCBhcyBBWFBDb250ZXh0RGF0YSB8IG51bGwsIC8vIFRyYWNrIGxhc3QgYXBwbGllZCBmaWx0ZXJzXG4gICAgaGFzQmVlbkV4ZWN1dGVkOiBmYWxzZSwgLy8gVHJhY2sgaWYgcmVwb3J0IGhhcyBiZWVuIGV4ZWN1dGVkIGF0IGxlYXN0IG9uY2VcbiAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICBlcnJvcjogbnVsbCBhcyBzdHJpbmcgfCBudWxsLFxuICB9KSksXG5cbiAgd2l0aENvbXB1dGVkKChzdG9yZSkgPT4gKHtcbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgYXZhaWxhYmxlTGF5b3V0czogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgaWYgKCFyZXBvcnQ/LmxheW91dHMpIHJldHVybiBbXTtcblxuICAgICAgcmV0dXJuIHJlcG9ydC5sYXlvdXRzLm1hcCgobGF5b3V0OiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiAoe1xuICAgICAgICBpZDogbGF5b3V0LmlkLFxuICAgICAgICB0aXRsZTogbGF5b3V0LnRpdGxlLFxuICAgICAgICBpY29uOiBsYXlvdXQuaWNvbixcbiAgICAgICAgdHlwZTogbGF5b3V0LmxheW91dC50eXBlXG4gICAgICB9IGFzIEFYUExheW91dFN3aXRjaGVyT3B0aW9uKSk7XG4gICAgfSksXG5cbiAgICBkZWZhdWx0TGF5b3V0OiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICBpZiAoIXJlcG9ydD8ubGF5b3V0cz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgICAgLy8gRmluZCBsYXlvdXQgbWFya2VkIGFzIGRlZmF1bHQsIG9yIHVzZSBmaXJzdCBsYXlvdXRcbiAgICAgIHJldHVybiByZXBvcnQubGF5b3V0cy5maW5kKChsOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiBsLmlzRGVmYXVsdCkgfHwgcmVwb3J0LmxheW91dHNbMF07XG4gICAgfSksXG5cbiAgICBhY3RpdmVMYXlvdXRJZDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5pZCB8fCBudWxsKSxcblxuICAgIGxheW91dFR5cGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlIHx8IG51bGwpLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dC1TcGVjaWZpYyBDb25maWd1cmF0aW9ucyAgIC0tLS1cblxuICAgIHRhYmxlTGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZSdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuICAgIGNoYXJ0TGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICdjaGFydCdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU3RhdGUgSW5kaWNhdG9ycyAgIC0tLS1cblxuICAgIGlzTG9hZGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgaXNFeGVjdXRpbmc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcpLFxuICAgIGhhc0Vycm9yOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5lcnJvcigpICE9PSBudWxsKSxcbiAgICBoYXNNdWx0aXBsZUxheW91dHM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIHJldHVybiAocmVwb3J0Py5sYXlvdXRzPy5sZW5ndGggPz8gMCkgPiAxO1xuICAgIH0pLFxuXG4gICAgdGl0bGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8udGl0bGUgPz8gJ1JlcG9ydCBWaWV3ZXInKSxcbiAgICBkZXNjcmlwdGlvbjogY29tcHV0ZWQoKCkgPT4gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpPy5kZXNjcmlwdGlvbiA/PyBudWxsKSxcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBGb3JtIENvbmZpZ3VyYXRpb24gICAtLS0tXG5cbiAgICBmb3JtRGVmaW5pdGlvbjogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgaWYgKCFyZXBvcnQgfHwgIXJlcG9ydC5wYXJhbWV0ZXJHcm91cHMpIHtcbiAgICAgICAgcmV0dXJuIHsgZ3JvdXBzOiBbXSB9IGFzIEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBzOiByZXBvcnQucGFyYW1ldGVyR3JvdXBzLm1hcCgoZ3JvdXA6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwKSA9PiAoe1xuICAgICAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IGdyb3VwLnRpdGxlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBncm91cC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBncm91cC5wYXJhbWV0ZXJzLm1hcCgocGFyYW06IEFYUFJlcG9ydFBhcmFtZXRlcikgPT4gKHtcbiAgICAgICAgICAgIHBhdGg6IHBhcmFtLnBhdGgsXG4gICAgICAgICAgICB0aXRsZTogcGFyYW0udGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcGFyYW0uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgLi4ucGFyYW0ud2lkZ2V0LFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW0ud2lkZ2V0Lm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY2xlYXJCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgaGFzQ2xlYXJCdXR0b246IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKVxuICAgICAgICB9KSlcbiAgICAgIH0gYXMgQVhQRHluYW1pY0Zvcm1EZWZpbml0aW9uO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBUeXBlIERldGVjdGlvbiAgIC0tLS1cblxuICAgIGlzVGFibGVMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlID09PSAndGFibGUnKSxcbiAgICBpc0NoYXJ0TGF5b3V0OiBjb21wdXRlZCgoKSA9PiBzdG9yZS5jdXJyZW50TGF5b3V0KCk/LmxheW91dD8udHlwZSA9PT0gJ2NoYXJ0JyksXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRmlsdGVyIFN0YXRlcyAgIC0tLS1cblxuICAgIGhhc1VuYXBwbGllZEZpbHRlcnM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gc3RvcmUuZmlsdGVyQ29udGV4dCgpO1xuICAgICAgY29uc3QgbGFzdEFwcGxpZWQgPSBzdG9yZS5sYXN0QXBwbGllZEZpbHRlckNvbnRleHQoKTtcbiAgICAgIGNvbnN0IGhhc0JlZW5FeGVjdXRlZCA9IHN0b3JlLmhhc0JlZW5FeGVjdXRlZCgpO1xuXG4gICAgICAvLyBJZiByZXBvcnQgaGFzIG5ldmVyIGJlZW4gZXhlY3V0ZWQsIGRvbid0IHNob3cgdW5hcHBsaWVkIGZpbHRlcnMgd2FybmluZ1xuICAgICAgaWYgKCFoYXNCZWVuRXhlY3V0ZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBubyBmaWx0ZXJzIGhhdmUgYmVlbiBhcHBsaWVkIHlldCwgcmV0dXJuIHRydWVcbiAgICAgIGlmIChsYXN0QXBwbGllZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBmaWx0ZXJzIGFyZSBkaWZmZXJlbnQgZnJvbSBsYXN0IGFwcGxpZWQgZmlsdGVyc1xuICAgICAgY29uc3QgY3VycmVudEtleXMgPSBPYmplY3Qua2V5cyhjdXJyZW50Q29udGV4dCk7XG4gICAgICBjb25zdCBsYXN0S2V5cyA9IE9iamVjdC5rZXlzKGxhc3RBcHBsaWVkKTtcblxuICAgICAgaWYgKGN1cnJlbnRLZXlzLmxlbmd0aCAhPT0gbGFzdEtleXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiBhbnkgdmFsdWVzIGFyZSBkaWZmZXJlbnRcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGN1cnJlbnRLZXlzKSB7XG4gICAgICAgIGlmIChjdXJyZW50Q29udGV4dFtrZXldICE9PSBsYXN0QXBwbGllZFtrZXldKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEFjdGlvbiBTdGF0ZXMgICAtLS0tXG5cbiAgICBjYW5FeGVjdXRlOiBjb21wdXRlZCgoKSA9PlxuICAgICAgc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpICE9PSBudWxsICYmXG4gICAgICBzdG9yZS5jdXJyZW50TGF5b3V0KCkgIT09IG51bGwgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmdcbiAgICApLFxuXG4gICAgY2FuU3dpdGNoTGF5b3V0OiBjb21wdXRlZCgoKSA9PlxuICAgICAgKHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8ubGF5b3V0cz8ubGVuZ3RoID8/IDApID4gMSAmJlxuICAgICAgc3RvcmUuc3RhdHVzKCkgIT09IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGluZ1xuICAgICksXG5cbiAgICBjYW5TZWxlY3RSb3dzOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScgJiZcbiAgICAgICAgbGF5b3V0LmxheW91dC5vcHRpb25zPy5zZWxlY3RhYmxlPy5tb2RlICYmXG4gICAgICAgIGxheW91dC5sYXlvdXQub3B0aW9ucz8uc2VsZWN0YWJsZT8ubW9kZSAhPT0gJ25vbmUnO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG4gIH0pKSxcblxuICB3aXRoTWV0aG9kcyhcbiAgICAoc3RvcmUsXG4gICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZTogQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpLFxuICAgICAgY29tbWFuZFNlcnZpY2U6IEFYUENvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KEFYUENvbW1hbmRTZXJ2aWNlKVxuICAgICkgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0ZVJlcG9ydCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICAgIGlmICghcmVwb3J0IHx8ICFsYXlvdXQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogJ1JlcG9ydCBvciBsYXlvdXQgbm90IGZvdW5kJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgYWxsb3dGZXRjaERhdGE6IHRydWUsXG4gICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogdHJ1ZSxcbiAgICAgICAgICBsYXN0QXBwbGllZEZpbHRlckNvbnRleHQ6IHsgLi4uc3RvcmUuZmlsdGVyQ29udGV4dCgpIH0sIC8vIE1hcmsgY3VycmVudCBmaWx0ZXJzIGFzIGFwcGxpZWRcbiAgICAgICAgICBoYXNCZWVuRXhlY3V0ZWQ6IHRydWUgLy8gTWFyayB0aGF0IHJlcG9ydCBoYXMgYmVlbiBleGVjdXRlZCBhdCBsZWFzdCBvbmNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGVkLFxuICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHBhcmFtZXRlcnM6IEFYUENvbnRleHREYXRhID0ge30pOiBQcm9taXNlPEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgfCBudWxsPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGF5b3V0ID0gc3RvcmUuY3VycmVudExheW91dCgpO1xuICAgICAgICBpZiAoIXJlcG9ydCB8fCAhbGF5b3V0KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBDcmVhdGUgZXhlY3V0aW9uIGNvbnRleHQgLSBlbnN1cmUgZGF0YVNvdXJjZSBpcyBwcm92aWRlZFxuICAgICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBsYXlvdXQuZGF0YVNvdXJjZSB8fCB7XG4gICAgICAgICAgICB0eXBlOiAncXVlcnknIGFzIGNvbnN0LFxuICAgICAgICAgICAgbmFtZTogJ2dldEVtcGxveWVlTGlzdCdcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgY29udGV4dDogQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgICAgICAgICAgIHJlcG9ydElkOiByZXBvcnQuaWQsXG4gICAgICAgICAgICBsYXlvdXRJZDogbGF5b3V0LmlkLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgLi4uc3RvcmUuZmlsdGVyQ29udGV4dCgpLFxuICAgICAgICAgICAgICAuLi5wYXJhbWV0ZXJzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBhd2FpdCBjb21tYW5kU2VydmljZS5leGVjdXRlKCdSZXBvcnRNYW5hZ2VtZW50LlJlcG9ydDpFeGVjdXRlJywgY29udGV4dCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgZXJyb3I6ICdGYWlsZWQgdG8gZXhlY3V0ZSByZXBvcnQnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4ZWN1dGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgUmVwb3J0IExvYWRpbmcgICAtLS0tXG5cbiAgICAgICAgYXN5bmMgbG9hZFJlcG9ydChyZXBvcnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydEJ5SWQocmVwb3J0SWQpO1xuICAgICAgICAgICAgaWYgKHJlcG9ydCkge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygncmVwb3J0JywgcmVwb3J0KTtcbiAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIHBhcmFtZXRlciB3aWRnZXRzIHdpdGggcHJvcGVyIHBhdGhzXG4gICAgICAgICAgICAgIHJlcG9ydC5wYXJhbWV0ZXJHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgICAgICAgICAgZ3JvdXAucGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgICAgICAgICAgIHBhcmFtLndpZGdldC5wYXRoID0gcGFyYW0ucGF0aDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgLy8gTG9hZCBjYXRlZ29yaWVzIHBhdGggZm9yIGJyZWFkY3J1bWJzXG4gICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeVJlcG9ydElkKHJlcG9ydElkKTtcblxuICAgICAgICAgICAgICAvLyBTZXQgZGVmYXVsdCBsYXlvdXRcbiAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdExheW91dCA9IHJlcG9ydC5sYXlvdXRzLmZpbmQoKGw6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+IGwuaXNEZWZhdWx0KSB8fCByZXBvcnQubGF5b3V0c1swXTtcblxuICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RGVmaW5pdGlvbjogcmVwb3J0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnRMYXlvdXQ6IGRlZmF1bHRMYXlvdXQsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcmllc1BhdGg6IGNhdGVnb3JpZXNQYXRoIHx8IFtdLFxuICAgICAgICAgICAgICAgIGZpbHRlckNvbnRleHQ6IHt9LCAvLyBSZXNldCBjb250ZXh0IHdoZW4gbG9hZGluZyBuZXcgcmVwb3J0XG4gICAgICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBzdGF0ZSBmb3IgbmV3IHJlcG9ydFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBlcnJvcjogJ0ZhaWxlZCB0byBsb2FkIHJlcG9ydCBkZWZpbml0aW9uJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIHJlcG9ydDonLCBlcnJvcik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIHN3aXRjaExheW91dChsYXlvdXRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICAgIGlmICghcmVwb3J0KSByZXR1cm47XG5cbiAgICAgICAgICBjb25zdCBsYXlvdXQgPSByZXBvcnQubGF5b3V0cy5maW5kKChsOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiBsLmlkID09PSBsYXlvdXRJZCk7XG4gICAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBsYXlvdXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIEV4ZWN1dGlvbiAgIC0tLS1cblxuICAgICAgICBleGVjdXRlUmVwb3J0LFxuICAgICAgICBmZXRjaERhdGEsXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBGaWx0ZXIgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgICAgICB1cGRhdGVGaWx0ZXJDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7IC4uLnN0b3JlLmZpbHRlckNvbnRleHQoKSwgLi4uY29udGV4dCB9LFxuICAgICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBmbGFnIHdoZW4gZmlsdGVycyBjaGFuZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgICAgICAgICAgc2hvdWxkRXhlY3V0ZVJlcG9ydDogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7fSxcbiAgICAgICAgICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCwgLy8gUmVzZXQgYXBwbGllZCBmaWx0ZXJzIHdoZW4gY2xlYXJpbmdcbiAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsIC8vIFJlc2V0IGV4ZWN1dGlvbiBzdGF0ZSB3aGVuIGNsZWFyaW5nIGZpbHRlcnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXNldEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEV4cG9ydCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIGFzeW5jIGV4cG9ydFJlcG9ydChmb3JtYXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgICAgICBpZiAoIWxheW91dD8uZXhwb3J0KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0V4cG9ydCBub3QgY29uZmlndXJlZCBmb3IgY3VycmVudCBsYXlvdXQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gRXhwb3J0IGxvZ2ljIHdvdWxkIGdvIGhlcmVcbiAgICAgICAgICAgIC8vIFRoaXMgd291bGQgdHlwaWNhbGx5IGNhbGwgYSBkaWZmZXJlbnQgY29tbWFuZCBmb3IgZXhwb3J0XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXhwb3J0aW5nIHJlcG9ydCBpbiAke2Zvcm1hdH0gZm9ybWF0YCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4cG9ydGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICAgICAgICByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIHJldHVybiBleGVjdXRlUmVwb3J0KCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBudWxsLFxuICAgICAgICAgICAgZmlsdGVyQ29udGV4dDoge30sXG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBzaG91bGRFeGVjdXRlUmVwb3J0OiBmYWxzZSxcbiAgICAgICAgICAgIGxhc3RBcHBsaWVkRmlsdGVyQ29udGV4dDogbnVsbCxcbiAgICAgICAgICAgIGhhc0JlZW5FeGVjdXRlZDogZmFsc2UsXG4gICAgICAgICAgICBjYXRlZ29yaWVzUGF0aDogW10sXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgICB9O1xuICAgIH1cbiAgKSxcblxuICB3aXRoSG9va3MoKHN0b3JlLFxuICAgIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSksXG4gICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICkgPT4gKHtcbiAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAvLyBTdWJzY3JpYmUgdG8gbGFuZ3VhZ2UgYW5kIGxvY2FsZSBjaGFuZ2VzXG4gICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBsYW5ndWFnZSBjaGFuZ2UgaWYgbmVlZGVkXG4gICAgICB9KTtcblxuICAgICAgbG9jYWxlU2VydmljZS5wcm9maWxlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSGFuZGxlIGxvY2FsZSBjaGFuZ2UgaWYgbmVlZGVkICBcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25EZXN0cm95KCkge1xuICAgICAgLy8gQ2xlYW51cCBpZiBuZWVkZWRcbiAgICB9XG4gIH0pKVxuKTsgIl19","import { AXBarChartComponent } from '@acorex/charts/bar-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport { AXDonutChartComponent } from '@acorex/charts/donut-chart';\nimport { AXLineChartComponent } from '@acorex/charts/line-chart';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal } from '@angular/core';\nimport { AXBarChartReportMapper, AXLineChartReportMapper, AXPieChartReportMapper, } from '../../../../reports/report-mapper';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart' ? layout.layout : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to fetch chart data when conditions are met\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.vm.shouldExecuteReport() && this.chartOptions()) {\n this.vm.fetchData().then((data) => {\n const raw = ((data?.data).data ?? {});\n switch (this.chartType()) {\n case 'bar': {\n const v = AXBarChartReportMapper(raw);\n this.barChartData.set(v);\n break;\n }\n case 'doughnut': {\n const v = AXPieChartReportMapper(raw);\n this.donutChartData.set(v);\n break;\n }\n case 'line':\n default: {\n const v = AXLineChartReportMapper(raw);\n this.lineChartData.set(v);\n break;\n }\n }\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.legendOptions = signal({\n mode: 'vertical',\n className: 'ax-h-72',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n this.barChartData = signal([], ...(ngDevMode ? [{ debugName: \"barChartData\" }] : []));\n this.barChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"barChartOptions\" }] : []));\n this.donutChartData = signal([], ...(ngDevMode ? [{ debugName: \"donutChartData\" }] : []));\n this.donutChartOptions = computed(() => {\n return {\n totalLabel: 'Total',\n showTooltip: true,\n showDataLabels: this.donutChartData().length <= 10,\n };\n }, ...(ngDevMode ? [{ debugName: \"donutChartOptions\" }] : []));\n this.lineChartData = signal([], ...(ngDevMode ? [{ debugName: \"lineChartData\" }] : []));\n this.lineChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"lineChartOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to fetch chart data when conditions are met\n */\n #fetchData;\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportChartViewComponent, isStandalone: true, selector: \"axp-report-chart-view\", host: { classAttribute: \"axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col\" }, ngImport: i0, template: \"<ng-container *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"ax-spinner ax-spin ax-w-10 ax-h-10\\\"></div>\\n <div class=\\\"__loading-text ax-text-sm ax-opacity-70\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__error-icon ax-text-5xl ax-text-danger\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__error-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ vm.error() || (t('@report-management:features.report-viewer.error.generic') | async) }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <section\\n class=\\\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\\\">\\n @if (chartLayout()?.header) {\\n <header\\n class=\\\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\\\">\\n <h3 class=\\\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\\\">\\n {{ chartLayout()?.header?.title }}\\n </h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\\\">\\n {{ 'common.date.today' | translate | async }}\\n </div>\\n }\\n </header>\\n }\\n\\n <div class=\\\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\\\">\\n <div class=\\\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\\\" [class]=\\\"\\n legendOptions().mode === 'horizontal'\\n ? 'ax-flex-col ax-gap-4'\\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\\n \\\">\\n @switch (chartType()) {\\n @case ('bar') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-bar-chart #barChart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"barChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @case ('doughnut') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-donut-chart #donutChart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"donutChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @default {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-line-chart #lineChart [data]=\\\"lineChartData()\\\" [options]=\\\"lineChartOptions()\\\"></ax-line-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"lineChart\\\"></ax-chart-legend>\\n </div>\\n }\\n }\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <footer class=\\\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </footer>\\n }\\n </section>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__no-config-icon ax-w-16 ax-h-16 ax-rounded-full ax-flex ax-items-center ax-justify-center\\\">\\n <i class=\\\"fa-light fa-chart-line ax-text-2xl ax-opacity-60\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__no-config-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</ng-container>\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXBarChartComponent, selector: \"ax-bar-chart\", inputs: [\"data\", \"options\"], outputs: [\"barClick\"] }, { kind: \"component\", type: AXDonutChartComponent, selector: \"ax-donut-chart\", inputs: [\"data\", \"options\"], outputs: [\"segmentClick\", \"segmentHover\"] }, { kind: \"component\", type: AXLineChartComponent, selector: \"ax-line-chart\", inputs: [\"data\", \"options\"], outputs: [\"pointClick\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-chart-view', imports: [\n CommonModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXBarChartComponent,\n AXDonutChartComponent,\n AXLineChartComponent,\n AXChartLegendComponent,\n ], host: {\n class: 'axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-container *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"ax-spinner ax-spin ax-w-10 ax-h-10\\\"></div>\\n <div class=\\\"__loading-text ax-text-sm ax-opacity-70\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__error-icon ax-text-5xl ax-text-danger\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__error-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ vm.error() || (t('@report-management:features.report-viewer.error.generic') | async) }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <section\\n class=\\\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\\\">\\n @if (chartLayout()?.header) {\\n <header\\n class=\\\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\\\">\\n <h3 class=\\\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\\\">\\n {{ chartLayout()?.header?.title }}\\n </h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\\\">\\n {{ 'common.date.today' | translate | async }}\\n </div>\\n }\\n </header>\\n }\\n\\n <div class=\\\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\\\">\\n <div class=\\\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\\\" [class]=\\\"\\n legendOptions().mode === 'horizontal'\\n ? 'ax-flex-col ax-gap-4'\\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\\n \\\">\\n @switch (chartType()) {\\n @case ('bar') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-bar-chart #barChart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"barChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @case ('doughnut') {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-donut-chart #donutChart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"donutChart\\\"></ax-chart-legend>\\n </div>\\n }\\n @default {\\n <div\\n class=\\\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\\\">\\n <ax-line-chart #lineChart [data]=\\\"lineChartData()\\\" [options]=\\\"lineChartOptions()\\\"></ax-line-chart>\\n </div>\\n <div class=\\\"__chart-legend ax-w-fit ax-flex-shrink-0\\\">\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"lineChart\\\"></ax-chart-legend>\\n </div>\\n }\\n }\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <footer class=\\\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </footer>\\n }\\n </section>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\\\">\\n <div class=\\\"__no-config-icon ax-w-16 ax-h-16 ax-rounded-full ax-flex ax-items-center ax-justify-center\\\">\\n <i class=\\\"fa-light fa-chart-line ax-text-2xl ax-opacity-60\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content ax-max-w-lg ax-text-center\\\">\\n <h4 class=\\\"__no-config-title ax-text-xl ax-font-semibold ax-mb-3\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description ax-opacity-70 ax-leading-relaxed\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</ng-container>\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNoYXJ0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtY2hhcnQtdmlldy9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUF5QyxNQUFNLDRCQUE0QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLG1DQUFtQyxDQUFDO0FBRTND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c0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkIsUUFDSzt3QkFDSixLQUFLLEVBQUUsK0RBQStEO3FCQUN2RSxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRDb21wb25lbnQsIEFYQmFyQ2hhcnRPcHRpb24sIEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LCBBWENoYXJ0TGVnZW5kT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2NoYXJ0LWxlZ2VuZCc7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRDb21wb25lbnQsIEFYRG9udXRDaGFydE9wdGlvbiwgQVhEb251dENoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9kb251dC1jaGFydCc7XG5pbXBvcnQgeyBBWExpbmVDaGFydENvbXBvbmVudCwgQVhMaW5lQ2hhcnRPcHRpb24sIEFYTGluZUNoYXJ0VmFsdWUgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9saW5lLWNoYXJ0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWEJhckNoYXJ0UmVwb3J0TWFwcGVyLFxuICBBWExpbmVDaGFydFJlcG9ydE1hcHBlcixcbiAgQVhQaWVDaGFydFJlcG9ydE1hcHBlcixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cy9yZXBvcnQtbWFwcGVyJztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0TGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cy9yZXBvcnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vcmVwb3J0LXZpZXdlci52aWV3bW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNoYXJ0LXZpZXcnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWEJhckNoYXJ0Q29tcG9uZW50LFxuICAgIEFYRG9udXRDaGFydENvbXBvbmVudCxcbiAgICBBWExpbmVDaGFydENvbXBvbmVudCxcbiAgICBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdheHAtcmVwb3J0LWNoYXJ0LXZpZXcgYXgtdy1mdWxsIGF4LWgtZnVsbCBheC1mbGV4IGF4LWZsZXgtY29sJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQVhQUGFnZVN0YXR1cyA9IEFYUFBhZ2VTdGF0dXM7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDdXJyZW50IGNoYXJ0IGxheW91dCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRMYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGF5b3V0ID0gdGhpcy52bS5jdXJyZW50TGF5b3V0KCk7XG4gICAgcmV0dXJuIGxheW91dD8ubGF5b3V0LnR5cGUgPT09ICdjaGFydCcgPyAobGF5b3V0LmxheW91dCBhcyBBWFBSZXBvcnRDaGFydExheW91dCkgOiBudWxsO1xuICB9KTtcblxuICAvKipcbiAgICogQ2hhcnQgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNoYXJ0TGF5b3V0ID0gdGhpcy5jaGFydExheW91dCgpO1xuICAgIHJldHVybiBjaGFydExheW91dD8ub3B0aW9ucyB8fCBudWxsO1xuICB9KTtcblxuICAvKipcbiAgICogQ2hhcnQgdHlwZSBmb3IgcmVuZGVyaW5nXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRUeXBlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgIHJldHVybiBvcHRpb25zPy5jaGFydFR5cGUgfHwgJ2Jhcic7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEYXRhIG1hcHBpbmcgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFNYXBwaW5nID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgIHJldHVybiBvcHRpb25zPy5kYXRhTWFwcGluZyB8fCBudWxsO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEVmZmVjdHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBmZXRjaCBjaGFydCBkYXRhIHdoZW4gY29uZGl0aW9ucyBhcmUgbWV0XG4gICAqL1xuICAjZmV0Y2hEYXRhID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpICYmIHRoaXMudm0uc2hvdWxkRXhlY3V0ZVJlcG9ydCgpICYmIHRoaXMuY2hhcnRPcHRpb25zKCkpIHtcbiAgICAgIHRoaXMudm0uZmV0Y2hEYXRhKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSAoKChkYXRhPy5kYXRhIGFzIGFueSkuZGF0YSBhcyBhbnkpID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY2hhcnRUeXBlKCkpIHtcbiAgICAgICAgICBjYXNlICdiYXInOiB7XG4gICAgICAgICAgICBjb25zdCB2ID0gQVhCYXJDaGFydFJlcG9ydE1hcHBlcihyYXcpO1xuICAgICAgICAgICAgdGhpcy5iYXJDaGFydERhdGEuc2V0KHYpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ2RvdWdobnV0Jzoge1xuICAgICAgICAgICAgY29uc3QgdiA9IEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIocmF3KTtcbiAgICAgICAgICAgIHRoaXMuZG9udXRDaGFydERhdGEuc2V0KHYpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ2xpbmUnOlxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBBWExpbmVDaGFydFJlcG9ydE1hcHBlcihyYXcpO1xuICAgICAgICAgICAgdGhpcy5saW5lQ2hhcnREYXRhLnNldCh2KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBNZXRob2RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjaGFydCBpcyByZWFkeSB0byByZW5kZXJcbiAgICovXG4gIHByb3RlY3RlZCBpc0NoYXJ0UmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuY2hhcnRPcHRpb25zKCkgJiYgdGhpcy5kYXRhTWFwcGluZygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsZWdlbmRPcHRpb25zID0gc2lnbmFsPEFYQ2hhcnRMZWdlbmRPcHRpb25zPih7XG4gICAgbW9kZTogJ3ZlcnRpY2FsJyxcbiAgICBjbGFzc05hbWU6ICdheC1oLTcyJyxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGJhckNoYXJ0RGF0YSA9IHNpZ25hbDxBWEJhckNoYXJ0VmFsdWU+KFtdKTtcbiAgcHJvdGVjdGVkIGJhckNoYXJ0T3B0aW9ucyA9IHNpZ25hbDxBWEJhckNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgcHJvdGVjdGVkIGRvbnV0Q2hhcnREYXRhID0gc2lnbmFsPEFYRG9udXRDaGFydFZhbHVlPihbXSk7XG5cbiAgcHJvdGVjdGVkIGRvbnV0Q2hhcnRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0b3RhbExhYmVsOiAnVG90YWwnLFxuICAgICAgc2hvd1Rvb2x0aXA6IHRydWUsXG4gICAgICBzaG93RGF0YUxhYmVsczogdGhpcy5kb251dENoYXJ0RGF0YSgpLmxlbmd0aCA8PSAxMCxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbGluZUNoYXJ0RGF0YSA9IHNpZ25hbDxBWExpbmVDaGFydFZhbHVlPihbXSk7XG4gIHByb3RlY3RlZCBsaW5lQ2hhcnRPcHRpb25zID0gc2lnbmFsPEFYTGluZUNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcpIHtcbiAgPCEtLSBMb2FkaW5nIFN0YXRlIC0tPlxuICA8ZGl2IGNsYXNzPVwiX19sb2FkaW5nIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWgtZnVsbCBheC1nYXAtNiBheC1wLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc3Bpbm5lciBheC1zcGluIGF4LXctMTAgYXgtaC0xMFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmctdGV4dCBheC10ZXh0LXNtIGF4LW9wYWNpdHktNzBcIj5cbiAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmxvYWRpbmcuY2hhcnQnKSB8IGFzeW5jIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9IEBlbHNlIGlmICh2bS5zdGF0dXMoKSA9PT0gQVhQUGFnZVN0YXR1cy5FcnJvcikge1xuICA8IS0tIEVycm9yIFN0YXRlIC0tPlxuICA8ZGl2IGNsYXNzPVwiX19lcnJvciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1oLWZ1bGwgYXgtZ2FwLTYgYXgtcC04XCI+XG4gICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItaWNvbiBheC10ZXh0LTV4bCBheC10ZXh0LWRhbmdlclwiPlxuICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19lcnJvci1jb250ZW50IGF4LW1heC13LWxnIGF4LXRleHQtY2VudGVyXCI+XG4gICAgICA8aDQgY2xhc3M9XCJfX2Vycm9yLXRpdGxlIGF4LXRleHQteGwgYXgtZm9udC1zZW1pYm9sZCBheC1tYi0zXCI+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmVycm9yLnRpdGxlJykgfCBhc3luYyB9fVxuICAgICAgPC9oND5cbiAgICAgIDxwIGNsYXNzPVwiX19lcnJvci1kZXNjcmlwdGlvbiBheC1vcGFjaXR5LTcwIGF4LWxlYWRpbmctcmVsYXhlZFwiPlxuICAgICAgICB7eyB2bS5lcnJvcigpIHx8ICh0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci5nZW5lcmljJykgfCBhc3luYykgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGlzQ2hhcnRSZWFkeSgpKSB7XG4gIDwhLS0gQ2hhcnQgQ29udGVudCAtLT5cbiAgPHNlY3Rpb25cbiAgICBjbGFzcz1cIl9fY2hhcnQtY29udGFpbmVyIGF4LW92ZXJmbG93LWF1dG8gbWQ6YXgtb3ZlcmZsb3ctaGlkZGVuIGF4LXJvdW5kZWQtMnhsIGF4LWJvcmRlciBheC1oLWZ1bGwgYXgtZmxleCBheC1mbGV4LWNvbFwiPlxuICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uaGVhZGVyKSB7XG4gICAgPGhlYWRlclxuICAgICAgY2xhc3M9XCJfX2NoYXJ0LWhlYWRlciBheC1wLTQgbWQ6YXgtcC02IGF4LWJvcmRlci1iIGF4LWZsZXggYXgtZmxleC1jb2wgc206YXgtZmxleC1yb3cgYXgtZ2FwLTIgc206YXgtaXRlbXMtY2VudGVyIHNtOmF4LWp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPGgzIGNsYXNzPVwiX19jaGFydC10aXRsZSBheC10ZXh0LWJhc2UgbWQ6YXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkIGF4LXRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNoYXJ0TGF5b3V0KCk/LmhlYWRlcj8udGl0bGUgfX1cbiAgICAgIDwvaDM+XG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmhlYWRlcj8uc2hvd0RhdGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWRhdGUgYXgtdGV4dC14cyBtZDpheC10ZXh0LXNtIGF4LW9wYWNpdHktNzAgYXgtZm9udC1tZWRpdW0gYXgtZmxleC1zaHJpbmstMFwiPlxuICAgICAgICB7eyAnY29tbW9uLmRhdGUudG9kYXknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvaGVhZGVyPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWJvZHkgYXgtZmxleC0xIGF4LXAtMyBtZDpheC1wLTZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LXdyYXBwZXIgYXgtaC1mdWxsIGF4LWl0ZW1zLWNlbnRlciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGxnOmF4LWdhcC02XCIgW2NsYXNzXT1cIlxuICAgICAgICAgICAgbGVnZW5kT3B0aW9ucygpLm1vZGUgPT09ICdob3Jpem9udGFsJ1xuICAgICAgICAgICAgICA/ICdheC1mbGV4LWNvbCBheC1nYXAtNCdcbiAgICAgICAgICAgICAgOiAnYXgtZmxleC1jb2wgbGc6YXgtZmxleC1yb3cgYXgtZ2FwLTQgbGc6YXgtZ2FwLTYnXG4gICAgICAgICAgXCI+XG4gICAgICAgIEBzd2l0Y2ggKGNoYXJ0VHlwZSgpKSB7XG4gICAgICAgIEBjYXNlICgnYmFyJykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJfX2NoYXJ0LWNvbnRlbnQgYXgtZmxleC0xIGF4LWgtZnVsbCBheC1taW4taC1bMjUwcHhdIG1kOmF4LW1pbi1oLVszMDBweF0gYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtdy1mdWxsIGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgIDxheC1iYXItY2hhcnQgI2JhckNoYXJ0IFtkYXRhXT1cImJhckNoYXJ0RGF0YSgpXCIgW29wdGlvbnNdPVwiYmFyQ2hhcnRPcHRpb25zKClcIj48L2F4LWJhci1jaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWxlZ2VuZCBheC13LWZpdCBheC1mbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwiYmFyQ2hhcnRcIj48L2F4LWNoYXJ0LWxlZ2VuZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdkb3VnaG51dCcpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiX19jaGFydC1jb250ZW50IGF4LWZsZXgtMSBheC1oLWZ1bGwgYXgtbWluLWgtWzI1MHB4XSBtZDpheC1taW4taC1bMzAwcHhdIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8YXgtZG9udXQtY2hhcnQgI2RvbnV0Q2hhcnQgW2RhdGFdPVwiZG9udXRDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImRvbnV0Q2hhcnRPcHRpb25zKClcIj48L2F4LWRvbnV0LWNoYXJ0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtbGVnZW5kIGF4LXctZml0IGF4LWZsZXgtc2hyaW5rLTBcIj5cbiAgICAgICAgICA8YXgtY2hhcnQtbGVnZW5kIFtvcHRpb25zXT1cImxlZ2VuZE9wdGlvbnMoKVwiIFtjaGFydF09XCJkb251dENoYXJ0XCI+PC9heC1jaGFydC1sZWdlbmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiX19jaGFydC1jb250ZW50IGF4LWZsZXgtMSBheC1oLWZ1bGwgYXgtbWluLWgtWzI1MHB4XSBtZDpheC1taW4taC1bMzAwcHhdIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbCBheC1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8YXgtbGluZS1jaGFydCAjbGluZUNoYXJ0IFtkYXRhXT1cImxpbmVDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImxpbmVDaGFydE9wdGlvbnMoKVwiPjwvYXgtbGluZS1jaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWxlZ2VuZCBheC13LWZpdCBheC1mbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwibGluZUNoYXJ0XCI+PC9heC1jaGFydC1sZWdlbmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXIpIHtcbiAgICA8Zm9vdGVyIGNsYXNzPVwiX19jaGFydC1mb290ZXIgYXgtcC00IG1kOmF4LXAtNiBheC1ib3JkZXItdFwiPlxuICAgICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWwpIHtcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWxcIj48L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Zvb3Rlcj5cbiAgICB9XG4gIDwvc2VjdGlvbj5cbiAgfSBAZWxzZSB7XG4gIDwhLS0gTm8gQ29uZmlndXJhdGlvbiBTdGF0ZSAtLT5cbiAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWgtZnVsbCBheC1nYXAtNiBheC1wLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctaWNvbiBheC13LTE2IGF4LWgtMTYgYXgtcm91bmRlZC1mdWxsIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoYXJ0LWxpbmUgYXgtdGV4dC0yeGwgYXgtb3BhY2l0eS02MFwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctY29udGVudCBheC1tYXgtdy1sZyBheC10ZXh0LWNlbnRlclwiPlxuICAgICAgPGg0IGNsYXNzPVwiX19uby1jb25maWctdGl0bGUgYXgtdGV4dC14bCBheC1mb250LXNlbWlib2xkIGF4LW1iLTNcIj5cbiAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLnRpdGxlJykgfCBhc3luYyB9fVxuICAgICAgPC9oND5cbiAgICAgIDxwIGNsYXNzPVwiX19uby1jb25maWctZGVzY3JpcHRpb24gYXgtb3BhY2l0eS03MCBheC1sZWFkaW5nLXJlbGF4ZWRcIj5cbiAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLmRlc2NyaXB0aW9uJykgfCBhc3luYyB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9uZy1jb250YWluZXI+Il19","import { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { applySystemActionDefault, getSystemActions } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPReportTableViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.commandService = inject(AXPCommandService);\n this.grid = viewChild('grid', ...(ngDevMode ? [{ debugName: \"grid\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when report is executed\n */\n this.#fetchData = effect(() => {\n if (this.grid() && this.vm.allowFetchData() && this.vm.shouldExecuteReport()) {\n this.grid()?.refresh();\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n this.layout = computed(() => {\n return this.vm.currentLayout()?.layout;\n }, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.dataSource = new AXDataSource({\n load: async (e) => {\n if (!this.vm.allowFetchData()) {\n return { items: [], total: 0 };\n }\n const result = await this.vm.fetchData(e);\n if (!result?.data || result.data.type !== 'table') {\n console.error('invalid table result');\n return { items: [], total: 0 };\n }\n ;\n let items = result.data.items ?? [];\n let total = result.data.total || 0;\n return { items, total };\n },\n pageSize: 10,\n key: 'id'\n });\n this.columns = computed(() => {\n return this.layout().columns?.map((col) => ({\n field: col.field,\n title: col.title || col.field,\n width: col.width || '150px',\n visible: col.visible !== false,\n align: col.align || 'left',\n widget: { ...col.widget, path: col.field }\n })) || [];\n }, ...(ngDevMode ? [{ debugName: \"columns\" }] : []));\n this.paginationEnabled = computed(() => {\n return this.layout().options?.pagination !== false;\n }, ...(ngDevMode ? [{ debugName: \"paginationEnabled\" }] : []));\n this.primaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'primary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"primaryRowAction\" }] : []));\n this.hasPrimaryRowAction = computed(() => {\n return this.primaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasPrimaryRowAction\" }] : []));\n this.secondaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'secondary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"secondaryRowAction\" }] : []));\n this.hasSecondaryRowAction = computed(() => {\n return this.secondaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasSecondaryRowAction\" }] : []));\n this.defaultRowAction = computed(() => {\n const defaultAction = this.layout().actions?.find(a => a.default);\n if (!defaultAction) {\n return null;\n }\n return this.convertToRowCommandItem(defaultAction);\n }, ...(ngDevMode ? [{ debugName: \"defaultRowAction\" }] : []));\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleRowClick(event) {\n this.handleRowAction(event.name, event.data);\n }\n handleDbRowClick(event) {\n if (this.defaultRowAction()) {\n this.handleRowAction(this.defaultRowAction().name, event.data);\n }\n }\n handleRowAction(name, data) {\n debugger;\n this.commandService.execute(name, data);\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when report is executed\n */\n #fetchData;\n //#endregion\n //#region ---- Helpers ----\n convertToRowCommandItem(action) {\n debugger;\n const systemAction = getSystemActions(action.type);\n if (!systemAction) {\n return {\n icon: action.icon ?? 'fa-light fa-eye',\n text: action.title,\n name: action.command?.name,\n divided: action.break,\n color: action.color,\n };\n }\n const defaultAction = applySystemActionDefault(action, systemAction.key);\n return {\n icon: defaultAction.icon ?? 'fa-light fa-eye',\n text: defaultAction.title,\n name: action.command?.name,\n divided: defaultAction.break,\n color: defaultAction.color,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportTableViewComponent, isStandalone: true, selector: \"axp-report-table-view\", viewQueries: [{ propertyName: \"grid\", first: true, predicate: [\"grid\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"selectedRows\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"noDataTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXRowIndexColumnComponent, selector: \"ax-index-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"padZero\"] }, { kind: \"component\", type: i1.AXRowSelectColumnComponent, selector: \"ax-select-column\", inputs: [\"width\", \"caption\", \"fixed\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"component\", type: i1.AXRowDropdownCommandColumnComponent, selector: \"ax-dropdown-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetColumnRendererComponent, selector: \"axp-widget-column-renderer\", inputs: [\"caption\", \"customExpandIcon\", \"customCollapseIcon\", \"customWidth\", \"node\", \"footerTemplate\", \"expandHandler\", \"cellTemplate\", \"headerTemplate\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-table-view', standalone: true, imports: [\n CommonModule,\n AXDataTableModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC10YWJsZS12aWV3L3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsaUJBQWlCLEVBQXVFLE1BQU0sK0JBQStCLENBQUM7QUFDN0osT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLHdCQUF3QixFQUFFLGdCQUFn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Q0FBQztZQUVsQixPQUFPO2dCQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLGlCQUFpQjtnQkFDdEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJO2dCQUMxQixPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzthQUNBLENBQUM7UUFDeEIsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsR0FBMEIsQ0FBQyxDQUFDO1FBQ2hHLE9BQU87WUFDTCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBSSxpQkFBaUI7WUFDN0MsSUFBSSxFQUFFLGFBQWEsQ0FBQyxLQUFLO1lBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUk7WUFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLO1lBQzVCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztTQUNQLENBQUM7SUFDeEIsQ0FBQzs4R0EzSVUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsK0xDNUJ4QyxnckNBc0NBLDJDRHJCSSxZQUFZLDhCQUNaLGlCQUFpQix3cUNBQ2pCLGVBQWUsOEJBQ2YsaUJBQWlCLDhCQUNqQixtQkFBbUIsOEJBQ25CLHNCQUFzQjs7MkZBTWIsMkJBQTJCO2tCQWZ2QyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHNCQUFzQjtxQkFDdkIsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFUYWJsZUNvbXBvbmVudCwgQVhEYXRhVGFibGVNb2R1bGUsIEFYRGF0YVRhYmxlUm93RGJDbGljaywgQVhSb3dDb21tYW5kSXRlbSwgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0YS10YWJsZSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQV2lkZ2V0Q29sdW1uTm9kZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgdmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vcmVwb3J0LXZpZXdlci52aWV3bW9kZWwnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q29sdW1uLCBBWFBSZXBvcnRUYWJsZUxheW91dCwgQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9yZXBvcnRzJztcbmltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhEYXRhU291cmNlUXVlcnkgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhQU3lzdGVtQWN0aW9uVHlwZSwgYXBwbHlTeXN0ZW1BY3Rpb25EZWZhdWx0LCBnZXRTeXN0ZW1BY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXJlcG9ydC10YWJsZS12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWERhdGFUYWJsZU1vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRUYWJsZVZpZXdDb21wb25lbnQge1xuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBncmlkID0gdmlld0NoaWxkPEFYRGF0YVRhYmxlQ29tcG9uZW50PignZ3JpZCcpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUm93Q2xpY2soZXZlbnQ6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVSb3dBY3Rpb24oZXZlbnQubmFtZSwgZXZlbnQuZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGJSb3dDbGljayhldmVudDogQVhEYXRhVGFibGVSb3dEYkNsaWNrKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFJvd0FjdGlvbigpKSB7XG4gICAgICB0aGlzLmhhbmRsZVJvd0FjdGlvbih0aGlzLmRlZmF1bHRSb3dBY3Rpb24oKSEubmFtZSwgZXZlbnQuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJvd0FjdGlvbihuYW1lOiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIGRlYnVnZ2VyXG4gICAgdGhpcy5jb21tYW5kU2VydmljZS5leGVjdXRlKG5hbWUsIGRhdGEpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBFZmZlY3RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBFZmZlY3QgdG8gaGFuZGxlIGRhdGEgZmV0Y2hpbmcgd2hlbiByZXBvcnQgaXMgZXhlY3V0ZWRcbiAgICovXG4gICNmZXRjaERhdGEgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLmdyaWQoKSAmJiB0aGlzLnZtLmFsbG93RmV0Y2hEYXRhKCkgJiYgdGhpcy52bS5zaG91bGRFeGVjdXRlUmVwb3J0KCkpIHtcbiAgICAgIHRoaXMuZ3JpZCgpPy5yZWZyZXNoKCk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXB1dGVkIFByb3BlcnRpZXMgICAtLS0tXG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGF5b3V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAodGhpcy52bS5jdXJyZW50TGF5b3V0KCk/LmxheW91dCBhcyBBWFBSZXBvcnRUYWJsZUxheW91dCkhO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2Uoe1xuICAgIGxvYWQ6IGFzeW5jIChlOiBBWERhdGFTb3VyY2VRdWVyeSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnZtLmFsbG93RmV0Y2hEYXRhKCkpIHtcbiAgICAgICAgcmV0dXJuIHsgaXRlbXM6IFtdLCB0b3RhbDogMCB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMudm0uZmV0Y2hEYXRhKGUpXG4gICAgICBpZiAoIXJlc3VsdD8uZGF0YSB8fCByZXN1bHQuZGF0YS50eXBlICE9PSAndGFibGUnKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgdGFibGUgcmVzdWx0Jyk7XG4gICAgICAgIHJldHVybiB7IGl0ZW1zOiBbXSwgdG90YWw6IDAgfVxuICAgICAgfTtcblxuICAgICAgbGV0IGl0ZW1zOiBhbnlbXSA9IHJlc3VsdC5kYXRhLml0ZW1zIGFzIGFueVtdID8/IFtdO1xuICAgICAgbGV0IHRvdGFsID0gcmVzdWx0LmRhdGEudG90YWwgfHwgMDtcblxuICAgICAgcmV0dXJuIHsgaXRlbXMsIHRvdGFsIH07XG4gICAgfSxcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnXG4gIH0pO1xuXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0KCkuY29sdW1ucz8ubWFwKChjb2w6IEFYUFJlcG9ydENvbHVtbikgPT4gKHtcbiAgICAgIGZpZWxkOiBjb2wuZmllbGQsXG4gICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5maWVsZCxcbiAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgJzE1MHB4JyxcbiAgICAgIHZpc2libGU6IGNvbC52aXNpYmxlICE9PSBmYWxzZSxcbiAgICAgIGFsaWduOiBjb2wuYWxpZ24gfHwgJ2xlZnQnLFxuICAgICAgd2lkZ2V0OiB7IC4uLmNvbC53aWRnZXQsIHBhdGg6IGNvbC5maWVsZCB9IGFzIEFYUFdpZGdldENvbHVtbk5vZGVcbiAgICB9KSkgfHwgW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdpbmF0aW9uRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQoKS5vcHRpb25zPy5wYWdpbmF0aW9uICE9PSBmYWxzZTtcbiAgfSk7XG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJpbWFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbHRlcihhID0+IGEucHJpb3JpdHkgPT09ICdwcmltYXJ5Jyk/Lm1hcChhID0+IHRoaXMuY29udmVydFRvUm93Q29tbWFuZEl0ZW0oYSkpIHx8IFtdO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzUHJpbWFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5Um93QWN0aW9uKCkubGVuZ3RoID4gMDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlY29uZGFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbHRlcihhID0+IGEucHJpb3JpdHkgPT09ICdzZWNvbmRhcnknKT8ubWFwKGEgPT4gdGhpcy5jb252ZXJ0VG9Sb3dDb21tYW5kSXRlbShhKSkgfHwgW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBoYXNTZWNvbmRhcnlSb3dBY3Rpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kYXJ5Um93QWN0aW9uKCkubGVuZ3RoID4gMDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRSb3dBY3Rpb24gPSBjb21wdXRlZDxBWFJvd0NvbW1hbmRJdGVtIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRBY3Rpb24gPSB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbmQoYSA9PiBhLmRlZmF1bHQpO1xuICAgIGlmICghZGVmYXVsdEFjdGlvbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGRlZmF1bHRBY3Rpb24pO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlcnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGFjdGlvbjogQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb24pOiBBWFJvd0NvbW1hbmRJdGVtIHtcbiAgICBkZWJ1Z2dlclxuICAgIGNvbnN0IHN5c3RlbUFjdGlvbiA9IGdldFN5c3RlbUFjdGlvbnMoYWN0aW9uLnR5cGUgYXMgQVhQU3lzdGVtQWN0aW9uVHlwZSk7XG4gICAgaWYgKCFzeXN0ZW1BY3Rpb24pIHtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvbjogYWN0aW9uLmljb24gPz8gJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICAgIHRleHQ6IGFjdGlvbi50aXRsZSxcbiAgICAgICAgbmFtZTogYWN0aW9uLmNvbW1hbmQ/Lm5hbWUsXG4gICAgICAgIGRpdmlkZWQ6IGFjdGlvbi5icmVhayxcbiAgICAgICAgY29sb3I6IGFjdGlvbi5jb2xvcixcbiAgICAgIH0gYXMgQVhSb3dDb21tYW5kSXRlbTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdEFjdGlvbiA9IGFwcGx5U3lzdGVtQWN0aW9uRGVmYXVsdChhY3Rpb24sIHN5c3RlbUFjdGlvbi5rZXkgYXMgQVhQU3lzdGVtQWN0aW9uVHlwZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246IGRlZmF1bHRBY3Rpb24uaWNvbiA/PyAnZmEtbGlnaHQgZmEtZXllJyxcbiAgICAgIHRleHQ6IGRlZmF1bHRBY3Rpb24udGl0bGUsXG4gICAgICBuYW1lOiBhY3Rpb24uY29tbWFuZD8ubmFtZSxcbiAgICAgIGRpdmlkZWQ6IGRlZmF1bHRBY3Rpb24uYnJlYWssXG4gICAgICBjb2xvcjogZGVmYXVsdEFjdGlvbi5jb2xvcixcbiAgICB9IGFzIEFYUm93Q29tbWFuZEl0ZW07XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxufSAiLCI8YXgtZGF0YS10YWJsZVxuICAjZ3JpZFxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgW3BhZ2luZ109XCJ0cnVlXCJcbiAgKG9uUm93RGJDbGljayk9XCJoYW5kbGVEYlJvd0NsaWNrKCRldmVudClcIlxuICBjbGFzcz1cImF4LWZsZXgtMVwiXG4+XG4gIDwhLS0gRHluYW1pYyBjb2x1bW5zIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24gLS0+XG4gIDxheC1pbmRleC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInODBweCdcIiBbcGFkWmVyb109XCJ0cnVlXCI+PC9heC1pbmRleC1jb2x1bW4+XG4gIEBpZiAodm0uY2FuU2VsZWN0Um93cygpKSB7XG4gICAgPGF4LXNlbGVjdC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInNTBweCdcIj48L2F4LXNlbGVjdC1jb2x1bW4+XG4gIH1cbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLmZpZWxkKSB7XG4gICAgQGlmIChjb2x1bW4udmlzaWJsZSkge1xuICAgICAgPGF4cC13aWRnZXQtY29sdW1uLXJlbmRlcmVyXG4gICAgICAgIFtjdXN0b21XaWR0aF09XCJjb2x1bW4ud2lkdGggKyAncHgnXCJcbiAgICAgICAgW2NhcHRpb25dPVwiKGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICBbbm9kZV09XCJjb2x1bW4ud2lkZ2V0IVwiXG4gICAgICA+PC9heHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlcj5cbiAgICB9XG4gIH1cbiAgQGlmIChoYXNQcmltYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInMTAwcHgnXCJcbiAgICAgIFtpdGVtc109XCJwcmltYXJ5Um93QWN0aW9uKClcIlxuICAgICAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKCRldmVudClcIlxuICAgID48L2F4LWNvbW1hbmQtY29sdW1uPlxuICB9XG4gIEBpZiAoaGFzU2Vjb25kYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInNjBweCdcIlxuICAgICAgW2l0ZW1zXT1cInNlY29uZGFyeVJvd0FjdGlvbigpXCJcbiAgICAgIChvbkl0ZW1DbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQpXCJcbiAgICA+PC9heC1kcm9wZG93bi1jb21tYW5kLWNvbHVtbj5cbiAgfVxuPC9heC1kYXRhLXRhYmxlPlxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPDynamicFormComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AXPReportViewerViewModel } from '../report-viewer.viewmodel';\nimport { AXPReportChartViewComponent } from '../views/report-chart-view/report-chart-view.component';\nimport { AXPReportTableViewComponent } from '../views/report-table-view/report-table-view.component';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/dropdown\";\nexport class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---- Dependencies ----\n this.layoutService = inject(AXPLayoutThemeService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.unsubscriber = inject(AXUnsubscriber);\n //#endregion\n //#region ---- Inputs ----\n this.reportId = input(...(ngDevMode ? [undefined, { debugName: \"reportId\" }] : []));\n this.reportParameters = input({}, ...(ngDevMode ? [{ debugName: \"reportParameters\" }] : []));\n //#endregion\n //#region ---- ViewChildren ----\n this.filtersForm = viewChild('filtersForm', ...(ngDevMode ? [{ debugName: \"filtersForm\" }] : []));\n //#endregion\n //#region ---- ViewModel ----\n this.vm = inject(AXPReportViewerViewModel);\n //#endregion\n //#region ---- Computed Properties ----\n this.showFiltersPanel = () => this.layoutService.isLarge();\n this.baseRoutes = [this.sessionService.application?.name, 'report-management'];\n //#endregion\n //#region ---- Layout Configurations ----\n this.defaultLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 6 },\n lg: { colSpan: 12 },\n },\n });\n this.compactLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n sm: { colSpan: 6 },\n md: { colSpan: 4 },\n lg: { colSpan: 3 },\n },\n });\n }\n //#endregion\n //#region ---- Lifecycle ----\n async ngOnInit() {\n await super.ngOnInit();\n // Subscribe to route parameter changes for dynamic report loading\n this.unsubscriber.takeUntilDestroy(this.route.paramMap).subscribe(async (params) => {\n const reportId = params.get('reportId') || this.route.snapshot.queryParamMap.get('reportId') || this.reportId();\n if (reportId) {\n await this.loadReportAndRefresh(reportId);\n }\n });\n }\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n //#endregion\n //#region ---- Helper Methods ----\n async loadReportAndRefresh(reportId) {\n await this.vm.loadReport(reportId);\n // Force refresh of page layout (breadcrumbs, title, etc.) after report loads\n this.recompute();\n // Handle initial parameters from query string\n const queryParams = this.route.snapshot.queryParams;\n const initialParams = { ...queryParams };\n delete initialParams['reportId']; // Remove reportId from parameters\n // Merge with component input parameters\n const allParams = { ...initialParams, ...this.reportParameters() };\n if (Object.keys(allParams).length > 0) {\n console.log('Applying initial parameters:', allParams);\n this.vm.updateFilterContext(allParams);\n // Auto-execute if parameters are provided\n setTimeout(async () => {\n await this.vm.executeReport();\n }, 500); // Small delay to ensure form is ready\n }\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleFiltersChange(event) {\n this.vm.updateFilterContext(event);\n }\n handleFiltersInitiated(event) {\n this.vm.updateFilterContext(event);\n }\n async handleExecuteReport() {\n const isValid = await this.filtersForm()?.validate();\n if (!isValid) {\n return;\n }\n await this.vm.executeReport();\n }\n handleRefresh() {\n debugger;\n this.vm.refresh();\n }\n handleClearFilters() {\n this.vm.clearFilters();\n // Reset form if available\n const form = this.filtersForm();\n if (form) {\n form.resetErrors();\n }\n }\n //#endregion\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const breadcrumbs = [\n {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports',\n },\n },\n ];\n // Add categories path\n const categoriesPath = this.vm.categoriesPath();\n if (categoriesPath && categoriesPath.length > 0) {\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const category of categoriesPath) {\n urlParts.push(category.id);\n breadcrumbs.push({\n name: category.id,\n title: category.title,\n command: {\n name: 'navigate-to-category',\n options: {\n path: [...urlParts],\n },\n },\n });\n }\n }\n // Add report title as final breadcrumb\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n breadcrumbs.push({\n name: 'report-viewer',\n title: reportDefinition.title,\n });\n }\n return breadcrumbs;\n }\n async getPageTitle() {\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n return reportDefinition.title;\n }\n return await this.translateService.translateAsync('@report-management:features.report-viewer.title');\n }\n async getPageDescription() {\n const reportDefinition = this.vm.reportDefinition();\n return reportDefinition?.description || null;\n }\n async getBackButton() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // If no categories path, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n if (categoriesPath.length === 1) {\n // If only one category, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n // Go back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 1];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes, 'reports']);\n }\n else {\n // Navigate to parent category\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const cat of categoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async getPrimaryMenuItems() {\n // No primary menu items since execute button is in footer\n return [];\n }\n async getSecondaryMenuItems() {\n const reportDefinition = this.vm.reportDefinition();\n if (!reportDefinition) {\n return [];\n }\n return [\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.refresh'),\n icon: 'fa-light fa-refresh',\n color: 'secondary',\n disabled: this.vm.isLoading() || this.vm.isExecuting(),\n command: {\n name: 'refresh-report',\n },\n },\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.clear-filters'),\n icon: 'fa-light fa-filter-slash',\n color: 'warning',\n command: {\n name: 'clear-filters',\n },\n },\n ];\n }\n async execute(command) {\n switch (command.name) {\n case 'execute-report':\n await this.handleExecuteReport();\n break;\n case 'refresh-report':\n this.handleRefresh();\n break;\n case 'clear-filters':\n this.handleClearFilters();\n break;\n case 'navigate-to-reports':\n await this.router.navigate([...this.baseRoutes, 'reports']);\n break;\n case 'navigate-to-category':\n const path = command.options?.['path'];\n if (path) {\n await this.router.navigate(path);\n }\n break;\n default:\n console.warn(`Unknown command: ${command.name}`);\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportViewerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportViewerPageComponent, isStandalone: true, selector: \"axp-report-viewer-page\", inputs: { reportId: { classPropertyName: \"reportId\", publicName: \"reportId\", isSignal: true, isRequired: false, transformFunction: null }, reportParameters: { classPropertyName: \"reportParameters\", publicName: \"reportParameters\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"axp-report-viewer-page\" }, providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], viewQueries: [{ propertyName: \"filtersForm\", first: true, predicate: [\"filtersForm\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutLook]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\" *translate=\\\"let t\\\">\\n @if (vm.hasUnappliedFilters()) {\\n <div class=\\\"ax-w-full ax-warning-lightest ax-mb-2 ax-p-2 ax-rounded ax-border ax-border-warning-200\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2 ax-text-warning-800\\\">\\n <ax-icon class=\\\"fa-light fa-exclamation-triangle ax-text-sm\\\"></ax-icon>\\n <span class=\\\"ax-text-xs\\\">Filters have been changed but not applied. Click 'Execute Report' to apply\\n changes.</span>\\n </div>\\n </div>\\n }\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [disabled]=\\\"vm.hasUnappliedFilters() === false && vm.hasBeenExecuted()\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}.axp-report-viewer-page .ax-filter{filter:grayscale(100%) blur(1px)}.axp-report-viewer-page .ax-grayscale{filter:grayscale(100%)}.axp-report-viewer-page .ax-blur-sm{filter:blur(1px)}.axp-report-viewer-page .ax-pointer-events-none{pointer-events:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"component\", type: \n //\n AXPDynamicFormComponent, selector: \"axp-dynamic-form\", inputs: [\"formDefinition\", \"context\", \"layoutLook\", \"layoutDirection\", \"layoutConfig\"], outputs: [\"contextChange\", \"contextInitiated\", \"validityChange\"] }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPReportTableViewComponent, selector: \"axp-report-table-view\" }, { kind: \"component\", type: AXPThemeLayoutFooterComponent, selector: \"axp-layout-footer, axp-layout-page-footer\" }, { kind: \"component\", type: AXPReportChartViewComponent, selector: \"axp-report-chart-view\" }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-viewer-page', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXBadgeModule,\n //\n AXPDynamicFormComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXPReportTableViewComponent,\n AXPThemeLayoutFooterComponent,\n AXPReportChartViewComponent,\n ], providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutLook]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\" *translate=\\\"let t\\\">\\n @if (vm.hasUnappliedFilters()) {\\n <div class=\\\"ax-w-full ax-warning-lightest ax-mb-2 ax-p-2 ax-rounded ax-border ax-border-warning-200\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2 ax-text-warning-800\\\">\\n <ax-icon class=\\\"fa-light fa-exclamation-triangle ax-text-sm\\\"></ax-icon>\\n <span class=\\\"ax-text-xs\\\">Filters have been changed but not applied. Click 'Execute Report' to apply\\n changes.</span>\\n </div>\\n </div>\\n }\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [disabled]=\\\"vm.hasUnappliedFilters() === false && vm.hasBeenExecuted()\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}.axp-report-viewer-page .ax-filter{filter:grayscale(100%) blur(1px)}.axp-report-viewer-page .ax-grayscale{filter:grayscale(100%)}.axp-report-viewer-page .ax-blur-sm{filter:blur(1px)}.axp-report-viewer-page .ax-pointer-events-none{pointer-events:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXItcGFnZS9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FDakMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxn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Q0YsNktDN0RILHduSUFzR2MsMHdGRGxFVixZQUFZLHFNQUNaLGNBQWMsb3VCQUNkLGlCQUFpQixzVkFDakIsZUFBZSw4QkFDZixtQkFBbUIsOEdBQ25CLHNCQUFzQiw4QkFDdEIsZ0JBQWdCLHFRQUNoQixhQUFhO2dCQUNiLEVBQUU7Z0JBQ0YsdUJBQXVCLHVOQUN2QixzQkFBc0IsNERBQ3RCLGdDQUFnQyw4RkFDaEMsNkJBQTZCLDhEQUM3Qiw0QkFBNEIsZ2lCQUM1QiwyQkFBMkIsa0VBQzNCLDZCQUE2QixzRkFDN0IsMkJBQTJCOzsyRkFnQmxCLDRCQUE0QjtrQkFwQ3hDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsRUFBRTt3QkFDRix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQyw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjtxQkFDNUIsYUFDVTt3QkFDVCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyw4QkFBOEI7eUJBQzFDO3FCQUNGLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIEFYUEFjdGlvbk1lbnVJdGVtLFxuICBBWFBCYWNrQnV0dG9uLFxuICBBWFBCcmVhZGNydW1iSXRlbSxcbiAgQVhQQ29udGV4dERhdGEsXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0Rm9vdGVyQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBSZXBvcnRUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuLi92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtdmlld2VyLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgIEFYUFJlcG9ydFRhYmxlVmlld0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEZvb3RlckNvbXBvbmVudCxcbiAgICBBWFBSZXBvcnRDaGFydFZpZXdDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheHAtcmVwb3J0LXZpZXdlci1wYWdlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICAvLyNyZWdpb24gLS0tLSAgIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIHJlcG9ydElkID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZXBvcnRQYXJhbWV0ZXJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVmlld0NoaWxkcmVuICAgLS0tLVxuXG4gIHByaXZhdGUgZmlsdGVyc0Zvcm0gPSB2aWV3Q2hpbGQ8QVhGb3JtQ29tcG9uZW50PignZmlsdGVyc0Zvcm0nKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFZpZXdNb2RlbCAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXB1dGVkIFByb3BlcnRpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHNob3dGaWx0ZXJzUGFuZWwgPSAoKSA9PiB0aGlzLmxheW91dFNlcnZpY2UuaXNMYXJnZSgpO1xuXG4gIHByaXZhdGUgYmFzZVJvdXRlcyA9IFt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lLCAncmVwb3J0LW1hbmFnZW1lbnQnXTtcblxuXG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMYXlvdXQgQ29uZmlndXJhdGlvbnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGRlZmF1bHRMYXlvdXQgPSAoKSA9PiAoe1xuICAgIHBvc2l0aW9uczoge1xuICAgICAgZGVmYXVsdDogeyBjb2xTcGFuOiAxMiB9LFxuICAgICAgbWQ6IHsgY29sU3BhbjogNiB9LFxuICAgICAgbGc6IHsgY29sU3BhbjogMTIgfSxcbiAgICB9LFxuICB9KTtcblxuICBwcm90ZWN0ZWQgY29tcGFjdExheW91dCA9ICgpID0+ICh7XG4gICAgcG9zaXRpb25zOiB7XG4gICAgICBkZWZhdWx0OiB7IGNvbFNwYW46IDEyIH0sXG4gICAgICBzbTogeyBjb2xTcGFuOiA2IH0sXG4gICAgICBtZDogeyBjb2xTcGFuOiA0IH0sXG4gICAgICBsZzogeyBjb2xTcGFuOiAzIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgICAtLS0tXG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZSBwYXJhbWV0ZXIgY2hhbmdlcyBmb3IgZHluYW1pYyByZXBvcnQgbG9hZGluZ1xuICAgIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kodGhpcy5yb3V0ZS5wYXJhbU1hcCkuc3Vic2NyaWJlKGFzeW5jIChwYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydElkID0gcGFyYW1zLmdldCgncmVwb3J0SWQnKSB8fCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdyZXBvcnRJZCcpIHx8IHRoaXMucmVwb3J0SWQoKTtcblxuICAgICAgaWYgKHJlcG9ydElkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBoYW5kbGUgZGF0YSBmZXRjaGluZyB3aGVuIGNoYXJ0IGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgKi9cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBNZXRob2RzICAgLS0tLVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudm0ubG9hZFJlcG9ydChyZXBvcnRJZCk7XG5cbiAgICAvLyBGb3JjZSByZWZyZXNoIG9mIHBhZ2UgbGF5b3V0IChicmVhZGNydW1icywgdGl0bGUsIGV0Yy4pIGFmdGVyIHJlcG9ydCBsb2Fkc1xuICAgIHRoaXMucmVjb21wdXRlKCk7XG5cbiAgICAvLyBIYW5kbGUgaW5pdGlhbCBwYXJhbWV0ZXJzIGZyb20gcXVlcnkgc3RyaW5nXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIGNvbnN0IGluaXRpYWxQYXJhbXMgPSB7IC4uLnF1ZXJ5UGFyYW1zIH07XG4gICAgZGVsZXRlIGluaXRpYWxQYXJhbXNbJ3JlcG9ydElkJ107IC8vIFJlbW92ZSByZXBvcnRJZCBmcm9tIHBhcmFtZXRlcnNcblxuICAgIC8vIE1lcmdlIHdpdGggY29tcG9uZW50IGlucHV0IHBhcmFtZXRlcnNcbiAgICBjb25zdCBhbGxQYXJhbXMgPSB7IC4uLmluaXRpYWxQYXJhbXMsIC4uLnRoaXMucmVwb3J0UGFyYW1ldGVycygpIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoYWxsUGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zb2xlLmxvZygnQXBwbHlpbmcgaW5pdGlhbCBwYXJhbWV0ZXJzOicsIGFsbFBhcmFtcyk7XG4gICAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoYWxsUGFyYW1zKTtcbiAgICAgIC8vIEF1dG8tZXhlY3V0ZSBpZiBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZFxuICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMudm0uZXhlY3V0ZVJlcG9ydCgpO1xuICAgICAgfSwgNTAwKTsgLy8gU21hbGwgZGVsYXkgdG8gZW5zdXJlIGZvcm0gaXMgcmVhZHlcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVGaWx0ZXJzQ2hhbmdlKGV2ZW50OiBBWFBDb250ZXh0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMudm0udXBkYXRlRmlsdGVyQ29udGV4dChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRmlsdGVyc0luaXRpYXRlZChldmVudDogQVhQQ29udGV4dERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUV4ZWN1dGVSZXBvcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IHRoaXMuZmlsdGVyc0Zvcm0oKT8udmFsaWRhdGUoKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52bS5leGVjdXRlUmVwb3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBkZWJ1Z2dlclxuICAgIHRoaXMudm0ucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsZWFyRmlsdGVycygpOiB2b2lkIHtcbiAgICB0aGlzLnZtLmNsZWFyRmlsdGVycygpO1xuICAgIC8vIFJlc2V0IGZvcm0gaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZmlsdGVyc0Zvcm0oKTtcbiAgICBpZiAoZm9ybSkge1xuICAgICAgZm9ybS5yZXNldEVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncmVwb3J0cycsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZS10by1yZXBvcnRzJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIC8vIEFkZCBjYXRlZ29yaWVzIHBhdGhcbiAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uY2F0ZWdvcmllc1BhdGgoKTtcbiAgICBpZiAoY2F0ZWdvcmllc1BhdGggJiYgY2F0ZWdvcmllc1BhdGgubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXTtcbiAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllc1BhdGgpIHtcbiAgICAgICAgdXJsUGFydHMucHVzaChjYXRlZ29yeS5pZCk7XG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgIHRpdGxlOiBjYXRlZ29yeS50aXRsZSxcbiAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUtdG8tY2F0ZWdvcnknLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwYXRoOiBbLi4udXJsUGFydHNdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcmVwb3J0IHRpdGxlIGFzIGZpbmFsIGJyZWFkY3J1bWJcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgaWYgKHJlcG9ydERlZmluaXRpb24pIHtcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICBuYW1lOiAncmVwb3J0LXZpZXdlcicsXG4gICAgICAgIHRpdGxlOiByZXBvcnREZWZpbml0aW9uLnRpdGxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmIChyZXBvcnREZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gcmVwb3J0RGVmaW5pdGlvbi50aXRsZTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIudGl0bGUnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgcmV0dXJuIHJlcG9ydERlZmluaXRpb24/LmRlc2NyaXB0aW9uIHx8IG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRCYWNrQnV0dG9uKCk6IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uY2F0ZWdvcmllc1BhdGgoKTtcblxuICAgIGlmICghY2F0ZWdvcmllc1BhdGggfHwgY2F0ZWdvcmllc1BhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBJZiBubyBjYXRlZ29yaWVzIHBhdGgsIGdvIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXJ1bm5lci5tZW51LXRpdGxlJyksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChjYXRlZ29yaWVzUGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICAgIC8vIElmIG9ubHkgb25lIGNhdGVnb3J5LCBnbyBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHbyBiYWNrIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcmllc1BhdGhbY2F0ZWdvcmllc1BhdGgubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwYXJlbnRDYXRlZ29yeS50aXRsZSxcbiAgICB9O1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgb25CYWNrQnV0dG9uQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmNhdGVnb3JpZXNQYXRoKCk7XG5cbiAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA8PSAxKSB7XG4gICAgICAvLyBOYXZpZ2F0ZSBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5hdmlnYXRlIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXTtcbiAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXNQYXRoKSB7XG4gICAgICAgIHVybFBhcnRzLnB1c2goY2F0LmlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQcmltYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIC8vIE5vIHByaW1hcnkgbWVudSBpdGVtcyBzaW5jZSBleGVjdXRlIGJ1dHRvbiBpcyBpbiBmb290ZXJcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmICghcmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMucmVmcmVzaCcpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcmVmcmVzaCcsXG4gICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMudm0uaXNMb2FkaW5nKCkgfHwgdGhpcy52bS5pc0V4ZWN1dGluZygpLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ3JlZnJlc2gtcmVwb3J0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoXG4gICAgICAgICAgJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMuY2xlYXItZmlsdGVycycsXG4gICAgICAgICksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWx0ZXItc2xhc2gnLFxuICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ2NsZWFyLWZpbHRlcnMnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHN3aXRjaCAoY29tbWFuZC5uYW1lKSB7XG4gICAgICBjYXNlICdleGVjdXRlLXJlcG9ydCc6XG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRXhlY3V0ZVJlcG9ydCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JlZnJlc2gtcmVwb3J0JzpcbiAgICAgICAgdGhpcy5oYW5kbGVSZWZyZXNoKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xlYXItZmlsdGVycyc6XG4gICAgICAgIHRoaXMuaGFuZGxlQ2xlYXJGaWx0ZXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbmF2aWdhdGUtdG8tcmVwb3J0cyc6XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXMsICdyZXBvcnRzJ10pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLWNhdGVnb3J5JzpcbiAgICAgICAgY29uc3QgcGF0aCA9IGNvbW1hbmQub3B0aW9ucz8uWydwYXRoJ10gYXMgc3RyaW5nW107XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gY29tbWFuZDogJHtjb21tYW5kLm5hbWV9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPCEtLSBMZWZ0IFBhbmVsOiBGaWx0ZXJzIChBbHdheXMgdmlzaWJsZSBmb3IgZGVza3RvcCkgLS0+XG4gIEBpZiAoc2hvd0ZpbHRlcnNQYW5lbCgpKSB7XG4gIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGU+XG4gICAgPGF4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmZpbHRlcnMudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgPC9heHAtbGF5b3V0LWhlYWRlcj5cbiAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZmlsdGVycy1jb250YWluZXJcIj5cbiAgICAgICAgPGF4cC1keW5hbWljLWZvcm0gI2ZpbHRlcnNGb3JtIFtmb3JtRGVmaW5pdGlvbl09XCJ2bS5mb3JtRGVmaW5pdGlvbigpXCIgW2NvbnRleHRdPVwidm0uZmlsdGVyQ29udGV4dCgpXCJcbiAgICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImRlZmF1bHRMYXlvdXQoKVwiIFtsYXlvdXRMb29rXT1cIidjb21wYWN0J1wiIChjb250ZXh0Q2hhbmdlKT1cImhhbmRsZUZpbHRlcnNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgKGNvbnRleHRJbml0aWF0ZWQpPVwiaGFuZGxlRmlsdGVyc0luaXRpYXRlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvYXhwLWR5bmFtaWMtZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICAgIDxheHAtbGF5b3V0LWZvb3RlciBjbGFzcz1cImF4LXAtNCBheC1ib3JkZXItdFwiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICAgICAgQGlmICh2bS5oYXNVbmFwcGxpZWRGaWx0ZXJzKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtd2FybmluZy1saWdodGVzdCBheC1tYi0yIGF4LXAtMiBheC1yb3VuZGVkIGF4LWJvcmRlciBheC1ib3JkZXItd2FybmluZy0yMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yIGF4LXRleHQtd2FybmluZy04MDBcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIGF4LXRleHQtc21cIj48L2F4LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXhzXCI+RmlsdGVycyBoYXZlIGJlZW4gY2hhbmdlZCBidXQgbm90IGFwcGxpZWQuIENsaWNrICdFeGVjdXRlIFJlcG9ydCcgdG8gYXBwbHlcbiAgICAgICAgICAgIGNoYW5nZXMuPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGF4LWJ1dHRvbiBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIiBjbGFzcz1cImF4LXctZnVsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ2bS5oYXNVbmFwcGxpZWRGaWx0ZXJzKCkgPT09IGZhbHNlICYmIHZtLmhhc0JlZW5FeGVjdXRlZCgpXCJcbiAgICAgICAgW3RleHRdPVwidCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuYWN0aW9ucy5leGVjdXRlJykgfCBhc3luY1wiIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAob25DbGljayk9XCJleGVjdXRlKHsgbmFtZTogJ2V4ZWN1dGUtcmVwb3J0JyB9KVwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtcGxheVwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L2F4cC1sYXlvdXQtZm9vdGVyPlxuICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuXG4gIDxheHAtcGFnZS10b29sYmFyPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIEBpZiAodm0uaGFzTXVsdGlwbGVMYXlvdXRzKCkpIHtcbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwidm0uY3VycmVudExheW91dCgpPy50aXRsZVwiPlxuICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgdm0uY3VycmVudExheW91dCgpPy5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgQGZvciAobGF5b3V0IG9mIHZtLmF2YWlsYWJsZUxheW91dHMoKTsgdHJhY2sgbGF5b3V0LmlkKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gW3RleHRdPVwibGF5b3V0LnRpdGxlXCIgW3NlbGVjdGVkXT1cInZtLmN1cnJlbnRMYXlvdXQoKT8uaWQgPT09IGxheW91dC5pZFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInZtLnN3aXRjaExheW91dChsYXlvdXQuaWQpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCB7eyBsYXlvdXQuaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgPGF4cC1sYXlvdXQtc3VmZml4PiA8L2F4cC1sYXlvdXQtc3VmZml4PlxuICA8L2F4cC1wYWdlLXRvb2xiYXI+XG5cbiAgPCEtLSBNYWluIENvbnRlbnQ6IFJlcG9ydCBEaXNwbGF5IC0tPlxuICA8YXhwLXBhZ2UtY29udGVudCBjbGFzcz1cImF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICBAaWYgKCF2bS5yZXBvcnREZWZpbml0aW9uKCkpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXBvcnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVwb3J0RGlzcGxheVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9heHAtcGFnZS1jb250ZW50PlxuPC9heHAtcGFnZS1sYXlvdXQ+XG5cbjwhLS0gUmVwb3J0IERpc3BsYXkgQXJlYSAtLT5cbjxuZy10ZW1wbGF0ZSAjcmVwb3J0RGlzcGxheT5cbiAgQGlmICh2bS5pc1RhYmxlTGF5b3V0KCkpIHtcbiAgPGF4cC1yZXBvcnQtdGFibGUtdmlldz4gPC9heHAtcmVwb3J0LXRhYmxlLXZpZXc+XG4gIH0gQGVsc2UgaWYgKHZtLmlzQ2hhcnRMYXlvdXQoKSkge1xuICA8YXhwLXJlcG9ydC1jaGFydC12aWV3PiA8L2F4cC1yZXBvcnQtY2hhcnQtdmlldz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBObyBSZXBvcnQgU2VsZWN0ZWQgU3RhdGUgLS0+XG48bmctdGVtcGxhdGUgI25vUmVwb3J0PlxuICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnRcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtaWNvblwiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1jaGFydC1saW5lXCI+PC9heC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydC1jb250ZW50XCI+XG4gICAgICA8aDMgY2xhc3M9XCJfX25vLXJlcG9ydC10aXRsZVwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3M9XCJfX25vLXJlcG9ydC1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQuZGVzY3JpcHRpb24nKSB8IGFzeW5jIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtYWN0aW9uc1wiPlxuICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJvdXRsaW5lXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICBbdGV4dF09XCJ0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQuYnJvd3NlLXJlcG9ydHMnKSB8IGFzeW5jXCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtZm9sZGVyLW9wZW5cIj48L2F4LWljb24+XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=","import { AXBarChartComponent } from '@acorex/charts/bar-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXBarChartReportMapper } from '../../../../reports/report-mapper';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportBarChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart' ? layout.layout : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.vm.shouldExecuteReport() && this.chartOptions()) {\n // TODO: Implement chart data fetching\n console.log('Chart data fetch triggered', {\n chartType: this.chartType(),\n dataMapping: this.dataMapping(),\n });\n this.vm.fetchData().then((data) => {\n const barChartData = AXBarChartReportMapper((data?.data).data ?? {});\n this.barChartData.set(barChartData);\n console.log('barChartData', barChartData);\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.barChartData = signal([], ...(ngDevMode ? [{ debugName: \"barChartData\" }] : []));\n this.barChartOptions = signal({}, ...(ngDevMode ? [{ debugName: \"barChartOptions\" }] : []));\n this.legendOptions = signal({\n mode: 'horizontal',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n #fetchData;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle chart click events\n */\n handleChartClick(event) {\n // TODO: Implement chart click handling\n console.log('Chart clicked:', event);\n }\n /**\n * Handle chart data point selection\n */\n handleDataPointSelect(event) {\n // TODO: Implement data point selection\n console.log('Data point selected:', event);\n }\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n /**\n * Get chart configuration for rendering\n */\n getChartConfig() {\n // TODO: Transform AXPReportChartOptions to chart library format\n return {\n type: this.chartType(),\n options: this.chartOptions(),\n dataMapping: this.dataMapping(),\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportBarChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPReportBarChartViewComponent, isStandalone: true, selector: \"axp-report-bar-chart-view\", ngImport: i0, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-bar-chart #chart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (barChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXBarChartComponent, selector: \"ax-bar-chart\", inputs: [\"data\", \"options\"], outputs: [\"barClick\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPReportBarChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-bar-chart-view', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXBarChartComponent,\n AXChartLegendComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-bar-chart #chart [data]=\\\"barChartData()\\\" [options]=\\\"barChartOptions()\\\"></ax-bar-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (barChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhci1jaGFydC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvdmlld3MvcmVwb3J0LWJhci1jaGFydC12aWV3L3JlcG9ydC1iYXItY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1iYXItY2hhcnQtdmlldy9yZXBvcnQtYmFyLWNoYXJ0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7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LENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3hDLHVDQUF1QztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZO0lBRVosc0NBQXNDO0lBRXRDOztPQUVHO0lBQ08sWUFBWTtRQUNwQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBQ3RCLGdFQUFnRTtRQUNoRSxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDaEMsQ0FBQztJQUNKLENBQUM7OEdBekdVLDhCQUE4QjtrR0FBOUIsOEJBQThCLHFGQzNCM0Msd3NHQXNGQSxpdUhEdkVJLFlBQVksOEJBQ1osaUJBQWlCLDhCQUNqQixtQkFBbUIsOEdBQ25CLHNCQUFzQiwrQkFDdEIsbUJBQW1CLDZHQUNuQixzQkFBc0I7OzJGQU9iLDhCQUE4QjtrQkFoQjFDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3FCQUN2QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFyQ2hhcnRDb21wb25lbnQsIEFYQmFyQ2hhcnRPcHRpb24sIEFYQmFyQ2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2Jhci1jaGFydCc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50LCBBWENoYXJ0TGVnZW5kT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2NoYXJ0LWxlZ2VuZCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXJDaGFydFJlcG9ydE1hcHBlciB9IGZyb20gJy4uLy4uLy4uLy4uL3JlcG9ydHMvcmVwb3J0LW1hcHBlcic7XG5pbXBvcnQgeyBBWFBSZXBvcnRDaGFydExheW91dCB9IGZyb20gJy4uLy4uLy4uLy4uL3JlcG9ydHMvcmVwb3J0LnR5cGVzJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXJlcG9ydC1iYXItY2hhcnQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYQmFyQ2hhcnRDb21wb25lbnQsXG4gICAgQVhDaGFydExlZ2VuZENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1iYXItY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZXBvcnQtYmFyLWNoYXJ0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUmVwb3J0QmFyQ2hhcnRWaWV3Q29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBBWFBQYWdlU3RhdHVzID0gQVhQUGFnZVN0YXR1cztcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXB1dGVkIFByb3BlcnRpZXMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgY2hhcnQgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydExheW91dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSB0aGlzLnZtLmN1cnJlbnRMYXlvdXQoKTtcbiAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQudHlwZSA9PT0gJ2NoYXJ0JyA/IChsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0KSA6IG51bGw7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDaGFydCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2hhcnRMYXlvdXQgPSB0aGlzLmNoYXJ0TGF5b3V0KCk7XG4gICAgcmV0dXJuIGNoYXJ0TGF5b3V0Py5vcHRpb25zIHx8IG51bGw7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDaGFydCB0eXBlIGZvciByZW5kZXJpbmdcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY2hhcnRPcHRpb25zKCk7XG4gICAgcmV0dXJuIG9wdGlvbnM/LmNoYXJ0VHlwZSB8fCAnYmFyJztcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERhdGEgbWFwcGluZyBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YU1hcHBpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY2hhcnRPcHRpb25zKCk7XG4gICAgcmV0dXJuIG9wdGlvbnM/LmRhdGFNYXBwaW5nIHx8IG51bGw7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRWZmZWN0cyAgIC0tLS1cblxuICAvKipcbiAgICogRWZmZWN0IHRvIGhhbmRsZSBkYXRhIGZldGNoaW5nIHdoZW4gY2hhcnQgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gICAqL1xuICAjZmV0Y2hEYXRhID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpICYmIHRoaXMudm0uc2hvdWxkRXhlY3V0ZVJlcG9ydCgpICYmIHRoaXMuY2hhcnRPcHRpb25zKCkpIHtcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBjaGFydCBkYXRhIGZldGNoaW5nXG4gICAgICBjb25zb2xlLmxvZygnQ2hhcnQgZGF0YSBmZXRjaCB0cmlnZ2VyZWQnLCB7XG4gICAgICAgIGNoYXJ0VHlwZTogdGhpcy5jaGFydFR5cGUoKSxcbiAgICAgICAgZGF0YU1hcHBpbmc6IHRoaXMuZGF0YU1hcHBpbmcoKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy52bS5mZXRjaERhdGEoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhckNoYXJ0RGF0YSA9IEFYQmFyQ2hhcnRSZXBvcnRNYXBwZXIoKChkYXRhPy5kYXRhIGFzIGFueSkuZGF0YSBhcyBhbnkpID8/IHt9KTtcbiAgICAgICAgdGhpcy5iYXJDaGFydERhdGEuc2V0KGJhckNoYXJ0RGF0YSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdiYXJDaGFydERhdGEnLCBiYXJDaGFydERhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhcnQgY2xpY2sgZXZlbnRzXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ2hhcnRDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGNoYXJ0IGNsaWNrIGhhbmRsaW5nXG4gICAgY29uc29sZS5sb2coJ0NoYXJ0IGNsaWNrZWQ6JywgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFydCBkYXRhIHBvaW50IHNlbGVjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGFQb2ludFNlbGVjdChldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGRhdGEgcG9pbnQgc2VsZWN0aW9uXG4gICAgY29uc29sZS5sb2coJ0RhdGEgcG9pbnQgc2VsZWN0ZWQ6JywgZXZlbnQpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgTWV0aG9kcyAgIC0tLS1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY2hhcnQgaXMgcmVhZHkgdG8gcmVuZGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNDaGFydFJlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmNoYXJ0T3B0aW9ucygpICYmIHRoaXMuZGF0YU1hcHBpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNoYXJ0IGNvbmZpZ3VyYXRpb24gZm9yIHJlbmRlcmluZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldENoYXJ0Q29uZmlnKCk6IGFueSB7XG4gICAgLy8gVE9ETzogVHJhbnNmb3JtIEFYUFJlcG9ydENoYXJ0T3B0aW9ucyB0byBjaGFydCBsaWJyYXJ5IGZvcm1hdFxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLmNoYXJ0VHlwZSgpLFxuICAgICAgb3B0aW9uczogdGhpcy5jaGFydE9wdGlvbnMoKSxcbiAgICAgIGRhdGFNYXBwaW5nOiB0aGlzLmRhdGFNYXBwaW5nKCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBiYXJDaGFydERhdGEgPSBzaWduYWw8QVhCYXJDaGFydFZhbHVlPihbXSk7XG5cbiAgcHJvdGVjdGVkIGJhckNoYXJ0T3B0aW9ucyA9IHNpZ25hbDxBWEJhckNoYXJ0T3B0aW9uPih7fSk7XG5cbiAgcHJvdGVjdGVkIGxlZ2VuZE9wdGlvbnMgPSBzaWduYWw8QVhDaGFydExlZ2VuZE9wdGlvbnM+KHtcbiAgICBtb2RlOiAnaG9yaXpvbnRhbCcsXG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBjbGFzcz1cImF4cC1yZXBvcnQtY2hhcnQtdmlld1wiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcpIHtcbiAgICA8IS0tIExvYWRpbmcgU3RhdGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF4LXNwaW5uZXIgYXgtc3BpbiBheC1ib3JkZXItNCBheC1ib3JkZXItZ3JheS0yMDAgYXgtYm9yZGVyLXQtcHJpbWFyeSBheC1yb3VuZGVkLWZ1bGwgYXgtdy0xMiBheC1oLTEyXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmctdGV4dFwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5sb2FkaW5nLmNoYXJ0JykgfCBhc3luYyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLkVycm9yKSB7XG4gICAgPCEtLSBFcnJvciBTdGF0ZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19lcnJvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItaWNvblwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19lcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxoNCBjbGFzcz1cIl9fZXJyb3ItdGl0bGVcIj5cbiAgICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgY2xhc3M9XCJfX2Vycm9yLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgdm0uZXJyb3IoKSB8fCB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci5nZW5lcmljJykgfCBhc3luYyB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSBpZiAoaXNDaGFydFJlYWR5KCkpIHtcbiAgICA8IS0tIENoYXJ0IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmhlYWRlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1oZWFkZXJcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX2NoYXJ0LXRpdGxlXCI+e3sgY2hhcnRMYXlvdXQoKT8uaGVhZGVyPy50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgQGlmIChjaGFydExheW91dCgpPy5oZWFkZXI/LnNob3dEYXRlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1kYXRlXCI+e3sgJ2NvbW1vbi5kYXRlLnRvZGF5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtYm9keVwiPlxuICAgICAgICA8IS0tIENoYXJ0IGNvbXBvbmVudCB3aWxsIGJlIHJlbmRlcmVkIGhlcmUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9fcGxhY2Vob2xkZXItY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC13cmFwIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1nYXAtMTBcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibGVnZW5kT3B0aW9ucygpLm1vZGUgPT09ICdob3Jpem9udGFsJyA/ICdheC1mbGV4LWNvbCcgOiAnYXgtZmxleC1yb3cnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSBDaGFydCBBcmVhIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0wIGF4LXNpemUtOTZcIj5cbiAgICAgICAgICAgICAgICA8YXgtYmFyLWNoYXJ0ICNjaGFydCBbZGF0YV09XCJiYXJDaGFydERhdGEoKVwiIFtvcHRpb25zXT1cImJhckNoYXJ0T3B0aW9ucygpXCI+PC9heC1iYXItY2hhcnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIExlZ2VuZCBBcmVhIC0tPlxuICAgICAgICAgICAgICBAaWYgKGJhckNoYXJ0RGF0YSgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGF4LWNoYXJ0LWxlZ2VuZCBbb3B0aW9uc109XCJsZWdlbmRPcHRpb25zKClcIiBbY2hhcnRdPVwiY2hhcnRcIj48L2F4LWNoYXJ0LWxlZ2VuZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uZm9vdGVyKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWZvb3RlclwiPlxuICAgICAgICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uZm9vdGVyPy5jdXN0b21IdG1sKSB7XG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiY2hhcnRMYXlvdXQoKT8uZm9vdGVyPy5jdXN0b21IdG1sXCI+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPCEtLSBObyBDb25maWd1cmF0aW9uIFN0YXRlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLWNvbmZpZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnLWljb25cIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jaGFydC1saW5lXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctY29udGVudFwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJfX25vLWNvbmZpZy10aXRsZVwiPlxuICAgICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmNoYXJ0Lm5vLWNvbmZpZy50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgY2xhc3M9XCJfX25vLWNvbmZpZy1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmNoYXJ0Lm5vLWNvbmZpZy5kZXNjcmlwdGlvbicpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtcmVwb3J0LW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2Fjb3JleC1tb2R1bGVzLXJlcG9ydC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|