@acorex/modules 20.3.0-next.4 → 20.3.0-next.6
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/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DDriJFmP.mjs → acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs} +122 -80
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DDriJFmP.mjs.map → acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-OYJu4IJz.mjs → acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-OYJu4IJz.mjs.map → acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CZzlGMcu.mjs → acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CZzlGMcu.mjs.map → acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-VdV7xGPS.mjs → acorex-modules-document-management-details-view.component-3DmulyK_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-VdV7xGPS.mjs.map → acorex-modules-document-management-details-view.component-3DmulyK_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Gi0_m0oe.mjs → acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Gi0_m0oe.mjs.map → acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BgRZ_nhs.mjs → acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BgRZ_nhs.mjs.map → acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-BRCGsnuI.mjs → acorex-modules-document-management-drive.component-D5X_bI5D.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-BRCGsnuI.mjs.map → acorex-modules-document-management-drive.component-D5X_bI5D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CnsPx3K3.mjs → acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CnsPx3K3.mjs.map → acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D4OUme1W.mjs → acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D4OUme1W.mjs.map → acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-C7i4jI9h.mjs → acorex-modules-document-management-list-view.component-Cb2OVElN.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-C7i4jI9h.mjs.map → acorex-modules-document-management-list-view.component-Cb2OVElN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DHVn7RIv.mjs → acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DHVn7RIv.mjs.map → acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-By36moe5.mjs → acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-By36moe5.mjs.map → acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CO6MfsEU.mjs → acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CO6MfsEU.mjs.map → acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.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-WkDn4mpE.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs} +23 -12
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-WkDn4mpE.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DsUYujPr.mjs → acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DsUYujPr.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-CC-LIIki.mjs → acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs} +10 -8
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Mgkdm2vo.mjs → acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Mgkdm2vo.mjs.map → acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BJyciZGL.mjs → acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BJyciZGL.mjs.map → acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-IewYlMLV.mjs → acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-IewYlMLV.mjs.map → acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-BlKFRnO0.mjs → acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs} +7 -53
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-De1qKpcU.mjs → acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-De1qKpcU.mjs.map → acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-RrnBU0M5.mjs → acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-RrnBU0M5.mjs.map → acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs +544 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-DK-i78ck.mjs → acorex-modules-organization-management-position.entity-CzBbuApR.mjs} +47 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-CzBbuApR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-settings.provider-feVwZnkw.mjs → acorex-modules-organization-management-settings.provider-BvOAb0jb.mjs} +21 -2
- package/fesm2022/acorex-modules-organization-management-settings.provider-BvOAb0jb.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +358 -240
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +76 -16
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-Y-liTcuX.mjs → acorex-modules-settings-management-setting-page.component-IG1o_0Dp.mjs} +17 -14
- package/fesm2022/acorex-modules-settings-management-setting-page.component-IG1o_0Dp.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/organization-management/README.md +98 -2
- package/organization-management/index.d.ts +44 -123
- package/package.json +1 -1
- package/report-management/index.d.ts +31 -3
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-CC-LIIki.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BlKFRnO0.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-item.component-CtuULLkY.mjs +0 -89
- package/fesm2022/acorex-modules-organization-management-add-item.component-CtuULLkY.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-branch.entity-C4Le6Kv6.mjs +0 -317
- package/fesm2022/acorex-modules-organization-management-branch.entity-C4Le6Kv6.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-department.entity-BkEbajpN.mjs +0 -288
- package/fesm2022/acorex-modules-organization-management-department.entity-BkEbajpN.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-division.entity-Cds8jkR5.mjs +0 -515
- package/fesm2022/acorex-modules-organization-management-division.entity-Cds8jkR5.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DfwjhVRX.mjs +0 -116
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DfwjhVRX.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-D7NlQXp2.mjs +0 -147
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-D7NlQXp2.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DeqD7PyH.mjs +0 -989
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DeqD7PyH.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-DK-i78ck.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs +0 -22
- package/fesm2022/acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-feVwZnkw.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-Y-liTcuX.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-settings.provider-feVwZnkw.mjs","sources":["../tmp-esm2022/organization-management/lib/settings.provider.js"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPOrganizationSetting } from './settings.keys';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nexport class AXMSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n this.sessionService = this.injector.get(AXPSessionService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`settings.${key}`, { scope: 'organization-management' });\n context\n .addGroup('organization-settings', await trans('organization-settings.title'), await trans('organization-settings.description'), 'fa-light fa-building')\n // Branding Section\n .addSection('branding', await trans('branding.title'), await trans('branding.description'))\n .addSetting({\n key: AXPOrganizationSetting.OrganizationName,\n title: await trans('branding-name.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: this.sessionService.tenant?.title,\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: await trans('branding-name.description'),\n })\n .addSetting({\n key: AXPOrganizationSetting.BrandingLogo,\n title: await trans('branding-logo.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.avatar,\n options: {\n fileTypes: ['image/png', 'image/jpeg'],\n },\n },\n description: await trans('branding-logo.description'),\n })\n .addSetting({\n key: AXPOrganizationSetting.CopyrightText,\n title: await trans('branding-copyright.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '© 2025 Your Company',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: await trans('branding-copyright.description'),\n })\n .endSection()\n // Contact Details Section\n .addSection('contact', 'Contact Details', 'Set company contact information.')\n .addSetting({\n key: AXPOrganizationSetting.ContactEmail,\n title: 'Company Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'Primary email address for the company.',\n })\n .addSetting({\n key: AXPOrganizationSetting.SupportEmail,\n title: 'Support Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'Support email address for customer inquiries.',\n })\n .addSetting({\n key: AXPOrganizationSetting.InfoEmail,\n title: 'Info Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'General information email address.',\n })\n .addSetting({\n key: AXPOrganizationSetting.ContactPhone,\n title: 'Company Phone',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'phone',\n hasLabel: false,\n }\n },\n description: 'Primary contact phone number.',\n })\n .addSetting({\n key: AXPOrganizationSetting.FaxNumber,\n title: 'Fax Number',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'phone',\n hasLabel: false,\n }\n },\n description: 'Fax number for the company.',\n })\n .endSection()\n // Address Section\n .addSection('address', 'Address', 'Manage company address details.')\n .addSetting({\n key: AXPOrganizationSetting.OrganizationAddress,\n title: 'Street Address',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'Street address of the company.',\n })\n .addSetting({\n key: AXPOrganizationSetting.OrganizationCity,\n title: 'City',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'City where the company is located.',\n })\n .addSetting({\n key: AXPOrganizationSetting.OrganizationCountry,\n title: 'Country',\n scope: 'T',\n isInherited: false,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: 'countries',\n },\n },\n description: 'Country where the company is based.',\n })\n .endSection()\n .endGroup();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvb3JnYW5pemF0aW9uLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFIckIscUJBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxtQkFBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFJdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFFdEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBRXpJLE9BQU87YUFDRixRQUFRLENBQUMsdUJBQXVCLEVBQzdCLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQzFDLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsc0JBQXNCLENB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QUFFO2dCQUNKLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQy9CO1lBQ0QsV0FBVyxFQUFFLGdDQUFnQztTQUNoRCxDQUFDO2FBQ0QsVUFBVSxDQUFDO1lBQ1IsR0FBRyxFQUFFLHNCQUFzQixDQUFDLGdCQUFnQjtZQUM1QyxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxFQUFFO2dCQUNKLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQy9CO1lBQ0QsV0FBVyxFQUFFLG9DQUFvQztTQUNwRCxDQUFDO2FBQ0QsVUFBVSxDQUFDO1lBQ1IsR0FBRyxFQUFFLHNCQUFzQixDQUFDLG1CQUFtQjtZQUMvQyxLQUFLLEVBQUUsU0FBUztZQUNoQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7WUFDL0MsTUFBTSxFQUFFO2dCQUNKLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUU7b0JBQ0wsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxPQUFPO29CQUNsQixVQUFVLEVBQUUsV0FBVztpQkFDMUI7YUFDSjtZQUNELFdBQVcsRUFBRSxxQ0FBcUM7U0FDckQsQ0FBQzthQUNELFVBQVUsRUFBRTthQUVaLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUE9yZ2FuaXphdGlvblNldHRpbmcgfSBmcm9tICcuL3NldHRpbmdzLmtleXMnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEFYTVNldHRpbmdQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuXG4gICAgfVxuXG4gICAgYXN5bmMgcHJvdmlkZShjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgICAgIGNvbnN0IHRyYW5zID0gYXN5bmMgKGtleTogc3RyaW5nKSA9PiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoYHNldHRpbmdzLiR7a2V5fWAsIHsgc2NvcGU6ICdvcmdhbml6YXRpb24tbWFuYWdlbWVudCcgfSk7XG5cbiAgICAgICAgY29udGV4dFxuICAgICAgICAgICAgLmFkZEdyb3VwKCdvcmdhbml6YXRpb24tc2V0dGluZ3MnLFxuICAgICAgICAgICAgICAgIGF3YWl0IHRyYW5zKCdvcmdhbml6YXRpb24tc2V0dGluZ3MudGl0bGUnKSxcbiAgICAgICAgICAgICAgICBhd2FpdCB0cmFucygnb3JnYW5pemF0aW9uLXNldHRpbmdzLmRlc2NyaXB0aW9uJyksICdmYS1saWdodCBmYS1idWlsZGluZydcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIEJyYW5kaW5nIFNlY3Rpb25cbiAgICAgICAgICAgIC5hZGRTZWN0aW9uKCdicmFuZGluZycsIGF3YWl0IHRyYW5zKCdicmFuZGluZy50aXRsZScpLCBhd2FpdCB0cmFucygnYnJhbmRpbmcuZGVzY3JpcHRpb24nKSlcbiAgICAgICAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAgICAgICAgICBrZXk6IEFYUE9yZ2FuaXphdGlvblNldHRpbmcuT3JnYW5pemF0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ2JyYW5kaW5nLW5hbWUudGl0bGUnKSxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50Py50aXRsZSxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0cmFucygnYnJhbmRpbmctbmFtZS5kZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAgICAgICAgICBrZXk6IEFYUE9yZ2FuaXphdGlvblNldHRpbmcuQnJhbmRpbmdMb2dvLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnYnJhbmRpbmctbG9nby50aXRsZScpLFxuICAgICAgICAgICAgICAgIHNjb3BlOiAnVCcsXG4gICAgICAgICAgICAgICAgaXNJbmhlcml0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJycsXG4gICAgICAgICAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmF2YXRhcixcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVR5cGVzOiBbJ2ltYWdlL3BuZycsICdpbWFnZS9qcGVnJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2JyYW5kaW5nLWxvZ28uZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgICAgICAgICAga2V5OiBBWFBPcmdhbml6YXRpb25TZXR0aW5nLkNvcHlyaWdodFRleHQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdicmFuZGluZy1jb3B5cmlnaHQudGl0bGUnKSxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ8KpIDIwMjUgWW91ciBDb21wYW55JyxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0cmFucygnYnJhbmRpbmctY29weXJpZ2h0LmRlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmVuZFNlY3Rpb24oKVxuXG4gICAgICAgICAgICAvLyBDb250YWN0IERldGFpbHMgU2VjdGlvblxuICAgICAgICAgICAgLmFkZFNlY3Rpb24oJ2NvbnRhY3QnLCAnQ29udGFjdCBEZXRhaWxzJywgJ1NldCBjb21wYW55IGNvbnRhY3QgaW5mb3JtYXRpb24uJylcbiAgICAgICAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAgICAgICAgICBrZXk6IEFYUE9yZ2FuaXphdGlvblNldHRpbmcuQ29udGFjdEVtYWlsLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29tcGFueSBFbWFpbCcsXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuY29udGFjdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xhYmVsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQcmltYXJ5IGVtYWlsIGFkZHJlc3MgZm9yIHRoZSBjb21wYW55LicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICAgICAgICAgIGtleTogQVhQT3JnYW5pemF0aW9uU2V0dGluZy5TdXBwb3J0RW1haWwsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdTdXBwb3J0IEVtYWlsJyxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5jb250YWN0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZW1haWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzTGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1N1cHBvcnQgZW1haWwgYWRkcmVzcyBmb3IgY3VzdG9tZXIgaW5xdWlyaWVzLicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICAgICAgICAgIGtleTogQVhQT3JnYW5pemF0aW9uU2V0dGluZy5JbmZvRW1haWwsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdJbmZvIEVtYWlsJyxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5jb250YWN0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZW1haWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzTGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYWwgaW5mb3JtYXRpb24gZW1haWwgYWRkcmVzcy4nLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAgICAgICAgICBrZXk6IEFYUE9yZ2FuaXphdGlvblNldHRpbmcuQ29udGFjdFBob25lLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29tcGFueSBQaG9uZScsXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuY29udGFjdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3Bob25lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xhYmVsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQcmltYXJ5IGNvbnRhY3QgcGhvbmUgbnVtYmVyLicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICAgICAgICAgIGtleTogQVhQT3JnYW5pemF0aW9uU2V0dGluZy5GYXhOdW1iZXIsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdGYXggTnVtYmVyJyxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5jb250YWN0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncGhvbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzTGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0ZheCBudW1iZXIgZm9yIHRoZSBjb21wYW55LicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmVuZFNlY3Rpb24oKVxuXG4gICAgICAgICAgICAvLyBBZGRyZXNzIFNlY3Rpb25cbiAgICAgICAgICAgIC5hZGRTZWN0aW9uKCdhZGRyZXNzJywgJ0FkZHJlc3MnLCAnTWFuYWdlIGNvbXBhbnkgYWRkcmVzcyBkZXRhaWxzLicpXG4gICAgICAgICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgICAgICAgICAga2V5OiBBWFBPcmdhbml6YXRpb25TZXR0aW5nLk9yZ2FuaXphdGlvbkFkZHJlc3MsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdTdHJlZXQgQWRkcmVzcycsXG4gICAgICAgICAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU3RyZWV0IGFkZHJlc3Mgb2YgdGhlIGNvbXBhbnkuJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgICAgICAgICAga2V5OiBBWFBPcmdhbml6YXRpb25TZXR0aW5nLk9yZ2FuaXphdGlvbkNpdHksXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDaXR5JyxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdDaXR5IHdoZXJlIHRoZSBjb21wYW55IGlzIGxvY2F0ZWQuJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgICAgICAgICAga2V5OiBBWFBPcmdhbml6YXRpb25TZXR0aW5nLk9yZ2FuaXphdGlvbkNvdW50cnksXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb3VudHJ5JyxcbiAgICAgICAgICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcygnaWQnKSxcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuc2VsZWN0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogJ2NvdW50cmllcycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0NvdW50cnkgd2hlcmUgdGhlIGNvbXBhbnkgaXMgYmFzZWQuJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZW5kU2VjdGlvbigpXG5cbiAgICAgICAgICAgIC5lbmRHcm91cCgpO1xuICAgIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-settings-management-setting-page.component-Y-liTcuX.mjs","sources":["../tmp-esm2022/settings-management/lib/features/settings/setting-page/setting-page.component.js"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { AXHighlightService, resolvePlatformScopeKey, resolvePlatformScopeName } from '@acorex/platform/core';\nimport { filter, firstValueFrom, startWith, take } from 'rxjs';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPSettingsViewModel } from '../settings.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/components/tabs\";\nimport * as i8 from \"@acorex/components/loading\";\nimport * as i9 from \"@angular/common\";\nexport class AXPSettingPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.vm = inject(AXPSettingsViewModel);\n this.activatedRoute = inject(ActivatedRoute);\n this.unsubscribe = inject(AXUnsubscriber);\n this.highlightService = inject(AXHighlightService);\n this.router = inject(Router);\n this.#effect = effect(() => {\n if (!this.vm.isLoaded()) {\n return;\n }\n const expression = this.vm.searchExpression();\n const app = this.sessionService.application?.name;\n const scope = resolvePlatformScopeName(this.vm.scope());\n const group = this.vm.activateGroup()?.name;\n //\n if (this.vm.isSearching()) {\n this.router.navigate([app, 'settings', scope, group ?? ''], {\n queryParams: { q: expression },\n });\n setTimeout(() => {\n this.highlightService.highlight('#ax-settings', expression);\n }, 100);\n return;\n }\n this.router.navigate([app, 'settings', scope, group ?? '']);\n this.highlightService.clear();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #effect;\n async ngOnInit() {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const routerScope = resolvePlatformScopeKey(snapshot.paramMap.get('scope')?.trim().toLowerCase());\n const vmScope = this.vm.scope();\n const query = snapshot.queryParamMap.get('q');\n //\n //\n if (vmScope != routerScope || !this.vm.isLoaded()) {\n await this.vm.load(routerScope);\n }\n this.vm.unloadActivateGroup();\n this.vm.clearSearch();\n //\n let group = await this.getGroupFromRoute();\n //\n if (!group && this.layoutService.isLarge() && !this.vm.isSearching()) {\n group = this.vm.groups()?.[0]?.name;\n if (group) {\n await this.router.navigate([group], { relativeTo: this.activatedRoute, replaceUrl: true });\n }\n }\n else if (group) {\n await this.vm.setActivateGroupByName(group);\n this.recompute();\n }\n if (query) {\n await this.vm.search(query);\n this.recompute();\n }\n }\n async getGroupFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n let group = snapshot.paramMap.get('group');\n //\n if (!group) {\n for (const childRoute of this.activatedRoute.children) {\n const params = await firstValueFrom(childRoute.paramMap.pipe(take(1)));\n group = params?.get('group');\n if (group) {\n break;\n }\n }\n }\n return group ?? undefined;\n }\n async handleSelectGroup(item) {\n await this.router.navigate([`${item.name}`], { relativeTo: this.activatedRoute });\n }\n //#region ---------------- Page Configuration Overrides ----------------\n async getSecondaryMenuItems() {\n if (this.vm.activateGroup()) {\n return [\n {\n title: await this.translateService.translateAsync('actions.restore-defaults.title', { scope: 'settings' }),\n icon: 'fa-light fa-rotate-left',\n color: 'danger',\n command: {\n name: 'restore-defaults'\n }\n }\n ];\n }\n return [];\n }\n async getPageTitle() {\n const groupTitle = this.vm.activateGroup()?.title;\n const scopeTitle = await this.translateService.translateAsync(this.vm.scopeTitle(), { scope: 'settings' });\n if (!this.vm.isSearching()) {\n return groupTitle ?? scopeTitle;\n }\n else {\n return this.translateService.translateAsync('search.title', { scope: 'settings', params: { q: this.vm.searchExpression() } });\n }\n }\n async getPageDescription() {\n const groupDescription = this.vm.activateGroup()?.description;\n const scopeDescription = await this.translateService.translateAsync(this.vm.scopeDescription(), { scope: 'settings' });\n if (!this.vm.isSearching()) {\n return groupDescription ?? scopeDescription;\n }\n else {\n return this.translateService.translateAsync('search.description', { scope: 'settings' });\n }\n }\n async getPageBadge() {\n if (this.vm.isDirty()) {\n return {\n title: await this.translateService.translateAsync('@general:save-status.not-saved.title'),\n color: 'warning',\n description: await this.translateService.translateAsync('@general:save-status.not-saved.description'),\n };\n }\n return null;\n }\n async getBackButton() {\n if (this.vm.activateGroup()) {\n return {\n title: await this.translateService.translateAsync(this.vm.scopeTitle(), { scope: 'settings' }),\n };\n }\n return null;\n }\n onBackButtonClick() {\n const app = this.sessionService.application?.name;\n const scope = resolvePlatformScopeName(this.vm.scope());\n //\n this.router.navigate([app, 'settings', scope]);\n }\n async execute(command) {\n switch (command.name) {\n case 'restore-defaults':\n await this.vm.resetToDefault();\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXPSettingPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXPSettingPageComponent, isStandalone: true, selector: \"ng-component\", host: { classAttribute: \"axp-setting-page\" }, providers: [\n AXUnsubscriber,\n AXPSettingsViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPSettingPageComponent\n }\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if(vm.showGroups()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.scopeTitle(), { scope: 'settings' }) | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder', { scope: 'settings' }) | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.groups(); track $index) {\\n <ax-tab-item\\n [text]=\\\"item.title\\\"\\n (onClick)=\\\"handleSelectGroup(item)\\\"\\n [active]=\\\"vm.activateGroup() == item && !vm.isSearching()\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content id=\\\"ax-settings\\\">\\n @if(vm.hasActivateGroup() || vm.isSearching()) {\\n <router-outlet></router-outlet>\\n } @else {\\n <axp-layout-list>\\n @for (item of vm.groups(); track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectGroup(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n }\\n </axp-page-content>\\n\\n @if(vm.isDirty()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"t('discard') | async\\\"\\n (onClick)=\\\"vm.discard()\\\"\\n >\\n </ax-button>\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"t('apply') | async\\\"\\n (onClick)=\\\"vm.apply()\\\"\\n [color]=\\\"'secondary'\\\"\\n >\\n @if(vm.isSaving()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\".axp-setting-page ax-tabs{--ax-comp-tabs-default-border-radius: 0}.axp-setting-page ax-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}.axp-setting-page axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-setting-page axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-setting-page axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-setting-page axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-setting-page axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-setting-page axp-layout-start-side{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))}.axp-setting-page #ax-settings{padding:1rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i2.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.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: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.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: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i7.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i7.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i8.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { 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: AXPThemeLayoutListComponent, selector: \"axp-layout-list\" }, { kind: \"component\", type: AXPThemeLayoutListItemComponent, selector: \"axp-layout-list-item\" }, { kind: \"component\", type: AXPThemeLayoutToolbarComponent, selector: \"axp-layout-toolbar\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.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: AXPSettingPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXUnsubscriber,\n AXPSettingsViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPSettingPageComponent\n }\n ], host: { class: 'axp-setting-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if(vm.showGroups()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.scopeTitle(), { scope: 'settings' }) | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder', { scope: 'settings' }) | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.groups(); track $index) {\\n <ax-tab-item\\n [text]=\\\"item.title\\\"\\n (onClick)=\\\"handleSelectGroup(item)\\\"\\n [active]=\\\"vm.activateGroup() == item && !vm.isSearching()\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content id=\\\"ax-settings\\\">\\n @if(vm.hasActivateGroup() || vm.isSearching()) {\\n <router-outlet></router-outlet>\\n } @else {\\n <axp-layout-list>\\n @for (item of vm.groups(); track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectGroup(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n }\\n </axp-page-content>\\n\\n @if(vm.isDirty()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"t('discard') | async\\\"\\n (onClick)=\\\"vm.discard()\\\"\\n >\\n </ax-button>\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"t('apply') | async\\\"\\n (onClick)=\\\"vm.apply()\\\"\\n [color]=\\\"'secondary'\\\"\\n >\\n @if(vm.isSaving()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\".axp-setting-page ax-tabs{--ax-comp-tabs-default-border-radius: 0}.axp-setting-page ax-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}.axp-setting-page axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-setting-page axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-setting-page axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-setting-page axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-setting-page axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-setting-page axp-layout-start-side{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))}.axp-setting-page #ax-settings{padding:1rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9zZXR0aW5ncy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvc2V0dGluZ3Mvc2V0dGluZy1wYWdlL3NldHRpbmctcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvc2V0dGluZ3MtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NldHRpbmdzL3NldHRpbmctcGFnZS9zZXR0aW5nLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLDhCQUE4QixHQUMvQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIs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QWlGQSxtM0REaERJLFlBQVksOEJBQ1osV0FBVyw4VkFDWCxZQUFZO2dCQUNaLEVBQUU7Z0JBQ0YsaUJBQWlCLDRZQUNqQixpQkFBaUIsc2NBQ2pCLG1CQUFtQiw4QkFDbkIsbUJBQW1CLDhHQUNuQixjQUFjLDZYQUNkLFlBQVksa2FBQ1osYUFBYSw4QkFDYixlQUFlLDhLQUNmLHNCQUFzQjtnQkFDdEIsRUFBRTtnQkFDRixzQkFBc0IsNERBQ3RCLDRCQUE0QixnaUJBQzVCLDJCQUEyQiw0REFDM0IsK0JBQStCLGlFQUMvQiw4QkFBOEIsK0RBQzlCLDZCQUE2Qiw4REFDN0IsZ0NBQWdDOzsyRkFpQnZCLHVCQUF1QjtrQkF4Q25DLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLEVBQUU7d0JBQ0YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiwrQkFBK0I7d0JBQy9CLDhCQUE4Qjt3QkFDOUIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBRWpDLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNULGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHlCQUF5Qjt5QkFDckM7cUJBQ0YsUUFDSyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdENvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0VG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIHVudHJhY2tlZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYSGlnaGxpZ2h0U2VydmljZSwgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJhZGdlLCBBWFBFeGVjdXRlQ29tbWFuZCwgcmVzb2x2ZVBsYXRmb3JtU2NvcGVLZXksIHJlc29sdmVQbGF0Zm9ybVNjb3BlTmFtZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSwgc3RhcnRXaXRoLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWFBQYWdlTGF5b3V0QmFzZSwgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQsIEFYUFBhZ2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC92aWV3cyc7XG5pbXBvcnQgeyBBWFBTZXR0aW5nc1ZpZXdNb2RlbCB9IGZyb20gJy4uL3NldHRpbmdzLnZpZXdtb2RlbCc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgLy9cbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRMaXN0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0TGlzdEl0ZW1Db21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRUb29sYmFyQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0U3RhcnRTaWRlQ29tcG9uZW50XG5cbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmctcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zZXR0aW5nLXBhZ2UuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gICAgQVhQU2V0dGluZ3NWaWV3TW9kZWwsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQUGFnZUxheW91dEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogQVhQU2V0dGluZ1BhZ2VDb21wb25lbnRcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHsgY2xhc3M6ICdheHAtc2V0dGluZy1wYWdlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBTZXR0aW5nUGFnZUNvbXBvbmVudCBleHRlbmRzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgdm0gPSBpbmplY3QoQVhQU2V0dGluZ3NWaWV3TW9kZWwpO1xuICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZSA9IGluamVjdChBWEhpZ2hsaWdodFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRoaXMudm0uaXNMb2FkZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy52bS5zZWFyY2hFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgYXBwID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcbiAgICBjb25zdCBzY29wZSA9IHJlc29sdmVQbGF0Zm9ybVNjb3BlTmFtZSh0aGlzLnZtLnNjb3BlKCkpO1xuICAgIGNvbnN0IGdyb3VwID0gdGhpcy52bS5hY3RpdmF0ZUdyb3VwKCk/Lm5hbWU7XG4gICAgLy9cbiAgICBpZiAodGhpcy52bS5pc1NlYXJjaGluZygpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYXBwLCAnc2V0dGluZ3MnLCBzY29wZSwgZ3JvdXAgPz8gJyddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IGV4cHJlc3Npb24gfSxcbiAgICAgIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5oaWdobGlnaHQoJyNheC1zZXR0aW5ncycsIGV4cHJlc3Npb24hKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFthcHAsICdzZXR0aW5ncycsIHNjb3BlLCBncm91cCA/PyAnJ10pO1xuICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5jbGVhcigpO1xuICB9KTtcblxuXG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUudGFrZVVudGlsRGVzdHJveSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEZyb21Sb3V0ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZyb21Sb3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGVyU2NvcGUgPSByZXNvbHZlUGxhdGZvcm1TY29wZUtleShzbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3Njb3BlJyk/LnRyaW0oKS50b0xvd2VyQ2FzZSgpISk7XG4gICAgY29uc3Qgdm1TY29wZSA9IHRoaXMudm0uc2NvcGUoKTtcbiAgICBjb25zdCBxdWVyeSA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdxJyk7XG4gICAgLy9cbiAgICAvL1xuICAgIGlmICh2bVNjb3BlICE9IHJvdXRlclNjb3BlIHx8ICF0aGlzLnZtLmlzTG9hZGVkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMudm0ubG9hZChyb3V0ZXJTY29wZSk7XG4gICAgfVxuICAgIHRoaXMudm0udW5sb2FkQWN0aXZhdGVHcm91cCgpO1xuICAgIHRoaXMudm0uY2xlYXJTZWFyY2goKTtcbiAgICAvL1xuICAgIGxldCBncm91cCA9IGF3YWl0IHRoaXMuZ2V0R3JvdXBGcm9tUm91dGUoKTtcbiAgICAvL1xuICAgIGlmICghZ3JvdXAgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzTGFyZ2UoKSAmJiAhdGhpcy52bS5pc1NlYXJjaGluZygpKSB7XG4gICAgICBncm91cCA9IHRoaXMudm0uZ3JvdXBzKCk/LlswXT8ubmFtZTtcbiAgICAgIGlmIChncm91cCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZ3JvdXBdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsIHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGdyb3VwKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLnNldEFjdGl2YXRlR3JvdXBCeU5hbWUoZ3JvdXAhKTtcbiAgICAgIHRoaXMucmVjb21wdXRlKCk7XG4gICAgfVxuICAgIGlmIChxdWVyeSkge1xuICAgICAgYXdhaXQgdGhpcy52bS5zZWFyY2gocXVlcnkpO1xuICAgICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEdyb3VwRnJvbVJvdXRlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90O1xuICAgIGxldCBncm91cCA9IHNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ3JvdXAnKTtcbiAgICAvL1xuICAgIGlmICghZ3JvdXApIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRSb3V0ZSBvZiB0aGlzLmFjdGl2YXRlZFJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKGNoaWxkUm91dGUucGFyYW1NYXAucGlwZSh0YWtlKDEpKSk7XG4gICAgICAgIGdyb3VwID0gcGFyYW1zPy5nZXQoJ2dyb3VwJyk7XG4gICAgICAgIGlmIChncm91cCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBncm91cCA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2VsZWN0R3JvdXAoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCkge1xuICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHtpdGVtLm5hbWV9YF0sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBpZiAodGhpcy52bS5hY3RpdmF0ZUdyb3VwKCkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdhY3Rpb25zLnJlc3RvcmUtZGVmYXVsdHMudGl0bGUnLCB7IHNjb3BlOiAnc2V0dGluZ3MnIH0pLFxuICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1yb3RhdGUtbGVmdCcsXG4gICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgIG5hbWU6ICdyZXN0b3JlLWRlZmF1bHRzJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgZ3JvdXBUaXRsZSA9IHRoaXMudm0uYWN0aXZhdGVHcm91cCgpPy50aXRsZTtcbiAgICBjb25zdCBzY29wZVRpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudm0uc2NvcGVUaXRsZSgpLCB7IHNjb3BlOiAnc2V0dGluZ3MnIH0pO1xuICAgIGlmICghdGhpcy52bS5pc1NlYXJjaGluZygpKSB7XG4gICAgICByZXR1cm4gZ3JvdXBUaXRsZSA/PyBzY29wZVRpdGxlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdzZWFyY2gudGl0bGUnLCB7IHNjb3BlOiAnc2V0dGluZ3MnLCBwYXJhbXM6IHsgcTogdGhpcy52bS5zZWFyY2hFeHByZXNzaW9uKCkgfSB9KVxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBncm91cERlc2NyaXB0aW9uID0gdGhpcy52bS5hY3RpdmF0ZUdyb3VwKCk/LmRlc2NyaXB0aW9uO1xuICAgIGNvbnN0IHNjb3BlRGVzY3JpcHRpb24gPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy52bS5zY29wZURlc2NyaXB0aW9uKCksIHsgc2NvcGU6ICdzZXR0aW5ncycgfSk7XG4gICAgaWYgKCF0aGlzLnZtLmlzU2VhcmNoaW5nKCkpIHtcbiAgICAgIHJldHVybiBncm91cERlc2NyaXB0aW9uID8/IHNjb3BlRGVzY3JpcHRpb247XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnc2VhcmNoLmRlc2NyaXB0aW9uJywgeyBzY29wZTogJ3NldHRpbmdzJyB9KVxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VCYWRnZSgpOiBQcm9taXNlPEFYUEJhZGdlIHwgbnVsbD4ge1xuICAgIGlmICh0aGlzLnZtLmlzRGlydHkoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGdlbmVyYWw6c2F2ZS1zdGF0dXMubm90LXNhdmVkLnRpdGxlJyksXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOnNhdmUtc3RhdHVzLm5vdC1zYXZlZC5kZXNjcmlwdGlvbicpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRCYWNrQnV0dG9uKCk6IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICBpZiAodGhpcy52bS5hY3RpdmF0ZUdyb3VwKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy52bS5zY29wZVRpdGxlKCksIHsgc2NvcGU6ICdzZXR0aW5ncycgfSksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uQmFja0J1dHRvbkNsaWNrKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhcHAgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lO1xuICAgIGNvbnN0IHNjb3BlID0gcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSk7XG4gICAgLy9cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYXBwLCAnc2V0dGluZ3MnLCBzY29wZV0pO1xuICB9XG5cblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3dpdGNoIChjb21tYW5kLm5hbWUpIHtcbiAgICAgIGNhc2UgJ3Jlc3RvcmUtZGVmYXVsdHMnOlxuICAgICAgICBhd2FpdCB0aGlzLnZtLnJlc2V0VG9EZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgQGlmKHZtLnNob3dHcm91cHMoKSkge1xuICA8YXhwLWxheW91dC1zdGFydC1zaWRlPlxuICAgIDxheHAtbGF5b3V0LWhlYWRlcj5cbiAgICAgIDxheHAtbGF5b3V0LXRpdGxlPnt7IHQodm0uc2NvcGVUaXRsZSgpLCB7IHNjb3BlOiAnc2V0dGluZ3MnIH0pIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgICA8YXhwLWxheW91dC10b29sYmFyPlxuICAgICAgICA8YXgtc2VhcmNoLWJveFxuICAgICAgICAgIFtkZWxheVRpbWVdPVwiMzAwXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ2bS5zZWFyY2hFeHByZXNzaW9uKClcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJ2bS5zZWFyY2goJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3NlYXJjaC5wbGFjZWhvbGRlcicsIHsgc2NvcGU6ICdzZXR0aW5ncycgfSkgfCBhc3luY1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICA8L2F4LXNlYXJjaC1ib3g+XG4gICAgICA8L2F4cC1sYXlvdXQtdG9vbGJhcj5cbiAgICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuICAgIDxheHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICA8YXgtdGFicyBbbG9va109XCInd2l0aC1saW5lLWNvbG9yJ1wiIFtsb2NhdGlvbl09XCInZW5kJ1wiIFtmaXRQYXJlbnRdPVwidHJ1ZVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHZtLmdyb3VwcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGF4LXRhYi1pdGVtXG4gICAgICAgICAgW3RleHRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0R3JvdXAoaXRlbSlcIlxuICAgICAgICAgIFthY3RpdmVdPVwidm0uYWN0aXZhdGVHcm91cCgpID09IGl0ZW0gJiYgIXZtLmlzU2VhcmNoaW5nKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYXIgJHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPC9heC10YWItaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9heC10YWJzPlxuICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuXG4gIDxheHAtcGFnZS1jb250ZW50IGlkPVwiYXgtc2V0dGluZ3NcIj5cbiAgICBAaWYodm0uaGFzQWN0aXZhdGVHcm91cCgpIHx8IHZtLmlzU2VhcmNoaW5nKCkpIHtcbiAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgPGF4cC1sYXlvdXQtbGlzdD5cbiAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0uZ3JvdXBzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGF4cC1sYXlvdXQtbGlzdC1pdGVtIChjbGljayk9XCJoYW5kbGVTZWxlY3RHcm91cChpdGVtKVwiPlxuICAgICAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciAke3sgaXRlbS5pY29uIH19XCIgY2xhc3M9XCJheC10ZXh0LWdyYXktNTAwXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgIDxhIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYT5cbiAgICAgICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiIGZhciBmYS1jaGV2cm9uLXJpZ2h0XCIgY2xhc3M9XCJheC10ZXh0LWdyYXktNDAwXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4cC1sYXlvdXQtc3VmZml4PlxuICAgICAgPC9heHAtbGF5b3V0LWxpc3QtaXRlbT5cbiAgICAgIH1cbiAgICA8L2F4cC1sYXlvdXQtbGlzdD5cbiAgICB9XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICBAaWYodm0uaXNEaXJ0eSgpKSB7XG4gIDxheHAtcGFnZS1mb290ZXIgY2xhc3M9XCItLWFuaW1hdGVkXCI+XG4gICAgPGF4cC1sYXlvdXQtc3VmZml4PlxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidm0uaXNCdXN5KCkgfHwgdm0uaXNTYXZpbmcoKVwiXG4gICAgICAgIFt0ZXh0XT1cInQoJ2Rpc2NhcmQnKSB8IGFzeW5jXCJcbiAgICAgICAgKG9uQ2xpY2spPVwidm0uZGlzY2FyZCgpXCJcbiAgICAgID5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidm0uaXNCdXN5KCkgfHwgdm0uaXNTYXZpbmcoKVwiXG4gICAgICAgIFt0ZXh0XT1cInQoJ2FwcGx5JykgfCBhc3luY1wiXG4gICAgICAgIChvbkNsaWNrKT1cInZtLmFwcGx5KClcIlxuICAgICAgICBbY29sb3JdPVwiJ3NlY29uZGFyeSdcIlxuICAgICAgPlxuICAgICAgICBAaWYodm0uaXNTYXZpbmcoKSkge1xuICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgIH1cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gIDwvYXhwLXBhZ2UtZm9vdGVyPlxuICB9XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ=="],"names":["i9"],"mappings":"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"}
|