@acorex/modules 20.2.4-next.0 → 20.2.4-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/auth/index.d.ts +1 -0
  2. package/common/index.d.ts +16 -13
  3. package/contact-management/index.d.ts +0 -6
  4. package/conversation/index.d.ts +8 -0
  5. package/dashboard-management/index.d.ts +3 -79
  6. package/data-management/index.d.ts +2 -69
  7. package/document-management/index.d.ts +20 -5
  8. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs → acorex-modules-auth-acorex-modules-auth-BbO_ea5W.mjs} +18 -14
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs.map → acorex-modules-auth-acorex-modules-auth-BbO_ea5W.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs → acorex-modules-auth-app-chooser.component-y0HLrwJM.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs.map → acorex-modules-auth-app-chooser.component-y0HLrwJM.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-login.module-DGPRxnXo.mjs → acorex-modules-auth-login.module-1U_5UgDs.mjs} +4 -4
  13. package/fesm2022/{acorex-modules-auth-login.module-DGPRxnXo.mjs.map → acorex-modules-auth-login.module-1U_5UgDs.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-master.layout-BNFGuQQs.mjs → acorex-modules-auth-master.layout-DGsAGhOH.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-master.layout-BNFGuQQs.mjs.map → acorex-modules-auth-master.layout-DGsAGhOH.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs → acorex-modules-auth-oauth-callback.component-CPHBV5bA.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs.map → acorex-modules-auth-oauth-callback.component-CPHBV5bA.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-password.component-ln2kDKPR.mjs → acorex-modules-auth-password.component-C85NgQxA.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-password.component-ln2kDKPR.mjs.map → acorex-modules-auth-password.component-C85NgQxA.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-password.component-Dyox9sR4.mjs → acorex-modules-auth-password.component-CF3ReHyw.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-password.component-Dyox9sR4.mjs.map → acorex-modules-auth-password.component-CF3ReHyw.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-auth-routes-7vr8T08D.mjs → acorex-modules-auth-routes-BJh0Fwpy.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-auth-routes-7vr8T08D.mjs.map → acorex-modules-auth-routes-BJh0Fwpy.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-two-factor.module-D6XCUP_A.mjs → acorex-modules-auth-two-factor.module-Bsh2_A5L.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-two-factor.module-D6XCUP_A.mjs.map → acorex-modules-auth-two-factor.module-Bsh2_A5L.mjs.map} +1 -1
  26. package/fesm2022/acorex-modules-auth-user-sessions.component-ChMkstLg.mjs +137 -0
  27. package/fesm2022/acorex-modules-auth-user-sessions.component-ChMkstLg.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-auth.mjs +1 -1
  29. package/fesm2022/acorex-modules-calendar-management.mjs +12 -40
  30. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  31. package/fesm2022/acorex-modules-common-manage-extra-properties-popup.component-BgXwb8Su.mjs +71 -0
  32. package/fesm2022/acorex-modules-common-manage-extra-properties-popup.component-BgXwb8Su.mjs.map +1 -0
  33. package/fesm2022/acorex-modules-common-manage-extra-properties.command-DqdhTfLD.mjs +47 -0
  34. package/fesm2022/acorex-modules-common-manage-extra-properties.command-DqdhTfLD.mjs.map +1 -0
  35. package/fesm2022/{acorex-modules-common-search-popup.component-39U0-TIj.mjs → acorex-modules-common-search-popup.component-BSQyjDKA.mjs} +8 -8
  36. package/fesm2022/{acorex-modules-common-search-popup.component-39U0-TIj.mjs.map → acorex-modules-common-search-popup.component-BSQyjDKA.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs → acorex-modules-common-timeline-version-history-popup.component-ByAc4Yp9.mjs} +5 -5
  38. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs.map → acorex-modules-common-timeline-version-history-popup.component-ByAc4Yp9.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-common.mjs +532 -91
  40. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  41. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs → acorex-modules-contact-management-contact-method.entity-DR6V9Nox.mjs} +15 -41
  42. package/fesm2022/acorex-modules-contact-management-contact-method.entity-DR6V9Nox.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs → acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs} +13 -90
  44. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs.map +1 -0
  45. package/fesm2022/acorex-modules-contact-management.mjs +793 -1
  46. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
  47. package/fesm2022/acorex-modules-content-management.mjs +3 -3
  48. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  49. package/fesm2022/acorex-modules-conversation.mjs +84 -24
  50. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  51. package/fesm2022/acorex-modules-dashboard-management.mjs +29 -325
  52. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  53. package/fesm2022/acorex-modules-data-management.mjs +160 -1009
  54. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  55. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs → acorex-modules-document-management-acorex-modules-document-management-DG7QxbqI.mjs} +174 -286
  56. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-DG7QxbqI.mjs.map +1 -0
  57. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs → acorex-modules-document-management-attachment-widget.component-tk2f6GPy.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs.map → acorex-modules-document-management-attachment-widget.component-tk2f6GPy.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs → acorex-modules-document-management-create-folder-dialog.component-DJ-BBmR2.mjs} +3 -3
  60. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-DJ-BBmR2.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-document-management-details-view.component-BKNvUhdl.mjs → acorex-modules-document-management-details-view.component-CX10ubfL.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-document-management-details-view.component-BKNvUhdl.mjs.map → acorex-modules-document-management-details-view.component-CX10ubfL.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs → acorex-modules-document-management-document-signature-popup.component-CMUZSL2S.mjs} +42 -2
  64. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CMUZSL2S.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs → acorex-modules-document-management-drive-choose.component-DOxdrJh-.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs.map → acorex-modules-document-management-drive-choose.component-DOxdrJh-.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-document-management-drive.component-DutBXTtm.mjs → acorex-modules-document-management-drive.component-Crt-i9Xe.mjs} +2 -2
  68. package/fesm2022/{acorex-modules-document-management-drive.component-DutBXTtm.mjs.map → acorex-modules-document-management-drive.component-Crt-i9Xe.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs → acorex-modules-document-management-large-icons-view.component-DLds0iA6.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs.map → acorex-modules-document-management-large-icons-view.component-DLds0iA6.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs → acorex-modules-document-management-large-tiles-view.component-DELo5m5s.mjs} +2 -2
  72. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs.map → acorex-modules-document-management-large-tiles-view.component-DELo5m5s.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-document-management-link-dialog.component-DKOod11R.mjs → acorex-modules-document-management-link-dialog.component-DM1Djews.mjs} +2 -2
  74. package/fesm2022/acorex-modules-document-management-link-dialog.component-DM1Djews.mjs.map +1 -0
  75. package/fesm2022/{acorex-modules-document-management-list-view.component-DdLTVccZ.mjs → acorex-modules-document-management-list-view.component-DsR96OWz.mjs} +2 -2
  76. package/fesm2022/{acorex-modules-document-management-list-view.component-DdLTVccZ.mjs.map → acorex-modules-document-management-list-view.component-DsR96OWz.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs → acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs} +6 -6
  78. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs.map +1 -0
  79. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs → acorex-modules-document-management-permission-definition.provider-DiXt_BzX.mjs} +2 -2
  80. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs.map → acorex-modules-document-management-permission-definition.provider-DiXt_BzX.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs → acorex-modules-document-management-rename-node-dialog.component-CNeHhc0E.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CNeHhc0E.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs → acorex-modules-document-management-share-dialog.component-BNN3t8AV.mjs} +2 -2
  84. package/fesm2022/acorex-modules-document-management-share-dialog.component-BNN3t8AV.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs → acorex-modules-document-management-share-email-dialog.component-8WAUtRyJ.mjs} +2 -2
  86. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-8WAUtRyJ.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs → acorex-modules-document-management-small-icons-view.component-D9AIIBMz.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs.map → acorex-modules-document-management-small-icons-view.component-D9AIIBMz.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs → acorex-modules-document-management-small-tiles-view.component-HpEgcH1F.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs.map → acorex-modules-document-management-small-tiles-view.component-HpEgcH1F.mjs.map} +1 -1
  91. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  92. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-COVNekIY.mjs} +13 -85
  93. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-COVNekIY.mjs.map +1 -0
  94. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs → acorex-modules-form-template-management-permission-definition.provider-BEkbbQH2.mjs} +2 -2
  95. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BEkbbQH2.mjs.map} +1 -1
  96. package/fesm2022/{acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs → acorex-modules-form-template-management-settings.provider-DSI7cmrW.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs.map → acorex-modules-form-template-management-settings.provider-DSI7cmrW.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs → acorex-modules-form-template-management-template-picker.component-5n_kQMuQ.mjs} +6 -4
  99. package/fesm2022/acorex-modules-form-template-management-template-picker.component-5n_kQMuQ.mjs.map +1 -0
  100. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs → acorex-modules-form-template-management-template-widget-edit.component-BtCYeGB-.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BtCYeGB-.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs → acorex-modules-form-template-management-template.entity-Cm-AVAF_.mjs} +15 -85
  103. package/fesm2022/acorex-modules-form-template-management-template.entity-Cm-AVAF_.mjs.map +1 -0
  104. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs → acorex-modules-form-template-management-viewer-popup.component-C8TC42DL.mjs} +2 -2
  105. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs.map → acorex-modules-form-template-management-viewer-popup.component-C8TC42DL.mjs.map} +1 -1
  106. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  107. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs → acorex-modules-help-desk-acorex-modules-help-desk-hH3VgxdE.mjs} +6 -6
  108. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-hH3VgxdE.mjs.map +1 -0
  109. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs → acorex-modules-help-desk-capture-screen.component-ae64BzbL.mjs} +2 -2
  110. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs.map → acorex-modules-help-desk-capture-screen.component-ae64BzbL.mjs.map} +1 -1
  111. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  112. package/fesm2022/acorex-modules-location-management.mjs +16 -29
  113. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  114. package/fesm2022/acorex-modules-log-management.mjs +1 -1
  115. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  116. package/fesm2022/acorex-modules-meeting-management.mjs +107 -95
  117. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  118. package/fesm2022/acorex-modules-notification-management-notification-page.component-BUslAF8w.mjs +855 -0
  119. package/fesm2022/acorex-modules-notification-management-notification-page.component-BUslAF8w.mjs.map +1 -0
  120. package/fesm2022/acorex-modules-notification-management.mjs +20 -20
  121. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  122. package/fesm2022/{acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs → acorex-modules-organization-management-add-item.component-B7AYaZrD.mjs} +2 -2
  123. package/fesm2022/acorex-modules-organization-management-add-item.component-B7AYaZrD.mjs.map +1 -0
  124. package/fesm2022/{acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs → acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs} +14 -42
  125. package/fesm2022/acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs.map +1 -0
  126. package/fesm2022/{acorex-modules-organization-management-chart.entity-UAn44WCP.mjs → acorex-modules-organization-management-chart.entity-8J9I9lgq.mjs} +14 -42
  127. package/fesm2022/acorex-modules-organization-management-chart.entity-8J9I9lgq.mjs.map +1 -0
  128. package/fesm2022/{acorex-modules-organization-management-company.entity-D1A1HSkC.mjs → acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs} +14 -42
  129. package/fesm2022/acorex-modules-organization-management-company.entity-BBNM-Ihr.mjs.map +1 -0
  130. package/fesm2022/{acorex-modules-organization-management-department.entity-BxCyXNtv.mjs → acorex-modules-organization-management-department.entity-BbBrK4BN.mjs} +14 -42
  131. package/fesm2022/acorex-modules-organization-management-department.entity-BbBrK4BN.mjs.map +1 -0
  132. package/fesm2022/{acorex-modules-organization-management-division.entity-DzQT2jpz.mjs → acorex-modules-organization-management-division.entity-DdX7LcCU.mjs} +14 -42
  133. package/fesm2022/acorex-modules-organization-management-division.entity-DdX7LcCU.mjs.map +1 -0
  134. package/fesm2022/{acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs → acorex-modules-organization-management-employee.entity-DJH02MJJ.mjs} +85 -186
  135. package/fesm2022/acorex-modules-organization-management-employee.entity-DJH02MJJ.mjs.map +1 -0
  136. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs → acorex-modules-organization-management-employment-type.entity-Dw3TLMtD.mjs} +14 -42
  137. package/fesm2022/acorex-modules-organization-management-employment-type.entity-Dw3TLMtD.mjs.map +1 -0
  138. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs → acorex-modules-organization-management-org-chart.page-DxVm1V4w.mjs} +2 -2
  139. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs.map → acorex-modules-organization-management-org-chart.page-DxVm1V4w.mjs.map} +1 -1
  140. package/fesm2022/{acorex-modules-organization-management-role.entity-CruQeObl.mjs → acorex-modules-organization-management-position.entity-DT7EyvrR.mjs} +96 -79
  141. package/fesm2022/acorex-modules-organization-management-position.entity-DT7EyvrR.mjs.map +1 -0
  142. package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs → acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs} +19 -91
  143. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DpUTLjdp.mjs.map +1 -0
  144. package/fesm2022/{acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs → acorex-modules-organization-management-role.entity-BdjgFsgo.mjs} +68 -51
  145. package/fesm2022/acorex-modules-organization-management-role.entity-BdjgFsgo.mjs.map +1 -0
  146. package/fesm2022/{acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs → acorex-modules-organization-management-skill.entity-O1453j6I.mjs} +14 -105
  147. package/fesm2022/acorex-modules-organization-management-skill.entity-O1453j6I.mjs.map +1 -0
  148. package/fesm2022/{acorex-modules-organization-management-team.entity-DMCfAZsr.mjs → acorex-modules-organization-management-team.entity-DkRLWl0u.mjs} +13 -32
  149. package/fesm2022/acorex-modules-organization-management-team.entity-DkRLWl0u.mjs.map +1 -0
  150. package/fesm2022/acorex-modules-organization-management.mjs +15 -256
  151. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  152. package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs → acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs} +11 -21
  153. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs.map +1 -0
  154. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs → acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs} +20 -19
  155. package/fesm2022/acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs.map +1 -0
  156. package/fesm2022/{acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs → acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs} +9 -12
  157. package/fesm2022/acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs.map +1 -0
  158. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs → acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs} +9 -14
  159. package/fesm2022/acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs.map +1 -0
  160. package/fesm2022/{acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs → acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs} +9 -12
  161. package/fesm2022/acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs.map +1 -0
  162. package/fesm2022/{acorex-modules-party-management-party.entity-DAvqOPic.mjs → acorex-modules-party-management-party.entity-BwAAZRJc.mjs} +43 -43
  163. package/fesm2022/acorex-modules-party-management-party.entity-BwAAZRJc.mjs.map +1 -0
  164. package/fesm2022/acorex-modules-party-management.mjs +1 -1
  165. package/fesm2022/acorex-modules-platform-management.mjs +2 -2
  166. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  167. package/fesm2022/acorex-modules-project-management.mjs +60 -48
  168. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  169. package/fesm2022/{acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs → acorex-modules-report-management-report-create-root.component-DAOMkt_F.mjs} +2 -2
  170. package/fesm2022/acorex-modules-report-management-report-create-root.component-DAOMkt_F.mjs.map +1 -0
  171. package/fesm2022/acorex-modules-report-management.mjs +57 -58
  172. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  173. package/fesm2022/acorex-modules-scheduler-job-management.mjs +6 -7
  174. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  175. package/fesm2022/acorex-modules-security-management.mjs +27 -173
  176. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  177. package/fesm2022/{acorex-modules-task-management-task-board.page-DbpqZaC7.mjs → acorex-modules-task-management-task-board.page-BBbHu2jz.mjs} +311 -71
  178. package/fesm2022/acorex-modules-task-management-task-board.page-BBbHu2jz.mjs.map +1 -0
  179. package/fesm2022/acorex-modules-task-management.mjs +619 -241
  180. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  181. package/fesm2022/acorex-modules-text-template-management.mjs +4 -6
  182. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  183. package/fesm2022/acorex-modules-training-management.mjs +35 -35
  184. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  185. package/form-template-management/index.d.ts +6 -32
  186. package/organization-management/index.d.ts +3 -111
  187. package/package.json +9 -9
  188. package/security-management/index.d.ts +1 -4
  189. package/task-management/README.md +1 -1
  190. package/task-management/index.d.ts +80 -6
  191. package/fesm2022/acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs +0 -135
  192. package/fesm2022/acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs +0 -863
  194. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs.map +0 -1
  195. package/fesm2022/acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs.map +0 -1
  196. package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs +0 -680
  197. package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs.map +0 -1
  198. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs.map +0 -1
  200. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs.map +0 -1
  201. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs.map +0 -1
  202. package/fesm2022/acorex-modules-document-management-link-dialog.component-DKOod11R.mjs.map +0 -1
  203. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs.map +0 -1
  204. package/fesm2022/acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs.map +0 -1
  205. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs.map +0 -1
  206. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs.map +0 -1
  207. package/fesm2022/acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs +0 -245
  208. package/fesm2022/acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs.map +0 -1
  209. package/fesm2022/acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs.map +0 -1
  210. package/fesm2022/acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs.map +0 -1
  211. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs.map +0 -1
  212. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs +0 -544
  213. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs.map +0 -1
  214. package/fesm2022/acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs.map +0 -1
  215. package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +0 -1
  216. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +0 -1
  217. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +0 -1
  218. package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +0 -1
  219. package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +0 -1
  220. package/fesm2022/acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs +0 -305
  223. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +0 -526
  225. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +0 -1
  226. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs +0 -338
  228. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +0 -1
  230. package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +0 -1
  231. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs +0 -305
  232. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +0 -1
  233. package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +0 -1
  234. package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +0 -1
  235. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs.map +0 -1
  236. package/fesm2022/acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs.map +0 -1
  237. package/fesm2022/acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs.map +0 -1
  238. package/fesm2022/acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs.map +0 -1
  239. package/fesm2022/acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs.map +0 -1
  240. package/fesm2022/acorex-modules-party-management-party.entity-DAvqOPic.mjs.map +0 -1
  241. package/fesm2022/acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs.map +0 -1
  242. package/fesm2022/acorex-modules-task-management-task-board.page-DbpqZaC7.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs","sources":["../tmp-esm2022/contact-management/lib/const.js","../tmp-esm2022/contact-management/lib/entity.provider.js","../tmp-esm2022/contact-management/lib/menu.provider.js","../tmp-esm2022/contact-management/lib/search-command.provider.js","../tmp-esm2022/contact-management/lib/entities/contact-method-type/contact-method-type.service.js","../tmp-esm2022/contact-management/lib/entities/contact-method-type/contact-method-type.entity.js","../tmp-esm2022/contact-management/lib/entities/contact-method/contact-method.service.js","../tmp-esm2022/contact-management/lib/entities/contact-method/index.js","../tmp-esm2022/contact-management/lib/entities/emergency-contact-category/emergency-contact-category.service.js","../tmp-esm2022/contact-management/lib/entities/emergency-contact/emergency-contact.service.js","../tmp-esm2022/contact-management/lib/contact-management.module.js","../tmp-esm2022/contact-management/lib/permission.keys.js","../tmp-esm2022/contact-management/lib/permission-definition.provider.js","../tmp-esm2022/contact-management/lib/features/emergency-contacts/emergency-contacts-page.component.js","../tmp-esm2022/contact-management/acorex-modules-contact-management.js"],"sourcesContent":["const config = {\n i18n: 'contact-management',\n};\nexport const RootConfig = {\n config,\n module: {\n name: 'ContactManagement',\n title: '@contact-management:module-name',\n icon: 'fa-light fa-address-book',\n },\n entities: {\n contactMethodType: {\n name: 'ContactMethodType',\n title: '@contact-management:contact-method-type.individual-title',\n titlePlural: '@contact-management:contact-method-type.plural-title',\n icon: 'fa-light fa-list',\n },\n contactMethod: {\n name: 'ContactMethod',\n title: '@contact-management:contact-method.individual-title',\n titlePlural: '@contact-management:contact-method.plural-title',\n icon: 'fa-light fa-phone',\n },\n emergencyContactCategory: {\n name: 'EmergencyContactCategory',\n title: '@contact-management:emergency-contact-category.individual-title',\n titlePlural: '@contact-management:emergency-contact-category.plural-title',\n icon: 'fa-light fa-shield-halved',\n },\n emergencyContact: {\n name: 'EmergencyContact',\n title: '@contact-management:emergency-contact.individual-title',\n titlePlural: '@contact-management:emergency-contact.plural-title',\n icon: 'fa-light fa-siren',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29udGFjdC1tYW5hZ2VtZW50L3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsb0JBQW9CO0NBQzNCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTTtJQUNOLE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxJQUFJLEVBQUUsMEJBQTBCO0tBQ2pDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsaUJBQWlCLEVBQUU7WUFDakIsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixLQUFLLEVBQUUsMERBQTBEO1lBQ2pFLFdBQVcsRUFBRSxzREFBc0Q7WUFDbkUsSUFBSSxFQUFFLGtCQUFrQjtTQUN6QjtRQUNELGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxlQUFlO1lBQ3JCLEtBQUssRUFBRSxxREFBcUQ7WUFDNUQsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUUsbUJBQW1CO1NBQzFCO1FBQ0Qsd0JBQXdCLEVBQUU7WUFDeEIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxLQUFLLEVBQUUsaUVBQWlFO1lBQ3hFLFdBQVcsRUFBRSw2REFBNkQ7WUFDMUUsSUFBSSxFQUFFLDJCQUEyQjtTQUNsQztRQUNELGdCQUFnQixFQUFFO1lBQ2hCLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsS0FBSyxFQUFFLHdEQUF3RDtZQUMvRCxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLElBQUksRUFBRSxtQkFBbUI7U0FDMUI7S0FFRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gIGkxOG46ICdjb250YWN0LW1hbmFnZW1lbnQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFJvb3RDb25maWcgPSB7XG4gIGNvbmZpZyxcbiAgbW9kdWxlOiB7XG4gICAgbmFtZTogJ0NvbnRhY3RNYW5hZ2VtZW50JyxcbiAgICB0aXRsZTogJ0Bjb250YWN0LW1hbmFnZW1lbnQ6bW9kdWxlLW5hbWUnLFxuICAgIGljb246ICdmYS1saWdodCBmYS1hZGRyZXNzLWJvb2snLFxuICB9LFxuICBlbnRpdGllczoge1xuICAgIGNvbnRhY3RNZXRob2RUeXBlOiB7XG4gICAgICBuYW1lOiAnQ29udGFjdE1ldGhvZFR5cGUnLFxuICAgICAgdGl0bGU6ICdAY29udGFjdC1tYW5hZ2VtZW50OmNvbnRhY3QtbWV0aG9kLXR5cGUuaW5kaXZpZHVhbC10aXRsZScsXG4gICAgICB0aXRsZVBsdXJhbDogJ0Bjb250YWN0LW1hbmFnZW1lbnQ6Y29udGFjdC1tZXRob2QtdHlwZS5wbHVyYWwtdGl0bGUnLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWxpc3QnLFxuICAgIH0sXG4gICAgY29udGFjdE1ldGhvZDoge1xuICAgICAgbmFtZTogJ0NvbnRhY3RNZXRob2QnLFxuICAgICAgdGl0bGU6ICdAY29udGFjdC1tYW5hZ2VtZW50OmNvbnRhY3QtbWV0aG9kLmluZGl2aWR1YWwtdGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAY29udGFjdC1tYW5hZ2VtZW50OmNvbnRhY3QtbWV0aG9kLnBsdXJhbC10aXRsZScsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcGhvbmUnLFxuICAgIH0sXG4gICAgZW1lcmdlbmN5Q29udGFjdENhdGVnb3J5OiB7XG4gICAgICBuYW1lOiAnRW1lcmdlbmN5Q29udGFjdENhdGVnb3J5JyxcbiAgICAgIHRpdGxlOiAnQGNvbnRhY3QtbWFuYWdlbWVudDplbWVyZ2VuY3ktY29udGFjdC1jYXRlZ29yeS5pbmRpdmlkdWFsLXRpdGxlJyxcbiAgICAgIHRpdGxlUGx1cmFsOiAnQGNvbnRhY3QtbWFuYWdlbWVudDplbWVyZ2VuY3ktY29udGFjdC1jYXRlZ29yeS5wbHVyYWwtdGl0bGUnLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXNoaWVsZC1oYWx2ZWQnLFxuICAgIH0sXG4gICAgZW1lcmdlbmN5Q29udGFjdDoge1xuICAgICAgbmFtZTogJ0VtZXJnZW5jeUNvbnRhY3QnLFxuICAgICAgdGl0bGU6ICdAY29udGFjdC1tYW5hZ2VtZW50OmVtZXJnZW5jeS1jb250YWN0LmluZGl2aWR1YWwtdGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAY29udGFjdC1tYW5hZ2VtZW50OmVtZXJnZW5jeS1jb250YWN0LnBsdXJhbC10aXRsZScsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2lyZW4nLFxuICAgIH0sXG5cbiAgfSxcbn07ICJdfQ==","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMContactManagementEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.contactMethodType.name:\n return (await import('./entities/contact-method-type/contact-method-type.entity')).contactMethodTypeFactory(this.injector);\n case RootConfig.entities.contactMethod.name:\n return (await import('./entities/contact-method/contact-method.entity')).contactMethodFactory(this.injector);\n case RootConfig.entities.emergencyContactCategory.name:\n return (await import('./entities/emergency-contact-category/emergency-contact-category.entity')).emergencyContactCategoryFactory(this.injector);\n case RootConfig.entities.emergencyContact.name:\n return (await import('./entities/emergency-contact/emergency-contact.entity')).emergencyContactFactory(this.injector);\n }\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0eS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHckMsTUFBTSxPQUFPLGtDQUFrQztJQUQvQztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F5QnJDO0lBdkJRLE9BQU87UUFDWixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUUsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUk7b0JBQzdDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQywyREFBMkQsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3SCxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUk7b0JBQ3pDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRyxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSTtvQkFDcEQsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLHlFQUF5RSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xKLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJO29CQUM1QyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsdURBQXVELENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0F6QlUsa0NBQWtDO2tIQUFsQyxrQ0FBa0M7OzJGQUFsQyxrQ0FBa0M7a0JBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyLFxuICBBWFBFbnRpdHlEZWZpbml0aW9uUHJlbG9hZGVyLFxuICBBWFBFbnRpdHlQcmVsb2FkRW50aXR5LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29udGFjdE1hbmFnZW1lbnRFbnRpdHlQcm92aWRlciBpbXBsZW1lbnRzIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIsIEFYUEVudGl0eURlZmluaXRpb25QcmVsb2FkZXIge1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwdWJsaWMgcHJlbG9hZCgpOiBBWFBFbnRpdHlQcmVsb2FkRW50aXR5W10ge1xuICAgIGNvbnN0IG1vZHVsZSA9IFJvb3RDb25maWcubW9kdWxlLm5hbWU7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oT2JqZWN0LnZhbHVlcyhSb290Q29uZmlnLmVudGl0aWVzKSkubWFwKChlbnRpdHk6IGFueSkgPT4gKHtcbiAgICAgIG1vZHVsZTogbW9kdWxlLFxuICAgICAgZW50aXR5OiBlbnRpdHkubmFtZSxcbiAgICB9KSk7XG4gIH1cblxuICBhc3luYyBnZXQobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgICBpZiAobW9kdWxlTmFtZSA9PSBSb290Q29uZmlnLm1vZHVsZS5uYW1lKSB7XG4gICAgICBzd2l0Y2ggKGVudGl0eU5hbWUpIHtcbiAgICAgICAgY2FzZSBSb290Q29uZmlnLmVudGl0aWVzLmNvbnRhY3RNZXRob2RUeXBlLm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvY29udGFjdC1tZXRob2QtdHlwZS9jb250YWN0LW1ldGhvZC10eXBlLmVudGl0eScpKS5jb250YWN0TWV0aG9kVHlwZUZhY3RvcnkodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kLm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvY29udGFjdC1tZXRob2QvY29udGFjdC1tZXRob2QuZW50aXR5JykpLmNvbnRhY3RNZXRob2RGYWN0b3J5KHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZW1lcmdlbmN5Q29udGFjdENhdGVnb3J5Lm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvZW1lcmdlbmN5LWNvbnRhY3QtY2F0ZWdvcnkvZW1lcmdlbmN5LWNvbnRhY3QtY2F0ZWdvcnkuZW50aXR5JykpLmVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeUZhY3RvcnkodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5lbWVyZ2VuY3lDb250YWN0Lm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvZW1lcmdlbmN5LWNvbnRhY3QvZW1lcmdlbmN5LWNvbnRhY3QuZW50aXR5JykpLmVtZXJnZW5jeUNvbnRhY3RGYWN0b3J5KHRoaXMuaW5qZWN0b3IpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSAiXX0=","import { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport class AXMContactManagementMenuProvider {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const module = RootConfig.module;\n context.addItems([\n {\n priority: 9002,\n text: '@contact-management:root-menu',\n icon: module.icon,\n children: [\n {\n text: '@contact-management:contact-method-type.plural-title',\n path: this.entityService.createPath(module.name, RootConfig.entities.contactMethodType.name),\n icon: RootConfig.entities.contactMethodType.icon,\n priority: 5,\n },\n {\n text: ``,\n type: 'break',\n priority: 10,\n },\n {\n text: '@contact-management:emergency-contact-category.plural-title',\n path: this.entityService.createPath(module.name, RootConfig.entities.emergencyContactCategory.name),\n icon: RootConfig.entities.emergencyContactCategory.icon,\n priority: 11,\n },\n {\n text: '@contact-management:emergency-contact.plural-title',\n path: this.entityService.createPath(module.name, RootConfig.entities.emergencyContact.name),\n icon: RootConfig.entities.emergencyContact.icon,\n priority: 12,\n },\n {\n text: '@contact-management:emergency-contact.page.title',\n path: `${this.sessionService.application?.name}/emergency-contacts`,\n icon: 'fa-light fa-phone-rotary',\n priority: 13,\n },\n ],\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb250YWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZ0NBQWdDO0lBQTdDO1FBQ1Usa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBNENyRCxDQUFDO0lBMUNDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBK0I7UUFDM0MsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLHNEQUFzRDt3QkFDNUQsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7d0JBQzVGLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUk7d0JBQ2hELFFBQVEsRUFBRSxDQUFDO3FCQUNaO29CQUNEO3dCQUNFLElBQUksRUFBRSxFQUFFO3dCQUNSLElBQUksRUFBRSxPQUFPO3dCQUNiLFFBQVEsRUFBRSxFQUFFO3FCQUNiO29CQUNEO3dCQUNFLElBQUksRUFBRSw2REFBNkQ7d0JBQ25FLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO3dCQUNuRyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJO3dCQUN2RCxRQUFRLEVBQUUsRUFBRTtxQkFDYjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsb0RBQW9EO3dCQUMxRCxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQzt3QkFDM0YsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSTt3QkFDL0MsUUFBUSxFQUFFLEVBQUU7cUJBQ2I7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLGtEQUFrRDt3QkFDeEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxxQkFBcUI7d0JBQ25FLElBQUksRUFBRSwwQkFBMEI7d0JBQ2hDLFFBQVEsRUFBRSxFQUFFO3FCQUNiO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBNZW51UHJvdmlkZXIsIEFYUE1lbnVQcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29udGFjdE1hbmFnZW1lbnRNZW51UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBNZW51UHJvdmlkZXIge1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZHVsZSA9IFJvb3RDb25maWcubW9kdWxlO1xuXG4gICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICB7XG4gICAgICAgIHByaW9yaXR5OiA5MDAyLFxuICAgICAgICB0ZXh0OiAnQGNvbnRhY3QtbWFuYWdlbWVudDpyb290LW1lbnUnLFxuICAgICAgICBpY29uOiBtb2R1bGUuaWNvbixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnQGNvbnRhY3QtbWFuYWdlbWVudDpjb250YWN0LW1ldGhvZC10eXBlLnBsdXJhbC10aXRsZScsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuY29udGFjdE1ldGhvZFR5cGUuaWNvbixcbiAgICAgICAgICAgIHByaW9yaXR5OiA1LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogYGAsXG4gICAgICAgICAgICB0eXBlOiAnYnJlYWsnLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJ0Bjb250YWN0LW1hbmFnZW1lbnQ6ZW1lcmdlbmN5LWNvbnRhY3QtY2F0ZWdvcnkucGx1cmFsLXRpdGxlJyxcbiAgICAgICAgICAgIHBhdGg6IHRoaXMuZW50aXR5U2VydmljZS5jcmVhdGVQYXRoKG1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeS5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuZW1lcmdlbmN5Q29udGFjdENhdGVnb3J5Lmljb24sXG4gICAgICAgICAgICBwcmlvcml0eTogMTEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnQGNvbnRhY3QtbWFuYWdlbWVudDplbWVyZ2VuY3ktY29udGFjdC5wbHVyYWwtdGl0bGUnLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuZW1lcmdlbmN5Q29udGFjdC5uYW1lKSxcbiAgICAgICAgICAgIGljb246IFJvb3RDb25maWcuZW50aXRpZXMuZW1lcmdlbmN5Q29udGFjdC5pY29uLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDEyLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJ0Bjb250YWN0LW1hbmFnZW1lbnQ6ZW1lcmdlbmN5LWNvbnRhY3QucGFnZS50aXRsZScsXG4gICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS9lbWVyZ2VuY3ktY29udGFjdHNgLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBob25lLXJvdGFyeScsXG4gICAgICAgICAgICBwcmlvcml0eTogMTMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn0gIl19","import { AXPSearchCommandProvider } from '@acorex/platform/common';\nexport class AXMContactManagementSearchCommandProvider extends AXPSearchCommandProvider {\n constructor() {\n super(...arguments);\n this.commands = [\n // Commands will be added here following the correct pattern\n ];\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbW1hbmQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29udGFjdC1tYW5hZ2VtZW50L3NyYy9saWIvc2VhcmNoLWNvbW1hbmQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE1BQU0sT0FBTyx5Q0FBMEMsU0FBUSx3QkFBd0I7SUFBdkY7O1FBQ0UsYUFBUSxHQUFzQjtRQUM1Qiw0REFBNEQ7U0FDN0QsQ0FBQztJQUNKLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlYXJjaENvbW1hbmRQcm92aWRlciwgQVhQU2VhcmNoUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29udGFjdE1hbmFnZW1lbnRTZWFyY2hDb21tYW5kUHJvdmlkZXIgZXh0ZW5kcyBBWFBTZWFyY2hDb21tYW5kUHJvdmlkZXIge1xuICBjb21tYW5kczogQVhQU2VhcmNoUmVzdWx0W10gPSBbXG4gICAgLy8gQ29tbWFuZHMgd2lsbCBiZSBhZGRlZCBoZXJlIGZvbGxvd2luZyB0aGUgY29ycmVjdCBwYXR0ZXJuXG4gIF07XG59ICJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMContactMethodTypeService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMContactMethodTypeServiceImpl extends AXMContactMethodTypeService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.contactMethodType.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodTypeServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodTypeServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1tZXRob2QtdHlwZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2NvbnRhY3QtbWV0aG9kLXR5cGUvY29udGFjdC1tZXRob2QtdHlwZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHekMsTUFBTSxPQUFnQiwyQkFBNEIsU0FBUSx3QkFHekQ7Q0FBSTtBQUdMLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFDNUU7UUFDSSxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQzs4R0FIUSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRDb250YWN0TWV0aG9kVHlwZUVudGl0eU1vZGVsIH0gZnJvbSAnLi9jb250YWN0LW1ldGhvZC10eXBlLnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTUNvbnRhY3RNZXRob2RUeXBlU2VydmljZSBleHRlbmRzIEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxcbiAgICBzdHJpbmcsXG4gICAgQVhNQ29udGFjdE1hbmFnZW1lbnRDb250YWN0TWV0aG9kVHlwZUVudGl0eU1vZGVsXG4+IHsgfVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNQ29udGFjdE1ldGhvZFR5cGVTZXJ2aWNlSW1wbCBleHRlbmRzIEFYTUNvbnRhY3RNZXRob2RUeXBlU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS5uYW1lfWApO1xuICAgIH1cbn0gIl19","import { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../const';\nimport { AXMContactMethodTypeService } from './contact-method-type.service';\nexport async function contactMethodTypeFactory(injector) {\n const dataService = injector.get(AXMContactMethodTypeService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.contactMethodType.name,\n source: '',\n title: RootConfig.entities.contactMethodType.title,\n formats: {\n individual: RootConfig.entities.contactMethodType.title,\n plural: RootConfig.entities.contactMethodType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.basic-info',\n },\n {\n id: 'validation',\n title: '@general:terms.validation',\n },\n {\n id: 'settings',\n title: '@general:terms.settings',\n },\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'validationRegex',\n title: '@general:terms.validation-regex',\n groupId: 'validation',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$'\n }\n },\n },\n },\n {\n name: 'placeholder',\n title: '@general:terms.placeholder',\n groupId: 'validation',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'user@example.com'\n }\n },\n },\n },\n {\n name: 'isActive',\n title: '@general:terms.status.options.active',\n groupId: 'settings',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'validationRegex' },\n { name: 'placeholder' },\n { name: 'isActive' }\n ],\n commands: {\n create: {\n execute: async (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({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info' },\n { id: 'validation' },\n { id: 'settings' }\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'validationRegex', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'placeholder', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 4 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info' },\n { id: 'validation' },\n { id: 'settings' }\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'validationRegex', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'placeholder', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 4 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n { id: 'basic-info' },\n { id: 'validation' },\n { id: 'settings' }\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'validationRegex', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'placeholder', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 4 } } } },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: '@general:actions.create.title',\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: '@general:actions.delete-items.title',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: '@general:actions.view.title',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: '@general:actions.delete.title',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1tZXRob2QtdHlwZS5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29udGFjdC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvY29udGFjdC1tZXRob2QtdHlwZS9jb250YWN0LW1ldGhvZC10eXBlLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE1BQU0sQ0FBQyxLQUFLLFVBQVUsd0JBQXdCLENBQUMsUUFBa0I7SUFDN0QsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBRXBDLE1BQU0sU0FBUyxHQUFjO1FBQ3pCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSTtRQUNoRCxNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7UUFDbEQsT0FBTyxFQUFFO1lBQ0wsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSztZQUN2RCxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXO1lBQ3pELFlBQVks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LEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDMUM7d0JBQ0Q7NEJBQ0ksS0FBSyxFQUFFLCtCQUErQjs0QkFDdEMsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDMUM7cUJBQ0o7b0JBQ0QsS0FBSyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRTthQUNKO1NBQ0o7S0FDSixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBFbnRpdHlRdWVyeVR5cGUsIGNyZWF0ZUFsbFF1ZXJ5VmlldyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTUNvbnRhY3RNZXRob2RUeXBlU2VydmljZSB9IGZyb20gJy4vY29udGFjdC1tZXRob2QtdHlwZS5zZXJ2aWNlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnRhY3RNZXRob2RUeXBlRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1Db250YWN0TWV0aG9kVHlwZVNlcnZpY2UpO1xuICAgIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuXG4gICAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICAgICAgbmFtZTogUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS5uYW1lLFxuICAgICAgICBzb3VyY2U6ICcnLFxuICAgICAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS50aXRsZSxcbiAgICAgICAgZm9ybWF0czoge1xuICAgICAgICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS50aXRsZSxcbiAgICAgICAgICAgIHBsdXJhbDogUm9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kVHlwZS50aXRsZVBsdXJhbCxcbiAgICAgICAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAne3sgdGl0bGUgfX0nLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBSb290Q29uZmlnLm1vZHVsZS50aXRsZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGdyb3VwczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnYmFzaWMtaW5mbycsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5iYXNpYy1pbmZvJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICd2YWxpZGF0aW9uJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnZhbGlkYXRpb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3NldHRpbmdzJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnNldHRpbmdzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMudGl0bGUnLFxuICAgICAgICAgICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3ZhbGlkYXRpb25SZWdleCcsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy52YWxpZGF0aW9uLXJlZ2V4JyxcbiAgICAgICAgICAgICAgICBncm91cElkOiAndmFsaWRhdGlvbicsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9IH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdeW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXFxcLlthLXpBLVpdezIsfSQnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLnBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICBncm91cElkOiAndmFsaWRhdGlvbicsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IGZhbHNlIH0sIGlubGluZTogeyBlbmFibGVkOiBmYWxzZSB9IH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd1c2VyQGV4YW1wbGUuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdpc0FjdGl2ZScsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5zdGF0dXMub3B0aW9ucy5hY3RpdmUnLFxuICAgICAgICAgICAgICAgIGdyb3VwSWQ6ICdzZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBjb2x1bW5zOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICd0aXRsZScgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3ZhbGlkYXRpb25SZWdleCcgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3BsYWNlaG9sZGVyJyB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaXNBY3RpdmUnIH1cbiAgICAgICAgXSxcbiAgICAgICAgY29tbWFuZHM6IHtcbiAgICAgICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZGF0YVNlcnZpY2UuaW5zZXJ0T25lKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWxldGU6IHtcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZGVsZXRlT25lKGlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnVwZGF0ZU9uZShkYXRhLmlkLCBkYXRhKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcXVlcmllczoge1xuICAgICAgICAgICAgYnlLZXk6IHtcbiAgICAgICAgICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KHsgc2tpcDogZS5za2lwLCB0YWtlOiBlLnRha2UsIGZpbHRlcjogZS5maWx0ZXIgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuTGlzdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGludGVyZmFjZXM6IHtcbiAgICAgICAgICAgIG1hc3Rlcjoge1xuICAgICAgICAgICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgICAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGlkOiAndmFsaWRhdGlvbicgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWQ6ICdzZXR0aW5ncycgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5hbWU6ICd0aXRsZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDEgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3ZhbGlkYXRpb25SZWdleCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDIgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ3BsYWNlaG9sZGVyJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2LCBvcmRlcjogMyB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAnaXNBY3RpdmUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDMsIG9yZGVyOiA0IH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBpZDogJ3ZhbGlkYXRpb24nIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGlkOiAnc2V0dGluZ3MnIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiAxIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5hbWU6ICd2YWxpZGF0aW9uUmVnZXgnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5hbWU6ICdwbGFjZWhvbGRlcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDMgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2lzQWN0aXZlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAzLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAne3t0aXRsZX19JyxcbiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBpZDogJ3ZhbGlkYXRpb24nIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGlkOiAnc2V0dGluZ3MnIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiAxIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5hbWU6ICd2YWxpZGF0aW9uUmVnZXgnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYsIG9yZGVyOiAyIH0gfSB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5hbWU6ICdwbGFjZWhvbGRlcicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiwgb3JkZXI6IDMgfSB9IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbmFtZTogJ2lzQWN0aXZlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAzLCBvcmRlcjogNCB9IH0gfSB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5jcmVhdGUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdjcmVhdGUtZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjcmVhdGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMuZGVsZXRlLWl0ZW1zLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiAnZGVsZXRlLWVudGl0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOmFjdGlvbnMudmlldy50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogJ29wZW4tZW50aXR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDphY3Rpb25zLmRlbGV0ZS50aXRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB2aWV3czogW2NyZWF0ZUFsbFF1ZXJ5Vmlldyh7IHNvcnRzOiBbeyBuYW1lOiAndGl0bGUnLCBkaXI6ICdhc2MnIH1dIH0pXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVudGl0eURlZjtcbn0gIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMContactMethodService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMContactMethodServiceImpl extends AXMContactMethodService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.contactMethod.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactMethodServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1tZXRob2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb250YWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9jb250YWN0LW1ldGhvZC9jb250YWN0LW1ldGhvZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHekMsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSx3QkFHckQ7Q0FBSTtBQUdMLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx1QkFBdUI7SUFDcEU7UUFDSSxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OEdBSFEsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTUNvbnRhY3RNYW5hZ2VtZW50Q29udGFjdE1ldGhvZEVudGl0eU1vZGVsIH0gZnJvbSAnLi9jb250YWN0LW1ldGhvZC50eXBlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE1Db250YWN0TWV0aG9kU2VydmljZSBleHRlbmRzIEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxcbiAgICBzdHJpbmcsXG4gICAgQVhNQ29udGFjdE1hbmFnZW1lbnRDb250YWN0TWV0aG9kRW50aXR5TW9kZWxcbj4geyB9XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1Db250YWN0TWV0aG9kU2VydmljZUltcGwgZXh0ZW5kcyBBWE1Db250YWN0TWV0aG9kU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5jb250YWN0TWV0aG9kLm5hbWV9YCk7XG4gICAgfVxufSAiXX0=","export * from './contact-method.service';\nexport * from './contact-method.types';\n// Note: contact-method.entity.ts will reference contactMethodType lookup \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29udGFjdC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvY29udGFjdC1tZXRob2QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLDBFQUEwRSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1tZXRob2Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3QtbWV0aG9kLnR5cGVzJztcbi8vIE5vdGU6IGNvbnRhY3QtbWV0aG9kLmVudGl0eS50cyB3aWxsIHJlZmVyZW5jZSBjb250YWN0TWV0aG9kVHlwZSBsb29rdXAgIl19","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMEmergencyContactCategoryService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMEmergencyContactCategoryServiceImpl extends AXMEmergencyContactCategoryService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.emergencyContactCategory.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactCategoryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactCategoryServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactCategoryServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1lcmdlbmN5LWNvbnRhY3QtY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb250YWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9lbWVyZ2VuY3ktY29udGFjdC1jYXRlZ29yeS9lbWVyZ2VuY3ktY29udGFjdC1jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHekMsTUFBTSxPQUFnQixrQ0FBbUMsU0FBUSx3QkFHaEU7Q0FBSTtBQUdMLE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxrQ0FBa0M7SUFDMUY7UUFDSSxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQzs4R0FIUSxzQ0FBc0M7a0hBQXRDLHNDQUFzQzs7MkZBQXRDLHNDQUFzQztrQkFEbEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnlFbnRpdHlNb2RlbCB9IGZyb20gJy4vZW1lcmdlbmN5LWNvbnRhY3QtY2F0ZWdvcnkudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRW1lcmdlbmN5Q29udGFjdENhdGVnb3J5U2VydmljZSBleHRlbmRzIEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxcbiAgICBzdHJpbmcsXG4gICAgQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnlFbnRpdHlNb2RlbFxuPiB7IH1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeVNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRW1lcmdlbmN5Q29udGFjdENhdGVnb3J5U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5lbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnkubmFtZX1gKTtcbiAgICB9XG59ICJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMEmergencyContactService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMEmergencyContactServiceImpl extends AXMEmergencyContactService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.emergencyContact.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1lcmdlbmN5LWNvbnRhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb250YWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9lbWVyZ2VuY3ktY29udGFjdC9lbWVyZ2VuY3ktY29udGFjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHekMsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSx3QkFHeEQ7Q0FBSTtBQUdMLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwwQkFBMEI7SUFDMUU7UUFDSSxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs4R0FIUSw4QkFBOEI7a0hBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWwgfSBmcm9tICcuL2VtZXJnZW5jeS1jb250YWN0LnR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTUVtZXJnZW5jeUNvbnRhY3RTZXJ2aWNlIGV4dGVuZHMgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPFxuICAgIHN0cmluZyxcbiAgICBBWE1Db250YWN0TWFuYWdlbWVudEVtZXJnZW5jeUNvbnRhY3RFbnRpdHlNb2RlbFxuPiB7IH1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUVtZXJnZW5jeUNvbnRhY3RTZXJ2aWNlSW1wbCBleHRlbmRzIEFYTUVtZXJnZW5jeUNvbnRhY3RTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmVtZXJnZW5jeUNvbnRhY3QubmFtZX1gKTtcbiAgICB9XG59ICJdfQ==","import { inject, Injector, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, } from '@acorex/platform/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\n// Entity Providers\nimport { AXMContactManagementEntityProvider } from './entity.provider';\nimport { AXMContactManagementMenuProvider } from './menu.provider';\nimport { AXMContactManagementSearchCommandProvider } from './search-command.provider';\n// Services\nimport { AXMContactMethodTypeService, AXMContactMethodTypeServiceImpl } from './entities/contact-method-type';\nimport { AXMContactMethodService, AXMContactMethodServiceImpl } from './entities/contact-method';\nimport { AXMEmergencyContactCategoryService, AXMEmergencyContactCategoryServiceImpl } from './entities/emergency-contact-category';\nimport { AXMEmergencyContactService, AXMEmergencyContactServiceImpl } from './entities/emergency-contact';\nimport { RouterModule } from '@angular/router';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class AXMContactManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementModule, imports: [CommonModule, i1.RouterModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementModule, providers: [\n // Entity Provider\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMContactManagementEntityProvider,\n multi: true,\n },\n // Menu Provider\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMContactManagementMenuProvider,\n multi: true,\n },\n // Search Command Provider\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMContactManagementSearchCommandProvider,\n multi: true,\n },\n // Permission Provider\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n // Entity Services\n {\n provide: AXMContactMethodTypeService,\n useClass: AXMContactMethodTypeServiceImpl,\n },\n {\n provide: AXMContactMethodService,\n useClass: AXMContactMethodServiceImpl,\n },\n {\n provide: AXMEmergencyContactCategoryService,\n useClass: AXMEmergencyContactCategoryServiceImpl,\n },\n {\n provide: AXMEmergencyContactService,\n useClass: AXMEmergencyContactServiceImpl,\n },\n ], imports: [CommonModule,\n RouterModule.forChild([{\n path: ':app/emergency-contacts',\n component: AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => import('./features/emergency-contacts/emergency-contacts-page.component').then(m => m.AXMEmergencyContactsPageComponent)\n }\n ]\n }\n ])] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMContactManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n RouterModule.forChild([{\n path: ':app/emergency-contacts',\n component: AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => import('./features/emergency-contacts/emergency-contacts-page.component').then(m => m.AXMEmergencyContactsPageComponent)\n }\n ]\n }\n ]),\n ],\n providers: [\n // Entity Provider\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMContactManagementEntityProvider,\n multi: true,\n },\n // Menu Provider\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMContactManagementMenuProvider,\n multi: true,\n },\n // Search Command Provider\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMContactManagementSearchCommandProvider,\n multi: true,\n },\n // Permission Provider\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n // Entity Services\n {\n provide: AXMContactMethodTypeService,\n useClass: AXMContactMethodTypeServiceImpl,\n },\n {\n provide: AXMContactMethodService,\n useClass: AXMContactMethodServiceImpl,\n },\n {\n provide: AXMEmergencyContactCategoryService,\n useClass: AXMEmergencyContactCategoryServiceImpl,\n },\n {\n provide: AXMEmergencyContactService,\n useClass: AXMEmergencyContactServiceImpl,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb250YWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb250YWN0LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUNILGlCQUFpQixFQUNqQixtQkFBbUIsR0FDdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RSxtQkFBbUI7QUFDbkIsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdEYsV0FBVztBQUNYLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25JLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBd0V6RSxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQixZQWxFL0IsWUFBWTsrR0FrRVAsMEJBQTBCLGFBckR4QjtZQUNQLGtCQUFrQjtZQUNsQjtnQkFDSSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxRQUFRLEVBQUUsa0NBQWtDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNkO1lBRUQsZ0JBQWdCO1lBQ2hCO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFFRCwwQkFBMEI7WUFDMUI7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUVELHNCQUFzQjtZQUN0QjtnQkFDSSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7b0JBQ3BHLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUVELGtCQUFrQjtZQUVsQjtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUsK0JBQStCO2FBQzVDO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsUUFBUSxFQUFFLDJCQUEyQjthQUN4QztZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQ0FBa0M7Z0JBQzNDLFFBQVEsRUFBRSxzQ0FBc0M7YUFDbkQ7WUFDRDtnQkFDSSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsOEJBQThCO2FBQzNDO1NBQ0osWUFoRUcsWUFBWTtZQUNaLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbkIsSUFBSSxFQUFFLHlCQUF5QjtvQkFDL0IsU0FBUyxFQUFFLHNCQUFzQjtvQkFDakMsUUFBUSxFQUFFO3dCQUNOOzRCQUNJLElBQUksRUFBRSxFQUFFOzRCQUNSLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUVBQWlFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUM7eUJBQ2hKO3FCQUNKO2lCQUNKO2FBQ0EsQ0FBQzs7MkZBdURHLDBCQUEwQjtrQkFwRXRDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dDQUNuQixJQUFJLEVBQUUseUJBQXlCO2dDQUMvQixTQUFTLEVBQUUsc0JBQXNCO2dDQUNqQyxRQUFRLEVBQUU7b0NBQ047d0NBQ0ksSUFBSSxFQUFFLEVBQUU7d0NBQ1IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQztxQ0FDaEo7aUNBQ0o7NkJBQ0o7eUJBQ0EsQ0FBQztxQkFDTDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQjs0QkFDSSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDt3QkFFRCxnQkFBZ0I7d0JBQ2hCOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxnQ0FBZ0M7NEJBQzFDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUVELDBCQUEwQjt3QkFDMUI7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLHlDQUF5Qzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBRUQsc0JBQXNCO3dCQUN0Qjs0QkFDSSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0NBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQ0FDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7Z0NBQ3BHLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7NEJBQ2xDLENBQUM7NEJBQ0QsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBRUQsa0JBQWtCO3dCQUVsQjs0QkFDSSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsK0JBQStCO3lCQUM1Qzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxRQUFRLEVBQUUsMkJBQTJCO3lCQUN4Qzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxRQUFRLEVBQUUsc0NBQXNDO3lCQUNuRDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxRQUFRLEVBQUUsOEJBQThCO3lCQUMzQztxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQge1xuICAgIEFYUF9NRU5VX1BST1ZJREVSLFxuICAgIEFYUF9TRUFSQ0hfUFJPVklERVIsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG4vLyBFbnRpdHkgUHJvdmlkZXJzXG5pbXBvcnQgeyBBWE1Db250YWN0TWFuYWdlbWVudEVudGl0eVByb3ZpZGVyIH0gZnJvbSAnLi9lbnRpdHkucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRNZW51UHJvdmlkZXIgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRTZWFyY2hDb21tYW5kUHJvdmlkZXIgfSBmcm9tICcuL3NlYXJjaC1jb21tYW5kLnByb3ZpZGVyJztcblxuXG4vLyBTZXJ2aWNlc1xuaW1wb3J0IHsgQVhNQ29udGFjdE1ldGhvZFR5cGVTZXJ2aWNlLCBBWE1Db250YWN0TWV0aG9kVHlwZVNlcnZpY2VJbXBsIH0gZnJvbSAnLi9lbnRpdGllcy9jb250YWN0LW1ldGhvZC10eXBlJztcbmltcG9ydCB7IEFYTUNvbnRhY3RNZXRob2RTZXJ2aWNlLCBBWE1Db250YWN0TWV0aG9kU2VydmljZUltcGwgfSBmcm9tICcuL2VudGl0aWVzL2NvbnRhY3QtbWV0aG9kJztcbmltcG9ydCB7IEFYTUVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeVNlcnZpY2UsIEFYTUVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeVNlcnZpY2VJbXBsIH0gZnJvbSAnLi9lbnRpdGllcy9lbWVyZ2VuY3ktY29udGFjdC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBBWE1FbWVyZ2VuY3lDb250YWN0U2VydmljZSwgQVhNRW1lcmdlbmN5Q29udGFjdFNlcnZpY2VJbXBsIH0gZnJvbSAnLi9lbnRpdGllcy9lbWVyZ2VuY3ktY29udGFjdCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQUm9vdExheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL2RlZmF1bHQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKFt7XG4gICAgICAgICAgICBwYXRoOiAnOmFwcC9lbWVyZ2VuY3ktY29udGFjdHMnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBBWFBSb290TGF5b3V0Q29tcG9uZW50LFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZmVhdHVyZXMvZW1lcmdlbmN5LWNvbnRhY3RzL2VtZXJnZW5jeS1jb250YWN0cy1wYWdlLmNvbXBvbmVudCcpLnRoZW4obSA9PiBtLkFYTUVtZXJnZW5jeUNvbnRhY3RzUGFnZUNvbXBvbmVudClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLy8gRW50aXR5IFByb3ZpZGVyXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIsXG4gICAgICAgICAgICB1c2VDbGFzczogQVhNQ29udGFjdE1hbmFnZW1lbnRFbnRpdHlQcm92aWRlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuXG4gICAgICAgIC8vIE1lbnUgUHJvdmlkZXJcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICAgICAgICB1c2VDbGFzczogQVhNQ29udGFjdE1hbmFnZW1lbnRNZW51UHJvdmlkZXIsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcblxuICAgICAgICAvLyBTZWFyY2ggQ29tbWFuZCBQcm92aWRlclxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTUNvbnRhY3RNYW5hZ2VtZW50U2VhcmNoQ29tbWFuZFByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8gUGVybWlzc2lvbiBQcm92aWRlclxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBfUEVSTUlTU0lPTl9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IChhd2FpdCBpbXBvcnQoJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJykpLkFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBwcm92aWRlcihpbmplY3Rvcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8gRW50aXR5IFNlcnZpY2VzXG5cbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhNQ29udGFjdE1ldGhvZFR5cGVTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTUNvbnRhY3RNZXRob2RUeXBlU2VydmljZUltcGwsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYTUNvbnRhY3RNZXRob2RTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEFYTUNvbnRhY3RNZXRob2RTZXJ2aWNlSW1wbCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhNRW1lcmdlbmN5Q29udGFjdENhdGVnb3J5U2VydmljZSxcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBWE1FbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnlTZXJ2aWNlSW1wbCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhNRW1lcmdlbmN5Q29udGFjdFNlcnZpY2UsXG4gICAgICAgICAgICB1c2VDbGFzczogQVhNRW1lcmdlbmN5Q29udGFjdFNlcnZpY2VJbXBsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUNvbnRhY3RNYW5hZ2VtZW50TW9kdWxlIHsgfSAiXX0=","import { AXPSystemActionType } from \"@acorex/platform/core\";\nimport { RootConfig } from \"./const\";\nconst moduleKey = RootConfig.module.name;\nconst entitiesKey = RootConfig.entities;\nconst manageKey = AXPSystemActionType.Manage;\nconst viewKey = AXPSystemActionType.View;\nconst updateKey = AXPSystemActionType.Update;\nconst deleteKey = AXPSystemActionType.Delete;\nconst createKey = AXPSystemActionType.Create;\nexport const AXMPermissionsKeys = {\n ContactManagement: {\n Management: `${moduleKey}:${manageKey}`,\n ContactMethodTypes: {\n Management: `${moduleKey}:${entitiesKey.contactMethodType.name}:${manageKey}`,\n View: `${moduleKey}:${entitiesKey.contactMethodType.name}:${viewKey}`,\n Edit: `${moduleKey}:${entitiesKey.contactMethodType.name}:${updateKey}`,\n Delete: `${moduleKey}:${entitiesKey.contactMethodType.name}:${deleteKey}`,\n Create: `${moduleKey}:${entitiesKey.contactMethodType.name}:${createKey}`,\n },\n EmergencyContactCategories: {\n Management: `${moduleKey}:${entitiesKey.emergencyContactCategory.name}:${manageKey}`,\n View: `${moduleKey}:${entitiesKey.emergencyContactCategory.name}:${viewKey}`,\n Edit: `${moduleKey}:${entitiesKey.emergencyContactCategory.name}:${updateKey}`,\n Delete: `${moduleKey}:${entitiesKey.emergencyContactCategory.name}:${deleteKey}`,\n Create: `${moduleKey}:${entitiesKey.emergencyContactCategory.name}:${createKey}`,\n },\n EmergencyContacts: {\n Management: `${moduleKey}:${entitiesKey.emergencyContact.name}:${manageKey}`,\n View: `${moduleKey}:${entitiesKey.emergencyContact.name}:${viewKey}`,\n Edit: `${moduleKey}:${entitiesKey.emergencyContact.name}:${updateKey}`,\n Delete: `${moduleKey}:${entitiesKey.emergencyContact.name}:${deleteKey}`,\n Create: `${moduleKey}:${entitiesKey.emergencyContact.name}:${createKey}`,\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24ua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ3pDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDeEMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0FBQzdDLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQztBQUN6QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7QUFDN0MsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0FBQzdDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixpQkFBaUIsRUFBRTtRQUNmLFVBQVUsRUFBRSxHQUFHLFNBQVMsSUFBSSxTQUFTLEVBQUU7UUFFdkMsa0JBQWtCLEVBQUU7WUFDaEIsVUFBVSxFQUFFLEdBQUcsU0FBUyxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQzdFLElBQUksRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLE9BQU8sRUFBRTtZQUNyRSxJQUFJLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDdkUsTUFBTSxFQUFFLEdBQUcsU0FBUyxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQ3pFLE1BQU0sRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtTQUM1RTtRQUVELDBCQUEwQixFQUFFO1lBQ3hCLFVBQVUsRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUNwRixJQUFJLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDNUUsSUFBSSxFQUFFLEdBQUcsU0FBUyxJQUFJLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQzlFLE1BQU0sRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUNoRixNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksSUFBSSxTQUFTLEVBQUU7U0FDbkY7UUFFRCxpQkFBaUIsRUFBRTtZQUNmLFVBQVUsRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUM1RSxJQUFJLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDcEUsSUFBSSxFQUFFLEdBQUcsU0FBUyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQ3RFLE1BQU0sRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUN4RSxNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxTQUFTLEVBQUU7U0FDM0U7S0FFSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTeXN0ZW1BY3Rpb25UeXBlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gXCIuL2NvbnN0XCI7XG5cbmNvbnN0IG1vZHVsZUtleSA9IFJvb3RDb25maWcubW9kdWxlLm5hbWU7XG5jb25zdCBlbnRpdGllc0tleSA9IFJvb3RDb25maWcuZW50aXRpZXM7XG5jb25zdCBtYW5hZ2VLZXkgPSBBWFBTeXN0ZW1BY3Rpb25UeXBlLk1hbmFnZTtcbmNvbnN0IHZpZXdLZXkgPSBBWFBTeXN0ZW1BY3Rpb25UeXBlLlZpZXc7XG5jb25zdCB1cGRhdGVLZXkgPSBBWFBTeXN0ZW1BY3Rpb25UeXBlLlVwZGF0ZTtcbmNvbnN0IGRlbGV0ZUtleSA9IEFYUFN5c3RlbUFjdGlvblR5cGUuRGVsZXRlO1xuY29uc3QgY3JlYXRlS2V5ID0gQVhQU3lzdGVtQWN0aW9uVHlwZS5DcmVhdGU7XG5cblxuZXhwb3J0IGNvbnN0IEFYTVBlcm1pc3Npb25zS2V5cyA9IHtcbiAgICBDb250YWN0TWFuYWdlbWVudDoge1xuICAgICAgICBNYW5hZ2VtZW50OiBgJHttb2R1bGVLZXl9OiR7bWFuYWdlS2V5fWAsXG5cbiAgICAgICAgQ29udGFjdE1ldGhvZFR5cGVzOiB7XG4gICAgICAgICAgICBNYW5hZ2VtZW50OiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuY29udGFjdE1ldGhvZFR5cGUubmFtZX06JHttYW5hZ2VLZXl9YCxcbiAgICAgICAgICAgIFZpZXc6IGAke21vZHVsZUtleX06JHtlbnRpdGllc0tleS5jb250YWN0TWV0aG9kVHlwZS5uYW1lfToke3ZpZXdLZXl9YCxcbiAgICAgICAgICAgIEVkaXQ6IGAke21vZHVsZUtleX06JHtlbnRpdGllc0tleS5jb250YWN0TWV0aG9kVHlwZS5uYW1lfToke3VwZGF0ZUtleX1gLFxuICAgICAgICAgICAgRGVsZXRlOiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuY29udGFjdE1ldGhvZFR5cGUubmFtZX06JHtkZWxldGVLZXl9YCxcbiAgICAgICAgICAgIENyZWF0ZTogYCR7bW9kdWxlS2V5fToke2VudGl0aWVzS2V5LmNvbnRhY3RNZXRob2RUeXBlLm5hbWV9OiR7Y3JlYXRlS2V5fWAsXG4gICAgICAgIH0sXG5cbiAgICAgICAgRW1lcmdlbmN5Q29udGFjdENhdGVnb3JpZXM6IHtcbiAgICAgICAgICAgIE1hbmFnZW1lbnQ6IGAke21vZHVsZUtleX06JHtlbnRpdGllc0tleS5lbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnkubmFtZX06JHttYW5hZ2VLZXl9YCxcbiAgICAgICAgICAgIFZpZXc6IGAke21vZHVsZUtleX06JHtlbnRpdGllc0tleS5lbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnkubmFtZX06JHt2aWV3S2V5fWAsXG4gICAgICAgICAgICBFZGl0OiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuZW1lcmdlbmN5Q29udGFjdENhdGVnb3J5Lm5hbWV9OiR7dXBkYXRlS2V5fWAsXG4gICAgICAgICAgICBEZWxldGU6IGAke21vZHVsZUtleX06JHtlbnRpdGllc0tleS5lbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnkubmFtZX06JHtkZWxldGVLZXl9YCxcbiAgICAgICAgICAgIENyZWF0ZTogYCR7bW9kdWxlS2V5fToke2VudGl0aWVzS2V5LmVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yeS5uYW1lfToke2NyZWF0ZUtleX1gLFxuICAgICAgICB9LFxuXG4gICAgICAgIEVtZXJnZW5jeUNvbnRhY3RzOiB7XG4gICAgICAgICAgICBNYW5hZ2VtZW50OiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuZW1lcmdlbmN5Q29udGFjdC5uYW1lfToke21hbmFnZUtleX1gLFxuICAgICAgICAgICAgVmlldzogYCR7bW9kdWxlS2V5fToke2VudGl0aWVzS2V5LmVtZXJnZW5jeUNvbnRhY3QubmFtZX06JHt2aWV3S2V5fWAsXG4gICAgICAgICAgICBFZGl0OiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuZW1lcmdlbmN5Q29udGFjdC5uYW1lfToke3VwZGF0ZUtleX1gLFxuICAgICAgICAgICAgRGVsZXRlOiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuZW1lcmdlbmN5Q29udGFjdC5uYW1lfToke2RlbGV0ZUtleX1gLFxuICAgICAgICAgICAgQ3JlYXRlOiBgJHttb2R1bGVLZXl9OiR7ZW50aXRpZXNLZXkuZW1lcmdlbmN5Q29udGFjdC5uYW1lfToke2NyZWF0ZUtleX1gLFxuICAgICAgICB9LFxuXG4gICAgfSxcbn07ICJdfQ==","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { RootConfig } from './const';\nexport class AXMPermissionDefinitionProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async define(context) {\n const trans = async (key) => await this.translateService.translateAsync(key);\n const keys = AXMPermissionsKeys.ContactManagement;\n context.addGroup(keys.Management, await trans(RootConfig.module.title))\n // Contact Method Types Management\n .addPermission(keys.ContactMethodTypes.Management, await trans(RootConfig.entities.contactMethodType.title))\n .addChild(keys.ContactMethodTypes.View, await trans('@general:actions.view.permission'))\n .addChild(keys.ContactMethodTypes.Edit, await trans('@general:actions.edit.permission'))\n .addChild(keys.ContactMethodTypes.Delete, await trans('@general:actions.delete.permission'))\n .addChild(keys.ContactMethodTypes.Create, await trans('@general:actions.create.permission'))\n .endPermission()\n // Emergency Contact Categories Management\n .addPermission(keys.EmergencyContactCategories.Management, await trans(RootConfig.entities.emergencyContactCategory.title))\n .addChild(keys.EmergencyContactCategories.View, await trans('@general:actions.view.permission'))\n .addChild(keys.EmergencyContactCategories.Edit, await trans('@general:actions.edit.permission'))\n .addChild(keys.EmergencyContactCategories.Delete, await trans('@general:actions.delete.permission'))\n .addChild(keys.EmergencyContactCategories.Create, await trans('@general:actions.create.permission'))\n .endPermission()\n // Emergency Contacts Management\n .addPermission(keys.EmergencyContacts.Management, await trans(RootConfig.entities.emergencyContact.title))\n .addChild(keys.EmergencyContacts.View, await trans('@general:actions.view.permission'))\n .addChild(keys.EmergencyContacts.Edit, await trans('@general:actions.edit.permission'))\n .addChild(keys.EmergencyContacts.Delete, await trans('@general:actions.delete.permission'))\n .addChild(keys.EmergencyContacts.Create, await trans('@general:actions.create.permission'))\n .endPermission()\n .endGroup();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE1BQU0sT0FBTywrQkFBK0I7SUFHeEMsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUZyQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRzVFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQStDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRixNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUVsRCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxrQ0FBa0M7YUFDakMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzRyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2FBQ3ZGLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDdkYsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQzthQUMzRixRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQzNGLGFBQWEsRUFBRTtZQUNoQiwwQ0FBMEM7YUFDekMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMxSCxRQUFRLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2FBQy9GLFFBQVEsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDL0YsUUFBUSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQzthQUNuRyxRQUFRLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ25HLGFBQWEsRUFBRTtZQUNoQixnQ0FBZ0M7YUFDL0IsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN6RyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2FBQ3RGLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDdEYsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQzthQUMxRixRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQzFGLGFBQWEsRUFBRTthQUNmLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIsIEFYUFBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1QZXJtaXNzaW9uc0tleXMgfSBmcm9tICcuL3Blcm1pc3Npb24ua2V5cyc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi9jb25zdCc7XG5cbmV4cG9ydCBjbGFzcyBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIGltcGxlbWVudHMgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cbiAgICBhc3luYyBkZWZpbmUoY29udGV4dDogQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhrZXkpO1xuXG4gICAgICAgIGNvbnN0IGtleXMgPSBBWE1QZXJtaXNzaW9uc0tleXMuQ29udGFjdE1hbmFnZW1lbnQ7XG5cbiAgICAgICAgY29udGV4dC5hZGRHcm91cChrZXlzLk1hbmFnZW1lbnQsIGF3YWl0IHRyYW5zKFJvb3RDb25maWcubW9kdWxlLnRpdGxlKSlcbiAgICAgICAgICAgIC8vIENvbnRhY3QgTWV0aG9kIFR5cGVzIE1hbmFnZW1lbnRcbiAgICAgICAgICAgIC5hZGRQZXJtaXNzaW9uKGtleXMuQ29udGFjdE1ldGhvZFR5cGVzLk1hbmFnZW1lbnQsIGF3YWl0IHRyYW5zKFJvb3RDb25maWcuZW50aXRpZXMuY29udGFjdE1ldGhvZFR5cGUudGl0bGUpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuQ29udGFjdE1ldGhvZFR5cGVzLlZpZXcsIGF3YWl0IHRyYW5zKCdAZ2VuZXJhbDphY3Rpb25zLnZpZXcucGVybWlzc2lvbicpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuQ29udGFjdE1ldGhvZFR5cGVzLkVkaXQsIGF3YWl0IHRyYW5zKCdAZ2VuZXJhbDphY3Rpb25zLmVkaXQucGVybWlzc2lvbicpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuQ29udGFjdE1ldGhvZFR5cGVzLkRlbGV0ZSwgYXdhaXQgdHJhbnMoJ0BnZW5lcmFsOmFjdGlvbnMuZGVsZXRlLnBlcm1pc3Npb24nKSlcbiAgICAgICAgICAgIC5hZGRDaGlsZChrZXlzLkNvbnRhY3RNZXRob2RUeXBlcy5DcmVhdGUsIGF3YWl0IHRyYW5zKCdAZ2VuZXJhbDphY3Rpb25zLmNyZWF0ZS5wZXJtaXNzaW9uJykpXG4gICAgICAgICAgICAuZW5kUGVybWlzc2lvbigpXG4gICAgICAgICAgICAvLyBFbWVyZ2VuY3kgQ29udGFjdCBDYXRlZ29yaWVzIE1hbmFnZW1lbnRcbiAgICAgICAgICAgIC5hZGRQZXJtaXNzaW9uKGtleXMuRW1lcmdlbmN5Q29udGFjdENhdGVnb3JpZXMuTWFuYWdlbWVudCwgYXdhaXQgdHJhbnMoUm9vdENvbmZpZy5lbnRpdGllcy5lbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcnkudGl0bGUpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuRW1lcmdlbmN5Q29udGFjdENhdGVnb3JpZXMuVmlldywgYXdhaXQgdHJhbnMoJ0BnZW5lcmFsOmFjdGlvbnMudmlldy5wZXJtaXNzaW9uJykpXG4gICAgICAgICAgICAuYWRkQ2hpbGQoa2V5cy5FbWVyZ2VuY3lDb250YWN0Q2F0ZWdvcmllcy5FZGl0LCBhd2FpdCB0cmFucygnQGdlbmVyYWw6YWN0aW9ucy5lZGl0LnBlcm1pc3Npb24nKSlcbiAgICAgICAgICAgIC5hZGRDaGlsZChrZXlzLkVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yaWVzLkRlbGV0ZSwgYXdhaXQgdHJhbnMoJ0BnZW5lcmFsOmFjdGlvbnMuZGVsZXRlLnBlcm1pc3Npb24nKSlcbiAgICAgICAgICAgIC5hZGRDaGlsZChrZXlzLkVtZXJnZW5jeUNvbnRhY3RDYXRlZ29yaWVzLkNyZWF0ZSwgYXdhaXQgdHJhbnMoJ0BnZW5lcmFsOmFjdGlvbnMuY3JlYXRlLnBlcm1pc3Npb24nKSlcbiAgICAgICAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgICAgICAgIC8vIEVtZXJnZW5jeSBDb250YWN0cyBNYW5hZ2VtZW50XG4gICAgICAgICAgICAuYWRkUGVybWlzc2lvbihrZXlzLkVtZXJnZW5jeUNvbnRhY3RzLk1hbmFnZW1lbnQsIGF3YWl0IHRyYW5zKFJvb3RDb25maWcuZW50aXRpZXMuZW1lcmdlbmN5Q29udGFjdC50aXRsZSkpXG4gICAgICAgICAgICAuYWRkQ2hpbGQoa2V5cy5FbWVyZ2VuY3lDb250YWN0cy5WaWV3LCBhd2FpdCB0cmFucygnQGdlbmVyYWw6YWN0aW9ucy52aWV3LnBlcm1pc3Npb24nKSlcbiAgICAgICAgICAgIC5hZGRDaGlsZChrZXlzLkVtZXJnZW5jeUNvbnRhY3RzLkVkaXQsIGF3YWl0IHRyYW5zKCdAZ2VuZXJhbDphY3Rpb25zLmVkaXQucGVybWlzc2lvbicpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuRW1lcmdlbmN5Q29udGFjdHMuRGVsZXRlLCBhd2FpdCB0cmFucygnQGdlbmVyYWw6YWN0aW9ucy5kZWxldGUucGVybWlzc2lvbicpKVxuICAgICAgICAgICAgLmFkZENoaWxkKGtleXMuRW1lcmdlbmN5Q29udGFjdHMuQ3JlYXRlLCBhd2FpdCB0cmFucygnQGdlbmVyYWw6YWN0aW9ucy5jcmVhdGUucGVybWlzc2lvbicpKVxuICAgICAgICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgICAgICAgLmVuZEdyb3VwKCk7XG4gICAgfVxufSAiXX0=","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXMEmergencyContactService } from '../../entities/emergency-contact/emergency-contact.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/loading\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@angular/common\";\nexport class AXMEmergencyContactsPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---- Services & Dependencies ----\n this.emergencyContactService = inject(AXMEmergencyContactService);\n //#endregion\n //#region ---- Class Properties ----\n this.allContacts = signal([], ...(ngDevMode ? [{ debugName: \"allContacts\" }] : []));\n this.loading = signal(false, ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n this.isLargeScreen = signal(true, ...(ngDevMode ? [{ debugName: \"isLargeScreen\" }] : []));\n this.expandedContactIds = signal(new Set(), ...(ngDevMode ? [{ debugName: \"expandedContactIds\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n this.quickDialContacts = computed(() => this.allContacts()\n .filter((contact) => contact.isQuickDial && contact.isActive)\n .sort((a, b) => (a.priority || 0) - (b.priority || 0)), ...(ngDevMode ? [{ debugName: \"quickDialContacts\" }] : []));\n this.dashboardContacts = computed(() => this.allContacts()\n .filter((contact) => contact.showOnDashboard && contact.isActive && !contact.isQuickDial)\n .sort((a, b) => (a.priority || 0) - (b.priority || 0)), ...(ngDevMode ? [{ debugName: \"dashboardContacts\" }] : []));\n this.allActiveContacts = computed(() => this.allContacts()\n .filter((contact) => contact.isActive)\n .sort((a, b) => (a.priority || 0) - (b.priority || 0)), ...(ngDevMode ? [{ debugName: \"allActiveContacts\" }] : []));\n // Fallback: show all contacts if filtered lists are empty\n this.displayContacts = computed(() => {\n const allContacts = this.allContacts();\n // If we have contacts but none are marked as active, show all\n if (allContacts.length > 0 && this.allActiveContacts().length === 0) {\n return allContacts.sort((a, b) => (a.priority || 0) - (b.priority || 0));\n }\n return this.allActiveContacts();\n }, ...(ngDevMode ? [{ debugName: \"displayContacts\" }] : []));\n }\n //#endregion\n onResize() {\n this.checkScreenSize();\n }\n checkScreenSize() {\n this.isLargeScreen.set(window.innerWidth >= 768);\n }\n //#region ---- Lifecycle Methods ----\n async ngOnInit() {\n super.ngOnInit();\n this.checkScreenSize();\n await this.loadEmergencyContacts();\n }\n //#endregion\n //#region ---- Data Loading ----\n async loadEmergencyContacts() {\n this.loading.set(true);\n try {\n const result = await this.emergencyContactService.query({\n skip: 0,\n take: 1000,\n sort: [{ field: 'priority', dir: 'asc' }],\n });\n this.allContacts.set(result.items);\n }\n catch (error) {\n console.error('Failed to load emergency contacts:', error);\n }\n finally {\n this.loading.set(false);\n }\n }\n //#endregion\n //#region ---- UI Handlers ----\n toggleExpanded(contactId) {\n this.expandedContactIds.update((current) => {\n const next = new Set(current);\n if (next.has(contactId)) {\n next.delete(contactId);\n }\n else {\n next.add(contactId);\n }\n return next;\n });\n }\n isExpanded(contactId) {\n return this.expandedContactIds().has(contactId);\n }\n handleCallContact(contact) {\n if (contact.phoneNumber) {\n window.open(`tel:${contact.phoneNumber}`, '_self');\n }\n }\n handleTextContact(contact) {\n const textNumber = contact.textNumber || contact.phoneNumber;\n if (textNumber) {\n window.open(`sms:${textNumber}`, '_self');\n }\n }\n handleVisitWebsite(contact) {\n if (contact.website) {\n window.open(contact.website, '_blank');\n }\n }\n async handleCopyNumber(contact) {\n if (contact.phoneNumber && navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(contact.phoneNumber);\n // You could add a toast notification here\n }\n catch (error) {\n console.error('Failed to copy number:', error);\n }\n }\n }\n handleRefresh() {\n this.loadEmergencyContacts();\n }\n getPrimaryAction(contact) {\n if (contact.isTextCapable && !!contact.textNumber && !contact.requiresConfirmation) {\n return 'text';\n }\n return 'call';\n }\n performPrimaryAction(contact) {\n const action = this.getPrimaryAction(contact);\n if (action === 'text') {\n this.handleTextContact(contact);\n }\n else {\n this.handleCallContact(contact);\n }\n }\n getPrimaryActionLabel(contact) {\n return this.getPrimaryAction(contact) === 'text' ? 'Text Now' : 'Call Now';\n }\n getPrimaryActionColor(contact) {\n return this.getPrimaryAction(contact) === 'text' ? 'primary' : 'danger';\n }\n //#endregion\n //#region ---- Utility Methods ----\n getCoverageText(contact) {\n const coverage = [];\n if (contact.isNational)\n coverage.push('National');\n if (contact.isRegional)\n coverage.push('Regional');\n if (contact.isLocal)\n coverage.push('Local');\n return coverage.join(', ') || 'Unknown';\n }\n getCapabilitiesText(contact) {\n const capabilities = [];\n if (contact.isTextCapable)\n capabilities.push('Text');\n if (contact.isVideoCallCapable)\n capabilities.push('Video');\n return capabilities.join(', ') || 'Voice Only';\n }\n getPriorityColor(priority) {\n if (priority <= 1)\n return 'danger';\n if (priority <= 3)\n return 'warning';\n if (priority <= 5)\n return 'primary';\n return 'secondary';\n }\n //#endregion\n //#region ---- Page Metadata Overrides ----\n async getPageTitle() {\n return 'Emergency Contacts & Quick Dial';\n }\n async getPageDescription() {\n return 'Access emergency contacts and important numbers quickly';\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: 'Contact Management',\n },\n ];\n }\n async getSecondaryMenuItems() {\n return [\n {\n title: 'Refresh',\n icon: 'fa-light fa-refresh',\n color: 'secondary',\n command: {\n name: 'refresh',\n },\n },\n ];\n }\n async execute(command) {\n if (command.name === 'refresh') {\n this.handleRefresh();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactsPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXMEmergencyContactsPageComponent, isStandalone: true, selector: \"axm-emergency-contacts-page\", host: { listeners: { \"window:resize\": \"onResize()\" } }, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMEmergencyContactsPageComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"ax-flex ax-items-center ax-justify-center ax-py-8\\\">\\n <ax-loading>Loading emergency contacts...</ax-loading>\\n </div>\\n } @else {\\n <div class=\\\"ax-space-y-6 ax-p-4\\\">\\n <!-- Quick Dial Section -->\\n @if (quickDialContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone-rotary\\\" class=\\\"ax-text-danger\\\"></ax-icon>\\n Quick Dial\\n </h2>\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 lg:ax-grid-cols-3 xl:ax-grid-cols-4 ax-gap-4\\\">\\n @for (contact of quickDialContacts(); track contact.id) {\\n <div\\n class=\\\"emergency-contact-quick-dial ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\"\\n [style.--priority-color]=\\\"'var(--ax-sys-color-' + getPriorityColor(contact.priority) + ')' + ''\\\"\\n >\\n <!-- Compact Header with Primary Action -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-lg ax-font-semibold ax-truncate ax-text-default\\\">\\n {{ contact.name }}\\n </h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-sm ax-text-muted ax-truncate\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [size]=\\\"'small'\\\"\\n [look]=\\\"'filled'\\\"\\n [text]=\\\"getPrimaryActionLabel(contact)\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible Details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-pt-3 ax-space-y-3\\\">\\n <!-- Primary Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary ax-w-4\\\"></ax-icon>\\n <span class=\\\"contact-info-text ax-text-sm ax-font-mono ax-flex-1\\\">{{\\n contact.phoneNumber\\n }}</span>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [size]=\\\"'small'\\\"\\n [look]=\\\"'ghost'\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <!-- Capabilities -->\\n <div class=\\\"contact-info-text ax-flex ax-items-center ax-gap-2 ax-text-xs ax-text-muted\\\">\\n <ax-icon icon=\\\"fa-light fa-info-circle\\\" class=\\\"ax-w-4\\\"></ax-icon>\\n <span>{{ getCapabilitiesText(contact) }}</span>\\n </div>\\n\\n <!-- Availability -->\\n @if (contact.availability) {\\n <div class=\\\"contact-info-text ax-flex ax-items-center ax-gap-2 ax-text-xs ax-text-muted\\\">\\n <ax-icon icon=\\\"fa-light fa-clock\\\" class=\\\"ax-w-4\\\"></ax-icon>\\n <span class=\\\"ax-truncate\\\">{{ contact.availability }}</span>\\n </div>\\n }\\n\\n @if (contact.requiresConfirmation) {\\n <div class=\\\"ax-p-2 ax-rounded ax-bg-warning-50 ax-border ax-border-warning-200\\\">\\n <p class=\\\"ax-text-xs ax-text-warning-800 ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon icon=\\\"fa-light fa-triangle-exclamation\\\"></ax-icon>\\n This contact requires confirmation before calling\\n </p>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n <!-- Dashboard Contacts Section -->\\n @if (dashboardContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-tachometer-alt\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n All Emergency Contacts\\n </h2>\\n <div>\\n <div class=\\\"ax-space-y-4\\\">\\n @for (contact of dashboardContacts(); track contact.id) {\\n <div class=\\\"emergency-contact-detailed ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\">\\n <!-- Compact header -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-mb-3 ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-xl ax-font-semibold ax-text-default\\\">{{ contact.name }}</h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-muted\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [look]=\\\"'filled'\\\"\\n [size]=\\\"'small'\\\"\\n [text]=\\\"getPrimaryActionLabel(contact)\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible Details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-grid ax-grid-cols-1 lg:ax-grid-cols-3 ax-gap-4 ax-items-start\\\">\\n <!-- Contact Info -->\\n <div class=\\\"lg:ax-col-span-2\\\">\\n @if (contact.description) {\\n <p class=\\\"ax-text-muted ax-mb-4\\\">{{ contact.description }}</p>\\n }\\n\\n <!-- Contact Methods Grid -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 ax-gap-3 ax-mb-4\\\">\\n <!-- Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.phoneNumber }}</span>\\n </div>\\n\\n <!-- Text Number -->\\n @if (contact.textNumber) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-message\\\" class=\\\"ax-text-secondary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.textNumber }}</span>\\n </div>\\n }\\n\\n <!-- Email -->\\n @if (contact.email) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-envelope\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n <span>{{ contact.email }}</span>\\n </div>\\n }\\n\\n <!-- Website -->\\n @if (contact.website) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-globe\\\" class=\\\"ax-text-accent\\\"></ax-icon>\\n <a [href]=\\\"contact.website\\\" target=\\\"_blank\\\" class=\\\"ax-text-accent ax-hover:underline\\\">\\n Website\\n </a>\\n </div>\\n }\\n </div>\\n\\n <!-- Coverage & Capabilities -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-3 ax-gap-3 ax-text-sm\\\">\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Coverage:</strong>\\n <p>{{ getCoverageText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Capabilities:</strong>\\n <p>{{ getCapabilitiesText(contact) }}</p>\\n </div>\\n @if (contact.availability) {\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Availability:</strong>\\n <p>{{ contact.availability }}</p>\\n </div>\\n }\\n </div>\\n </div>\\n\\n <!-- Secondary actions and meta -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3\\\">\\n <!-- Secondary Actions -->\\n <div class=\\\"ax-flex ax-gap-2\\\">\\n @if (contact.website) {\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleVisitWebsite(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-external-link\\\"></ax-icon>\\n </ax-button>\\n }\\n\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <!-- Warnings -->\\n @if (contact.requiresConfirmation) {\\n <div class=\\\"ax-p-3 ax-rounded ax-bg-warning-50 ax-border ax-border-warning-200\\\">\\n <p class=\\\"ax-text-xs ax-text-warning-800 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-triangle-exclamation\\\"></ax-icon>\\n This contact requires confirmation before calling\\n </p>\\n </div>\\n }\\n\\n @if (contact.lastVerified) {\\n <div class=\\\"ax-text-xs ax-text-muted\\\">\\n <strong>Last Verified:</strong>\\n <p>{{ contact.lastVerified | date }}</p>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n }\\n\\n <!-- Fallback: Show all contacts if no filtered contacts are available -->\\n @if (quickDialContacts().length === 0 && dashboardContacts().length === 0 && displayContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-list\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n All Emergency Contacts\\n </h2>\\n <div class=\\\"ax-space-y-4\\\">\\n @for (contact of displayContacts(); track contact.id) {\\n <div class=\\\"emergency-contact-detailed ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\">\\n <!-- Compact header -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-mb-3 ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-xl ax-font-semibold ax-text-default\\\">{{ contact.name }}</h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-muted\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [look]=\\\"'filled'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n {{ getPrimaryActionLabel(contact) }}\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-grid ax-grid-cols-1 lg:ax-grid-cols-3 ax-gap-4 ax-items-start\\\">\\n <!-- Contact Info -->\\n <div class=\\\"lg:ax-col-span-2\\\">\\n @if (contact.description) {\\n <p class=\\\"ax-text-muted ax-mb-4\\\">{{ contact.description }}</p>\\n }\\n\\n <!-- Contact Methods Grid -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 ax-gap-3 ax-mb-4\\\">\\n <!-- Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.phoneNumber }}</span>\\n </div>\\n\\n <!-- Email -->\\n @if (contact.email) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-envelope\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n <span>{{ contact.email }}</span>\\n </div>\\n }\\n\\n <!-- Website -->\\n @if (contact.website) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-globe\\\" class=\\\"ax-text-accent\\\"></ax-icon>\\n <a [href]=\\\"contact.website\\\" target=\\\"_blank\\\" class=\\\"ax-text-accent ax-hover:underline\\\">\\n Website\\n </a>\\n </div>\\n }\\n </div>\\n\\n <!-- Status Info -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-3 ax-gap-3 ax-text-sm\\\">\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Coverage:</strong>\\n <p>{{ getCoverageText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Capabilities:</strong>\\n <p>{{ getCapabilitiesText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Status:</strong>\\n <p class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <span [class]=\\\"contact.isActive ? 'ax-text-success' : 'ax-text-danger'\\\">\\n {{ contact.isActive ? 'Active' : 'Inactive' }}\\n </span>\\n @if (contact.isVerified) {\\n <ax-icon icon=\\\"fa-light fa-check-circle\\\" class=\\\"ax-text-success\\\"></ax-icon>\\n }\\n </p>\\n </div>\\n </div>\\n </div>\\n\\n <!-- Secondary Actions -->\\n <div class=\\\"ax-flex ax-gap-2\\\">\\n @if (contact.website) {\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleVisitWebsite(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-external-link\\\"></ax-icon>\\n </ax-button>\\n }\\n\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n <!-- No Contacts State -->\\n @if (allContacts().length === 0 && !loading()) {\\n <div class=\\\"ax-text-center ax-py-12\\\">\\n <ax-icon icon=\\\"fa-light fa-phone-slash\\\" class=\\\"ax-text-6xl ax-text-muted ax-mb-4\\\"></ax-icon>\\n <h3 class=\\\"ax-text-xl ax-font-medium ax-text-muted ax-mb-2\\\">No emergency contacts available</h3>\\n </div>\\n }\\n </div>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\", styles: [\"axm-emergency-contacts-page{display:block;width:100%;height:100%}axm-emergency-contacts-page .ax-space-y-6.ax-p-4{max-width:1200px;margin:0 auto;padding-left:1rem;padding-right:1rem}@media (min-width: 768px){axm-emergency-contacts-page .ax-space-y-6.ax-p-4{padding-left:1.5rem;padding-right:1.5rem}}axm-emergency-contacts-page h2{margin-bottom:1.25rem;color:var(--ax-sys-color-primary);border-bottom:1px solid var(--ax-sys-color-border);padding-bottom:.5rem}axm-emergency-contacts-page h2 ax-icon{margin-right:.5rem}@media (min-width: 768px){axm-emergency-contacts-page h2 ax-icon{margin-right:.75rem}}axm-emergency-contacts-page .emergency-contact-quick-dial{position:relative;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;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));animation-duration:.2s;border:1px solid var(--ax-sys-color-outline-variant);min-height:140px}axm-emergency-contacts-page .emergency-contact-quick-dial:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transform:translateY(-2px);border-color:var(--priority-color, var(--ax-sys-color-primary))}axm-emergency-contacts-page .emergency-contact-quick-dial h3{color:var(--ax-sys-color-on-surface);margin-bottom:.125rem;font-size:1rem;line-height:1.5rem;font-weight:600}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-quick-dial h3{font-size:1.125rem;line-height:1.75rem}}axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{font-size:.75rem;line-height:1rem;font-weight:500}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{font-size:.875rem;line-height:1.25rem}}axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{min-height:30px}axm-emergency-contacts-page .emergency-contact-detailed{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;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));animation-duration:.2s;border:1px solid var(--ax-sys-color-outline-variant)}axm-emergency-contacts-page .emergency-contact-detailed:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transform:translateY(-1px);border-color:var(--ax-sys-color-primary)}axm-emergency-contacts-page .emergency-contact-detailed h3{color:var(--ax-sys-color-on-surface);font-size:1.125rem;line-height:1.75rem;font-weight:600}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-detailed h3{font-size:1.25rem;line-height:1.75rem}}axm-emergency-contacts-page .emergency-contact-detailed ax-icon{flex-shrink:0}@media (min-width: 640px){axm-emergency-contacts-page .emergency-contact-detailed .ax-grid-cols-1.sm\\\\\\\\:ax-grid-cols-2>div{min-width:0px}}@media (min-width: 1024px){axm-emergency-contacts-page .emergency-contact-detailed .ax-flex.ax-flex-col.ax-gap-3{position:-webkit-sticky;position:sticky;top:1rem}}axm-emergency-contacts-page ax-loading{margin-left:auto;margin-right:auto}axm-emergency-contacts-page .ax-text-center.ax-py-12 ax-icon{margin-left:auto;margin-right:auto;display:block}axm-emergency-contacts-page ax-badge[data-color=danger]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=warning]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=primary]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=secondary]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-secondary-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-secondary-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-secondary-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page .ax-bg-warning-50 ax-icon{flex-shrink:0}axm-emergency-contacts-page .ax-font-mono{letter-spacing:.025em}@media (min-width: 640px){axm-emergency-contacts-page axp-layout-content .ax-gap-4{gap:1.5rem}}axm-emergency-contacts-page ax-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}axm-emergency-contacts-page ax-button:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}axm-emergency-contacts-page ax-button:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}axm-emergency-contacts-page ax-button[data-color=danger]{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-button[data-color=danger]:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-icon.ax-w-4{height:1rem}axm-emergency-contacts-page ax-icon.ax-text-6xl{height:6rem;width:6rem}@media (max-width: 640px){axm-emergency-contacts-page .ax-grid-cols-1 .ax-gap-3{gap:.5rem}axm-emergency-contacts-page .emergency-contact-quick-dial .contact-info-text{font-size:.75rem;line-height:1rem}}@media print{axm-emergency-contacts-page .emergency-contact-quick-dial,axm-emergency-contacts-page .emergency-contact-detailed{break-inside:avoid;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-button{display:none}axm-emergency-contacts-page .ax-bg-warning-50{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}}@media (prefers-contrast: high){axm-emergency-contacts-page .emergency-contact-quick-dial,axm-emergency-contacts-page .emergency-contact-detailed{border-width:2px}axm-emergency-contacts-page ax-badge{border-width:2px}}@media (prefers-reduced-motion: reduce){axm-emergency-contacts-page *{transition-property:none}axm-emergency-contacts-page ax-button:hover,axm-emergency-contacts-page .emergency-contact-quick-dial:hover{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.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: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i3.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"component\", type: 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: \"pipe\", type: i5.DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMEmergencyContactsPageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-emergency-contacts-page', imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBadgeModule,\n AXTranslationModule,\n AXFormatModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n ], host: {\n '(window:resize)': 'onResize()'\n }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMEmergencyContactsPageComponent,\n },\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-content>\\n <!-- Loading State -->\\n @if (loading()) {\\n <div class=\\\"ax-flex ax-items-center ax-justify-center ax-py-8\\\">\\n <ax-loading>Loading emergency contacts...</ax-loading>\\n </div>\\n } @else {\\n <div class=\\\"ax-space-y-6 ax-p-4\\\">\\n <!-- Quick Dial Section -->\\n @if (quickDialContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone-rotary\\\" class=\\\"ax-text-danger\\\"></ax-icon>\\n Quick Dial\\n </h2>\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 lg:ax-grid-cols-3 xl:ax-grid-cols-4 ax-gap-4\\\">\\n @for (contact of quickDialContacts(); track contact.id) {\\n <div\\n class=\\\"emergency-contact-quick-dial ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\"\\n [style.--priority-color]=\\\"'var(--ax-sys-color-' + getPriorityColor(contact.priority) + ')' + ''\\\"\\n >\\n <!-- Compact Header with Primary Action -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-lg ax-font-semibold ax-truncate ax-text-default\\\">\\n {{ contact.name }}\\n </h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-sm ax-text-muted ax-truncate\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [size]=\\\"'small'\\\"\\n [look]=\\\"'filled'\\\"\\n [text]=\\\"getPrimaryActionLabel(contact)\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible Details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-pt-3 ax-space-y-3\\\">\\n <!-- Primary Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary ax-w-4\\\"></ax-icon>\\n <span class=\\\"contact-info-text ax-text-sm ax-font-mono ax-flex-1\\\">{{\\n contact.phoneNumber\\n }}</span>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [size]=\\\"'small'\\\"\\n [look]=\\\"'ghost'\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <!-- Capabilities -->\\n <div class=\\\"contact-info-text ax-flex ax-items-center ax-gap-2 ax-text-xs ax-text-muted\\\">\\n <ax-icon icon=\\\"fa-light fa-info-circle\\\" class=\\\"ax-w-4\\\"></ax-icon>\\n <span>{{ getCapabilitiesText(contact) }}</span>\\n </div>\\n\\n <!-- Availability -->\\n @if (contact.availability) {\\n <div class=\\\"contact-info-text ax-flex ax-items-center ax-gap-2 ax-text-xs ax-text-muted\\\">\\n <ax-icon icon=\\\"fa-light fa-clock\\\" class=\\\"ax-w-4\\\"></ax-icon>\\n <span class=\\\"ax-truncate\\\">{{ contact.availability }}</span>\\n </div>\\n }\\n\\n @if (contact.requiresConfirmation) {\\n <div class=\\\"ax-p-2 ax-rounded ax-bg-warning-50 ax-border ax-border-warning-200\\\">\\n <p class=\\\"ax-text-xs ax-text-warning-800 ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon icon=\\\"fa-light fa-triangle-exclamation\\\"></ax-icon>\\n This contact requires confirmation before calling\\n </p>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n <!-- Dashboard Contacts Section -->\\n @if (dashboardContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-tachometer-alt\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n All Emergency Contacts\\n </h2>\\n <div>\\n <div class=\\\"ax-space-y-4\\\">\\n @for (contact of dashboardContacts(); track contact.id) {\\n <div class=\\\"emergency-contact-detailed ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\">\\n <!-- Compact header -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-mb-3 ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-xl ax-font-semibold ax-text-default\\\">{{ contact.name }}</h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-muted\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [look]=\\\"'filled'\\\"\\n [size]=\\\"'small'\\\"\\n [text]=\\\"getPrimaryActionLabel(contact)\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible Details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-grid ax-grid-cols-1 lg:ax-grid-cols-3 ax-gap-4 ax-items-start\\\">\\n <!-- Contact Info -->\\n <div class=\\\"lg:ax-col-span-2\\\">\\n @if (contact.description) {\\n <p class=\\\"ax-text-muted ax-mb-4\\\">{{ contact.description }}</p>\\n }\\n\\n <!-- Contact Methods Grid -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 ax-gap-3 ax-mb-4\\\">\\n <!-- Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.phoneNumber }}</span>\\n </div>\\n\\n <!-- Text Number -->\\n @if (contact.textNumber) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-message\\\" class=\\\"ax-text-secondary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.textNumber }}</span>\\n </div>\\n }\\n\\n <!-- Email -->\\n @if (contact.email) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-envelope\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n <span>{{ contact.email }}</span>\\n </div>\\n }\\n\\n <!-- Website -->\\n @if (contact.website) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-globe\\\" class=\\\"ax-text-accent\\\"></ax-icon>\\n <a [href]=\\\"contact.website\\\" target=\\\"_blank\\\" class=\\\"ax-text-accent ax-hover:underline\\\">\\n Website\\n </a>\\n </div>\\n }\\n </div>\\n\\n <!-- Coverage & Capabilities -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-3 ax-gap-3 ax-text-sm\\\">\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Coverage:</strong>\\n <p>{{ getCoverageText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Capabilities:</strong>\\n <p>{{ getCapabilitiesText(contact) }}</p>\\n </div>\\n @if (contact.availability) {\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Availability:</strong>\\n <p>{{ contact.availability }}</p>\\n </div>\\n }\\n </div>\\n </div>\\n\\n <!-- Secondary actions and meta -->\\n <div class=\\\"ax-flex ax-flex-col ax-gap-3\\\">\\n <!-- Secondary Actions -->\\n <div class=\\\"ax-flex ax-gap-2\\\">\\n @if (contact.website) {\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleVisitWebsite(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-external-link\\\"></ax-icon>\\n </ax-button>\\n }\\n\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n\\n <!-- Warnings -->\\n @if (contact.requiresConfirmation) {\\n <div class=\\\"ax-p-3 ax-rounded ax-bg-warning-50 ax-border ax-border-warning-200\\\">\\n <p class=\\\"ax-text-xs ax-text-warning-800 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-triangle-exclamation\\\"></ax-icon>\\n This contact requires confirmation before calling\\n </p>\\n </div>\\n }\\n\\n @if (contact.lastVerified) {\\n <div class=\\\"ax-text-xs ax-text-muted\\\">\\n <strong>Last Verified:</strong>\\n <p>{{ contact.lastVerified | date }}</p>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n }\\n\\n <!-- Fallback: Show all contacts if no filtered contacts are available -->\\n @if (quickDialContacts().length === 0 && dashboardContacts().length === 0 && displayContacts().length > 0) {\\n <div class=\\\"ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-semibold ax-mb-4 ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-list\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n All Emergency Contacts\\n </h2>\\n <div class=\\\"ax-space-y-4\\\">\\n @for (contact of displayContacts(); track contact.id) {\\n <div class=\\\"emergency-contact-detailed ax-p-4 ax-rounded-lg ax-border ax-bg-light\\\">\\n <!-- Compact header -->\\n <div class=\\\"ax-flex ax-items-start ax-justify-between ax-mb-3 ax-gap-3\\\">\\n <div class=\\\"ax-flex-1 ax-min-w-0\\\">\\n <h3 class=\\\"ax-text-xl ax-font-semibold ax-text-default\\\">{{ contact.name }}</h3>\\n @if (contact.shortName) {\\n <p class=\\\"ax-text-muted\\\">{{ contact.shortName }}</p>\\n }\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-button\\n [color]=\\\"getPrimaryActionColor(contact)\\\"\\n [look]=\\\"'filled'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"performPrimaryAction(contact)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"getPrimaryAction(contact) === 'text' ? 'fa-light fa-message' : 'fa-light fa-phone'\\\"\\n ></ax-icon>\\n {{ getPrimaryActionLabel(contact) }}\\n </ax-button>\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n (onClick)=\\\"toggleExpanded(contact.id)\\\"\\n >\\n <ax-icon\\n [icon]=\\\"isExpanded(contact.id) ? 'fa-light fa-chevron-up' : 'fa-light fa-chevron-down'\\\"\\n ></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n\\n <!-- Collapsible details -->\\n @if (isExpanded(contact.id)) {\\n <div class=\\\"ax-grid ax-grid-cols-1 lg:ax-grid-cols-3 ax-gap-4 ax-items-start\\\">\\n <!-- Contact Info -->\\n <div class=\\\"lg:ax-col-span-2\\\">\\n @if (contact.description) {\\n <p class=\\\"ax-text-muted ax-mb-4\\\">{{ contact.description }}</p>\\n }\\n\\n <!-- Contact Methods Grid -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-2 ax-gap-3 ax-mb-4\\\">\\n <!-- Phone -->\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-phone\\\" class=\\\"ax-text-primary\\\"></ax-icon>\\n <span class=\\\"ax-font-mono\\\">{{ contact.phoneNumber }}</span>\\n </div>\\n\\n <!-- Email -->\\n @if (contact.email) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-envelope\\\" class=\\\"ax-text-info\\\"></ax-icon>\\n <span>{{ contact.email }}</span>\\n </div>\\n }\\n\\n <!-- Website -->\\n @if (contact.website) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon icon=\\\"fa-light fa-globe\\\" class=\\\"ax-text-accent\\\"></ax-icon>\\n <a [href]=\\\"contact.website\\\" target=\\\"_blank\\\" class=\\\"ax-text-accent ax-hover:underline\\\">\\n Website\\n </a>\\n </div>\\n }\\n </div>\\n\\n <!-- Status Info -->\\n <div class=\\\"ax-grid ax-grid-cols-1 sm:ax-grid-cols-3 ax-gap-3 ax-text-sm\\\">\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Coverage:</strong>\\n <p>{{ getCoverageText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Capabilities:</strong>\\n <p>{{ getCapabilitiesText(contact) }}</p>\\n </div>\\n <div>\\n <strong class=\\\"ax-text-muted\\\">Status:</strong>\\n <p class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <span [class]=\\\"contact.isActive ? 'ax-text-success' : 'ax-text-danger'\\\">\\n {{ contact.isActive ? 'Active' : 'Inactive' }}\\n </span>\\n @if (contact.isVerified) {\\n <ax-icon icon=\\\"fa-light fa-check-circle\\\" class=\\\"ax-text-success\\\"></ax-icon>\\n }\\n </p>\\n </div>\\n </div>\\n </div>\\n\\n <!-- Secondary Actions -->\\n <div class=\\\"ax-flex ax-gap-2\\\">\\n @if (contact.website) {\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleVisitWebsite(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-external-link\\\"></ax-icon>\\n </ax-button>\\n }\\n\\n <ax-button\\n [color]=\\\"'secondary'\\\"\\n [look]=\\\"'ghost'\\\"\\n [size]=\\\"'small'\\\"\\n class=\\\"ax-flex-1\\\"\\n (onClick)=\\\"handleCopyNumber(contact)\\\"\\n >\\n <ax-icon icon=\\\"fa-light fa-copy\\\"></ax-icon>\\n </ax-button>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n <!-- No Contacts State -->\\n @if (allContacts().length === 0 && !loading()) {\\n <div class=\\\"ax-text-center ax-py-12\\\">\\n <ax-icon icon=\\\"fa-light fa-phone-slash\\\" class=\\\"ax-text-6xl ax-text-muted ax-mb-4\\\"></ax-icon>\\n <h3 class=\\\"ax-text-xl ax-font-medium ax-text-muted ax-mb-2\\\">No emergency contacts available</h3>\\n </div>\\n }\\n </div>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\", styles: [\"axm-emergency-contacts-page{display:block;width:100%;height:100%}axm-emergency-contacts-page .ax-space-y-6.ax-p-4{max-width:1200px;margin:0 auto;padding-left:1rem;padding-right:1rem}@media (min-width: 768px){axm-emergency-contacts-page .ax-space-y-6.ax-p-4{padding-left:1.5rem;padding-right:1.5rem}}axm-emergency-contacts-page h2{margin-bottom:1.25rem;color:var(--ax-sys-color-primary);border-bottom:1px solid var(--ax-sys-color-border);padding-bottom:.5rem}axm-emergency-contacts-page h2 ax-icon{margin-right:.5rem}@media (min-width: 768px){axm-emergency-contacts-page h2 ax-icon{margin-right:.75rem}}axm-emergency-contacts-page .emergency-contact-quick-dial{position:relative;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;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));animation-duration:.2s;border:1px solid var(--ax-sys-color-outline-variant);min-height:140px}axm-emergency-contacts-page .emergency-contact-quick-dial:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transform:translateY(-2px);border-color:var(--priority-color, var(--ax-sys-color-primary))}axm-emergency-contacts-page .emergency-contact-quick-dial h3{color:var(--ax-sys-color-on-surface);margin-bottom:.125rem;font-size:1rem;line-height:1.5rem;font-weight:600}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-quick-dial h3{font-size:1.125rem;line-height:1.75rem}}axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{font-size:.75rem;line-height:1rem;font-weight:500}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{font-size:.875rem;line-height:1.25rem}}axm-emergency-contacts-page .emergency-contact-quick-dial .ax-button{min-height:30px}axm-emergency-contacts-page .emergency-contact-detailed{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;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));animation-duration:.2s;border:1px solid var(--ax-sys-color-outline-variant)}axm-emergency-contacts-page .emergency-contact-detailed:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transform:translateY(-1px);border-color:var(--ax-sys-color-primary)}axm-emergency-contacts-page .emergency-contact-detailed h3{color:var(--ax-sys-color-on-surface);font-size:1.125rem;line-height:1.75rem;font-weight:600}@media (min-width: 768px){axm-emergency-contacts-page .emergency-contact-detailed h3{font-size:1.25rem;line-height:1.75rem}}axm-emergency-contacts-page .emergency-contact-detailed ax-icon{flex-shrink:0}@media (min-width: 640px){axm-emergency-contacts-page .emergency-contact-detailed .ax-grid-cols-1.sm\\\\\\\\:ax-grid-cols-2>div{min-width:0px}}@media (min-width: 1024px){axm-emergency-contacts-page .emergency-contact-detailed .ax-flex.ax-flex-col.ax-gap-3{position:-webkit-sticky;position:sticky;top:1rem}}axm-emergency-contacts-page ax-loading{margin-left:auto;margin-right:auto}axm-emergency-contacts-page .ax-text-center.ax-py-12 ax-icon{margin-left:auto;margin-right:auto;display:block}axm-emergency-contacts-page ax-badge[data-color=danger]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-danger-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=warning]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-warning-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=primary]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page ax-badge[data-color=secondary]{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-secondary-200),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-secondary-100),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-secondary-800),var(--tw-text-opacity, 1))}axm-emergency-contacts-page .ax-bg-warning-50 ax-icon{flex-shrink:0}axm-emergency-contacts-page .ax-font-mono{letter-spacing:.025em}@media (min-width: 640px){axm-emergency-contacts-page axp-layout-content .ax-gap-4{gap:1.5rem}}axm-emergency-contacts-page ax-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}axm-emergency-contacts-page ax-button:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}axm-emergency-contacts-page ax-button:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}axm-emergency-contacts-page ax-button[data-color=danger]{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-button[data-color=danger]:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-icon.ax-w-4{height:1rem}axm-emergency-contacts-page ax-icon.ax-text-6xl{height:6rem;width:6rem}@media (max-width: 640px){axm-emergency-contacts-page .ax-grid-cols-1 .ax-gap-3{gap:.5rem}axm-emergency-contacts-page .emergency-contact-quick-dial .contact-info-text{font-size:.75rem;line-height:1rem}}@media print{axm-emergency-contacts-page .emergency-contact-quick-dial,axm-emergency-contacts-page .emergency-contact-detailed{break-inside:avoid;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axm-emergency-contacts-page ax-button{display:none}axm-emergency-contacts-page .ax-bg-warning-50{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}}@media (prefers-contrast: high){axm-emergency-contacts-page .emergency-contact-quick-dial,axm-emergency-contacts-page .emergency-contact-detailed{border-width:2px}axm-emergency-contacts-page ax-badge{border-width:2px}}@media (prefers-reduced-motion: reduce){axm-emergency-contacts-page *{transition-property:none}axm-emergency-contacts-page ax-button:hover,axm-emergency-contacts-page .emergency-contact-quick-dial:hover{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1lcmdlbmN5LWNvbnRhY3RzLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2VtZXJnZW5jeS1jb250YWN0cy9lbWVyZ2VuY3ktY29udGFjdHMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29udGFjdC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZW1lcmdlbmN5LWNvbnRhY3RzL2VtZXJnZW5jeS1jb250YWN0cy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVB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Qy9DO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQYWdlTGF5b3V0QmFzZSwgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQsIEFYUFBhZ2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC92aWV3cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtLCBBWFBCcmVhZGNydW1iSXRlbSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWE1FbWVyZ2VuY3lDb250YWN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL2VtZXJnZW5jeS1jb250YWN0L2VtZXJnZW5jeS1jb250YWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9lbWVyZ2VuY3ktY29udGFjdC9lbWVyZ2VuY3ktY29udGFjdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4bS1lbWVyZ2VuY3ktY29udGFjdHMtcGFnZScsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWEZvcm1hdE1vZHVsZSxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9lbWVyZ2VuY3ktY29udGFjdHMtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9lbWVyZ2VuY3ktY29udGFjdHMtcGFnZS5jb21wb25lbnQuc2NzcycsXG4gIGhvc3Q6IHtcbiAgICAnKHdpbmRvdzpyZXNpemUpJzogJ29uUmVzaXplKCknXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1FbWVyZ2VuY3lDb250YWN0c1BhZ2VDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRW1lcmdlbmN5Q29udGFjdHNQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByaXZhdGUgZW1lcmdlbmN5Q29udGFjdFNlcnZpY2UgPSBpbmplY3QoQVhNRW1lcmdlbmN5Q29udGFjdFNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ2xhc3MgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgYWxsQ29udGFjdHMgPSBzaWduYWw8QVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWxbXT4oW10pO1xuICBwcm90ZWN0ZWQgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBpc0xhcmdlU2NyZWVuID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgZXhwYW5kZWRDb250YWN0SWRzID0gc2lnbmFsPFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcXVpY2tEaWFsQ29udGFjdHMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuYWxsQ29udGFjdHMoKVxuICAgICAgLmZpbHRlcigoY29udGFjdCkgPT4gY29udGFjdC5pc1F1aWNrRGlhbCAmJiBjb250YWN0LmlzQWN0aXZlKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5IHx8IDApIC0gKGIucHJpb3JpdHkgfHwgMCkpLFxuICApO1xuXG4gIHByb3RlY3RlZCBkYXNoYm9hcmRDb250YWN0cyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5hbGxDb250YWN0cygpXG4gICAgICAuZmlsdGVyKChjb250YWN0KSA9PiBjb250YWN0LnNob3dPbkRhc2hib2FyZCAmJiBjb250YWN0LmlzQWN0aXZlICYmICFjb250YWN0LmlzUXVpY2tEaWFsKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5IHx8IDApIC0gKGIucHJpb3JpdHkgfHwgMCkpLFxuICApO1xuXG4gIHByb3RlY3RlZCBhbGxBY3RpdmVDb250YWN0cyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5hbGxDb250YWN0cygpXG4gICAgICAuZmlsdGVyKChjb250YWN0KSA9PiBjb250YWN0LmlzQWN0aXZlKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5IHx8IDApIC0gKGIucHJpb3JpdHkgfHwgMCkpLFxuICApO1xuXG4gIC8vIEZhbGxiYWNrOiBzaG93IGFsbCBjb250YWN0cyBpZiBmaWx0ZXJlZCBsaXN0cyBhcmUgZW1wdHlcbiAgcHJvdGVjdGVkIGRpc3BsYXlDb250YWN0cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhbGxDb250YWN0cyA9IHRoaXMuYWxsQ29udGFjdHMoKTtcblxuICAgIC8vIElmIHdlIGhhdmUgY29udGFjdHMgYnV0IG5vbmUgYXJlIG1hcmtlZCBhcyBhY3RpdmUsIHNob3cgYWxsXG4gICAgaWYgKGFsbENvbnRhY3RzLmxlbmd0aCA+IDAgJiYgdGhpcy5hbGxBY3RpdmVDb250YWN0cygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGFsbENvbnRhY3RzLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5IHx8IDApIC0gKGIucHJpb3JpdHkgfHwgMCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFsbEFjdGl2ZUNvbnRhY3RzKCk7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIG9uUmVzaXplKCkge1xuICAgIHRoaXMuY2hlY2tTY3JlZW5TaXplKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU2NyZWVuU2l6ZSgpIHtcbiAgICB0aGlzLmlzTGFyZ2VTY3JlZW4uc2V0KHdpbmRvdy5pbm5lcldpZHRoID49IDc2OCk7XG4gIH1cblxuICAvLyNyZWdpb24gLS0tLSAgIExpZmVjeWNsZSBNZXRob2RzICAgLS0tLVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5jaGVja1NjcmVlblNpemUoKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRFbWVyZ2VuY3lDb250YWN0cygpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIExvYWRpbmcgICAtLS0tXG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRW1lcmdlbmN5Q29udGFjdHMoKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5lbWVyZ2VuY3lDb250YWN0U2VydmljZS5xdWVyeSh7XG4gICAgICAgIHNraXA6IDAsXG4gICAgICAgIHRha2U6IDEwMDAsXG4gICAgICAgIHNvcnQ6IFt7IGZpZWxkOiAncHJpb3JpdHknLCBkaXI6ICdhc2MnIH1dLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFsbENvbnRhY3RzLnNldChyZXN1bHQuaXRlbXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBlbWVyZ2VuY3kgY29udGFjdHM6JywgZXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFVJIEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCB0b2dnbGVFeHBhbmRlZChjb250YWN0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRDb250YWN0SWRzLnVwZGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IG5ldyBTZXQoY3VycmVudCk7XG4gICAgICBpZiAobmV4dC5oYXMoY29udGFjdElkKSkge1xuICAgICAgICBuZXh0LmRlbGV0ZShjb250YWN0SWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dC5hZGQoY29udGFjdElkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXhwYW5kZWQoY29udGFjdElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZENvbnRhY3RJZHMoKS5oYXMoY29udGFjdElkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDYWxsQ29udGFjdChjb250YWN0OiBBWE1Db250YWN0TWFuYWdlbWVudEVtZXJnZW5jeUNvbnRhY3RFbnRpdHlNb2RlbCkge1xuICAgIGlmIChjb250YWN0LnBob25lTnVtYmVyKSB7XG4gICAgICB3aW5kb3cub3BlbihgdGVsOiR7Y29udGFjdC5waG9uZU51bWJlcn1gLCAnX3NlbGYnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVGV4dENvbnRhY3QoY29udGFjdDogQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWwpIHtcbiAgICBjb25zdCB0ZXh0TnVtYmVyID0gY29udGFjdC50ZXh0TnVtYmVyIHx8IGNvbnRhY3QucGhvbmVOdW1iZXI7XG4gICAgaWYgKHRleHROdW1iZXIpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGBzbXM6JHt0ZXh0TnVtYmVyfWAsICdfc2VsZicpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVWaXNpdFdlYnNpdGUoY29udGFjdDogQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWwpIHtcbiAgICBpZiAoY29udGFjdC53ZWJzaXRlKSB7XG4gICAgICB3aW5kb3cub3Blbihjb250YWN0LndlYnNpdGUsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQ29weU51bWJlcihjb250YWN0OiBBWE1Db250YWN0TWFuYWdlbWVudEVtZXJnZW5jeUNvbnRhY3RFbnRpdHlNb2RlbCkge1xuICAgIGlmIChjb250YWN0LnBob25lTnVtYmVyICYmIG5hdmlnYXRvci5jbGlwYm9hcmQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvbnRhY3QucGhvbmVOdW1iZXIpO1xuICAgICAgICAvLyBZb3UgY291bGQgYWRkIGEgdG9hc3Qgbm90aWZpY2F0aW9uIGhlcmVcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IG51bWJlcjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZnJlc2goKSB7XG4gICAgdGhpcy5sb2FkRW1lcmdlbmN5Q29udGFjdHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQcmltYXJ5QWN0aW9uKGNvbnRhY3Q6IEFYTUNvbnRhY3RNYW5hZ2VtZW50RW1lcmdlbmN5Q29udGFjdEVudGl0eU1vZGVsKTogJ2NhbGwnIHwgJ3RleHQnIHtcbiAgICBpZiAoY29udGFjdC5pc1RleHRDYXBhYmxlICYmICEhY29udGFjdC50ZXh0TnVtYmVyICYmICFjb250YWN0LnJlcXVpcmVzQ29uZmlybWF0aW9uKSB7XG4gICAgICByZXR1cm4gJ3RleHQnO1xuICAgIH1cbiAgICByZXR1cm4gJ2NhbGwnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBlcmZvcm1QcmltYXJ5QWN0aW9uKGNvbnRhY3Q6IEFYTUNvbnRhY3RNYW5hZ2VtZW50RW1lcmdlbmN5Q29udGFjdEVudGl0eU1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRQcmltYXJ5QWN0aW9uKGNvbnRhY3QpO1xuICAgIGlmIChhY3Rpb24gPT09ICd0ZXh0Jykge1xuICAgICAgdGhpcy5oYW5kbGVUZXh0Q29udGFjdChjb250YWN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYW5kbGVDYWxsQ29udGFjdChjb250YWN0KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UHJpbWFyeUFjdGlvbkxhYmVsKGNvbnRhY3Q6IEFYTUNvbnRhY3RNYW5hZ2VtZW50RW1lcmdlbmN5Q29udGFjdEVudGl0eU1vZGVsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQcmltYXJ5QWN0aW9uKGNvbnRhY3QpID09PSAndGV4dCcgPyAnVGV4dCBOb3cnIDogJ0NhbGwgTm93JztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQcmltYXJ5QWN0aW9uQ29sb3IoY29udGFjdDogQVhNQ29udGFjdE1hbmFnZW1lbnRFbWVyZ2VuY3lDb250YWN0RW50aXR5TW9kZWwpOiAncHJpbWFyeScgfCAnZGFuZ2VyJyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJpbWFyeUFjdGlvbihjb250YWN0KSA9PT0gJ3RleHQnID8gJ3ByaW1hcnknIDogJ2Rhbmdlcic7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgZ2V0Q292ZXJhZ2VUZXh0KGNvbnRhY3Q6IEFYTUNvbnRhY3RNYW5hZ2VtZW50RW1lcmdlbmN5Q29udGFjdEVudGl0eU1vZGVsKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb3ZlcmFnZSA9IFtdO1xuICAgIGlmIChjb250YWN0LmlzTmF0aW9uYWwpIGNvdmVyYWdlLnB1c2goJ05hdGlvbmFsJyk7XG4gICAgaWYgKGNvbnRhY3QuaXNSZWdpb25hbCkgY292ZXJhZ2UucHVzaCgnUmVnaW9uYWwnKTtcbiAgICBpZiAoY29udGFjdC5pc0xvY2FsKSBjb3ZlcmFnZS5wdXNoKCdMb2NhbCcpO1xuICAgIHJldHVybiBjb3ZlcmFnZS5qb2luKCcsICcpIHx8ICdVbmtub3duJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDYXBhYmlsaXRpZXNUZXh0KGNvbnRhY3Q6IEFYTUNvbnRhY3RNYW5hZ2VtZW50RW1lcmdlbmN5Q29udGFjdEVudGl0eU1vZGVsKTogc3RyaW5nIHtcbiAgICBjb25zdCBjYXBhYmlsaXRpZXMgPSBbXTtcbiAgICBpZiAoY29udGFjdC5pc1RleHRDYXBhYmxlKSBjYXBhYmlsaXRpZXMucHVzaCgnVGV4dCcpO1xuICAgIGlmIChjb250YWN0LmlzVmlkZW9DYWxsQ2FwYWJsZSkgY2FwYWJpbGl0aWVzLnB1c2goJ1ZpZGVvJyk7XG4gICAgcmV0dXJuIGNhcGFiaWxpdGllcy5qb2luKCcsICcpIHx8ICdWb2ljZSBPbmx5JztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQcmlvcml0eUNvbG9yKHByaW9yaXR5OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChwcmlvcml0eSA8PSAxKSByZXR1cm4gJ2Rhbmdlcic7XG4gICAgaWYgKHByaW9yaXR5IDw9IDMpIHJldHVybiAnd2FybmluZyc7XG4gICAgaWYgKHByaW9yaXR5IDw9IDUpIHJldHVybiAncHJpbWFyeSc7XG4gICAgcmV0dXJuICdzZWNvbmRhcnknO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBQYWdlIE1ldGFkYXRhIE92ZXJyaWRlcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuICdFbWVyZ2VuY3kgQ29udGFjdHMgJiBRdWljayBEaWFsJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gJ0FjY2VzcyBlbWVyZ2VuY3kgY29udGFjdHMgYW5kIGltcG9ydGFudCBudW1iZXJzIHF1aWNrbHknO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiAnQ29udGFjdCBNYW5hZ2VtZW50JyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogJ1JlZnJlc2gnLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcmVmcmVzaCcsXG4gICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdyZWZyZXNoJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogYW55KSB7XG4gICAgaWYgKGNvbW1hbmQubmFtZSA9PT0gJ3JlZnJlc2gnKSB7XG4gICAgICB0aGlzLmhhbmRsZVJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxheHAtcGFnZS1sYXlvdXQgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gIDxheHAtcGFnZS1jb250ZW50PlxuICAgIDwhLS0gTG9hZGluZyBTdGF0ZSAtLT5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXB5LThcIj5cbiAgICAgICAgPGF4LWxvYWRpbmc+TG9hZGluZyBlbWVyZ2VuY3kgY29udGFjdHMuLi48L2F4LWxvYWRpbmc+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1zcGFjZS15LTYgYXgtcC00XCI+XG4gICAgICAgIDwhLS0gUXVpY2sgRGlhbCBTZWN0aW9uIC0tPlxuICAgICAgICBAaWYgKHF1aWNrRGlhbENvbnRhY3RzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tYi04XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJheC10ZXh0LTJ4bCBheC1mb250LXNlbWlib2xkIGF4LW1iLTQgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLXBob25lLXJvdGFyeVwiIGNsYXNzPVwiYXgtdGV4dC1kYW5nZXJcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIFF1aWNrIERpYWxcbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMSBzbTpheC1ncmlkLWNvbHMtMiBsZzpheC1ncmlkLWNvbHMtMyB4bDpheC1ncmlkLWNvbHMtNCBheC1nYXAtNFwiPlxuICAgICAgICAgICAgICBAZm9yIChjb250YWN0IG9mIHF1aWNrRGlhbENvbnRhY3RzKCk7IHRyYWNrIGNvbnRhY3QuaWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImVtZXJnZW5jeS1jb250YWN0LXF1aWNrLWRpYWwgYXgtcC00IGF4LXJvdW5kZWQtbGcgYXgtYm9yZGVyIGF4LWJnLWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS4tLXByaW9yaXR5LWNvbG9yXT1cIid2YXIoLS1heC1zeXMtY29sb3ItJyArIGdldFByaW9yaXR5Q29sb3IoY29udGFjdC5wcmlvcml0eSkgKyAnKScgKyAnJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPCEtLSBDb21wYWN0IEhlYWRlciB3aXRoIFByaW1hcnkgQWN0aW9uIC0tPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtc3RhcnQgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4LTEgYXgtbWluLXctMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImF4LXRleHQtbGcgYXgtZm9udC1zZW1pYm9sZCBheC10cnVuY2F0ZSBheC10ZXh0LWRlZmF1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbnRhY3QubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LnNob3J0TmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LXNtIGF4LXRleHQtbXV0ZWQgYXgtdHJ1bmNhdGVcIj57eyBjb250YWN0LnNob3J0TmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiZ2V0UHJpbWFyeUFjdGlvbkNvbG9yKGNvbnRhY3QpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2ZpbGxlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ2V0UHJpbWFyeUFjdGlvbkxhYmVsKGNvbnRhY3QpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cInBlcmZvcm1QcmltYXJ5QWN0aW9uKGNvbnRhY3QpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJnZXRQcmltYXJ5QWN0aW9uKGNvbnRhY3QpID09PSAndGV4dCcgPyAnZmEtbGlnaHQgZmEtbWVzc2FnZScgOiAnZmEtbGlnaHQgZmEtcGhvbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb29rXT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVFeHBhbmRlZChjb250YWN0LmlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaXNFeHBhbmRlZChjb250YWN0LmlkKSA/ICdmYS1saWdodCBmYS1jaGV2cm9uLXVwJyA6ICdmYS1saWdodCBmYS1jaGV2cm9uLWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gQ29sbGFwc2libGUgRGV0YWlscyAtLT5cbiAgICAgICAgICAgICAgICAgIEBpZiAoaXNFeHBhbmRlZChjb250YWN0LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcHQtMyBheC1zcGFjZS15LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1hcnkgUGhvbmUgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtcGhvbmVcIiBjbGFzcz1cImF4LXRleHQtcHJpbWFyeSBheC13LTRcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbnRhY3QtaW5mby10ZXh0IGF4LXRleHQtc20gYXgtZm9udC1tb25vIGF4LWZsZXgtMVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3QucGhvbmVOdW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvcHlOdW1iZXIoY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtY29weVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBDYXBhYmlsaXRpZXMgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaW5mby10ZXh0IGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yIGF4LXRleHQteHMgYXgtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLWluZm8tY2lyY2xlXCIgY2xhc3M9XCJheC13LTRcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRDYXBhYmlsaXRpZXNUZXh0KGNvbnRhY3QpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBBdmFpbGFiaWxpdHkgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LmF2YWlsYWJpbGl0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaW5mby10ZXh0IGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yIGF4LXRleHQteHMgYXgtdGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtY2xvY2tcIiBjbGFzcz1cImF4LXctNFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10cnVuY2F0ZVwiPnt7IGNvbnRhY3QuYXZhaWxhYmlsaXR5IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LnJlcXVpcmVzQ29uZmlybWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcC0yIGF4LXJvdW5kZWQgYXgtYmctd2FybmluZy01MCBheC1ib3JkZXIgYXgtYm9yZGVyLXdhcm5pbmctMjAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC14cyBheC10ZXh0LXdhcm5pbmctODAwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY29udGFjdCByZXF1aXJlcyBjb25maXJtYXRpb24gYmVmb3JlIGNhbGxpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIERhc2hib2FyZCBDb250YWN0cyBTZWN0aW9uIC0tPlxuICAgICAgICBAaWYgKGRhc2hib2FyZENvbnRhY3RzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tYi04XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJheC10ZXh0LTJ4bCBheC1mb250LXNlbWlib2xkIGF4LW1iLTQgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLXRhY2hvbWV0ZXItYWx0XCIgY2xhc3M9XCJheC10ZXh0LXByaW1hcnlcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIEFsbCBFbWVyZ2VuY3kgQ29udGFjdHNcbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc3BhY2UteS00XCI+XG4gICAgICAgICAgICAgICAgQGZvciAoY29udGFjdCBvZiBkYXNoYm9hcmRDb250YWN0cygpOyB0cmFjayBjb250YWN0LmlkKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1lcmdlbmN5LWNvbnRhY3QtZGV0YWlsZWQgYXgtcC00IGF4LXJvdW5kZWQtbGcgYXgtYm9yZGVyIGF4LWJnLWxpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcGFjdCBoZWFkZXIgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLXN0YXJ0IGF4LWp1c3RpZnktYmV0d2VlbiBheC1tYi0zIGF4LWdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXgtMSBheC1taW4tdy0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1kZWZhdWx0XCI+e3sgY29udGFjdC5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdC5zaG9ydE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LW11dGVkXCI+e3sgY29udGFjdC5zaG9ydE5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJnZXRQcmltYXJ5QWN0aW9uQ29sb3IoY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9va109XCInZmlsbGVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJnZXRQcmltYXJ5QWN0aW9uTGFiZWwoY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJwZXJmb3JtUHJpbWFyeUFjdGlvbihjb250YWN0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiZ2V0UHJpbWFyeUFjdGlvbihjb250YWN0KSA9PT0gJ3RleHQnID8gJ2ZhLWxpZ2h0IGZhLW1lc3NhZ2UnIDogJ2ZhLWxpZ2h0IGZhLXBob25lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVFeHBhbmRlZChjb250YWN0LmlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaXNFeHBhbmRlZChjb250YWN0LmlkKSA/ICdmYS1saWdodCBmYS1jaGV2cm9uLXVwJyA6ICdmYS1saWdodCBmYS1jaGV2cm9uLWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIENvbGxhcHNpYmxlIERldGFpbHMgLS0+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXNFeHBhbmRlZChjb250YWN0LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xIGxnOmF4LWdyaWQtY29scy0zIGF4LWdhcC00IGF4LWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbnRhY3QgSW5mbyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZzpheC1jb2wtc3Bhbi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1tdXRlZCBheC1tYi00XCI+e3sgY29udGFjdC5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29udGFjdCBNZXRob2RzIEdyaWQgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xIHNtOmF4LWdyaWQtY29scy0yIGF4LWdhcC0zIGF4LW1iLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFBob25lIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLXBob25lXCIgY2xhc3M9XCJheC10ZXh0LXByaW1hcnlcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtbW9ub1wiPnt7IGNvbnRhY3QucGhvbmVOdW1iZXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRleHQgTnVtYmVyIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdC50ZXh0TnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLW1lc3NhZ2VcIiBjbGFzcz1cImF4LXRleHQtc2Vjb25kYXJ5XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtbW9ub1wiPnt7IGNvbnRhY3QudGV4dE51bWJlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRW1haWwgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LmVtYWlsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLWVudmVsb3BlXCIgY2xhc3M9XCJheC10ZXh0LWluZm9cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGNvbnRhY3QuZW1haWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFdlYnNpdGUgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LndlYnNpdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtZ2xvYmVcIiBjbGFzcz1cImF4LXRleHQtYWNjZW50XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJjb250YWN0LndlYnNpdGVcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImF4LXRleHQtYWNjZW50IGF4LWhvdmVyOnVuZGVybGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYnNpdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvdmVyYWdlICYgQ2FwYWJpbGl0aWVzIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMSBzbTpheC1ncmlkLWNvbHMtMyBheC1nYXAtMyBheC10ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJheC10ZXh0LW11dGVkXCI+Q292ZXJhZ2U6PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBnZXRDb3ZlcmFnZVRleHQoY29udGFjdCkgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJheC10ZXh0LW11dGVkXCI+Q2FwYWJpbGl0aWVzOjwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgZ2V0Q2FwYWJpbGl0aWVzVGV4dChjb250YWN0KSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGNvbnRhY3QuYXZhaWxhYmlsaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiYXgtdGV4dC1tdXRlZFwiPkF2YWlsYWJpbGl0eTo8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgY29udGFjdC5hdmFpbGFiaWxpdHkgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2Vjb25kYXJ5IGFjdGlvbnMgYW5kIG1ldGEgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlY29uZGFyeSBBY3Rpb25zIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdC53ZWJzaXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb29rXT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4LTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVWaXNpdFdlYnNpdGUoY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtZXh0ZXJuYWwtbGlua1wiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9va109XCInZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4LTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29weU51bWJlcihjb250YWN0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLWNvcHlcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gV2FybmluZ3MgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdC5yZXF1aXJlc0NvbmZpcm1hdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1wLTMgYXgtcm91bmRlZCBheC1iZy13YXJuaW5nLTUwIGF4LWJvcmRlciBheC1ib3JkZXItd2FybmluZy0yMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC14cyBheC10ZXh0LXdhcm5pbmctODAwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS10cmlhbmdsZS1leGNsYW1hdGlvblwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb250YWN0IHJlcXVpcmVzIGNvbmZpcm1hdGlvbiBiZWZvcmUgY2FsbGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0Lmxhc3RWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC10ZXh0LXhzIGF4LXRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+TGFzdCBWZXJpZmllZDo8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGNvbnRhY3QubGFzdFZlcmlmaWVkIHwgZGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRmFsbGJhY2s6IFNob3cgYWxsIGNvbnRhY3RzIGlmIG5vIGZpbHRlcmVkIGNvbnRhY3RzIGFyZSBhdmFpbGFibGUgLS0+XG4gICAgICAgIEBpZiAocXVpY2tEaWFsQ29udGFjdHMoKS5sZW5ndGggPT09IDAgJiYgZGFzaGJvYXJkQ29udGFjdHMoKS5sZW5ndGggPT09IDAgJiYgZGlzcGxheUNvbnRhY3RzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tYi04XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJheC10ZXh0LTJ4bCBheC1mb250LXNlbWlib2xkIGF4LW1iLTQgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLWxpc3RcIiBjbGFzcz1cImF4LXRleHQtaW5mb1wiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgQWxsIEVtZXJnZW5jeSBDb250YWN0c1xuICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1zcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgQGZvciAoY29udGFjdCBvZiBkaXNwbGF5Q29udGFjdHMoKTsgdHJhY2sgY29udGFjdC5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWVyZ2VuY3ktY29udGFjdC1kZXRhaWxlZCBheC1wLTQgYXgtcm91bmRlZC1sZyBheC1ib3JkZXIgYXgtYmctbGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcGFjdCBoZWFkZXIgLS0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1zdGFydCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtbWItMyBheC1nYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0xIGF4LW1pbi13LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1kZWZhdWx0XCI+e3sgY29udGFjdC5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICBAaWYgKGNvbnRhY3Quc2hvcnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtbXV0ZWRcIj57eyBjb250YWN0LnNob3J0TmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiZ2V0UHJpbWFyeUFjdGlvbkNvbG9yKGNvbnRhY3QpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb29rXT1cIidmaWxsZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicGVyZm9ybVByaW1hcnlBY3Rpb24oY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImdldFByaW1hcnlBY3Rpb24oY29udGFjdCkgPT09ICd0ZXh0JyA/ICdmYS1saWdodCBmYS1tZXNzYWdlJyA6ICdmYS1saWdodCBmYS1waG9uZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldFByaW1hcnlBY3Rpb25MYWJlbChjb250YWN0KSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbG9va109XCInZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlRXhwYW5kZWQoY29udGFjdC5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImlzRXhwYW5kZWQoY29udGFjdC5pZCkgPyAnZmEtbGlnaHQgZmEtY2hldnJvbi11cCcgOiAnZmEtbGlnaHQgZmEtY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIENvbGxhcHNpYmxlIGRldGFpbHMgLS0+XG4gICAgICAgICAgICAgICAgICBAaWYgKGlzRXhwYW5kZWQoY29udGFjdC5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEgbGc6YXgtZ3JpZC1jb2xzLTMgYXgtZ2FwLTQgYXgtaXRlbXMtc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbnRhY3QgSW5mbyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGc6YXgtY29sLXNwYW4tMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1tdXRlZCBheC1tYi00XCI+e3sgY29udGFjdC5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb250YWN0IE1ldGhvZHMgR3JpZCAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xIHNtOmF4LWdyaWQtY29scy0yIGF4LWdhcC0zIGF4LW1iLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQaG9uZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IGZhLXBob25lXCIgY2xhc3M9XCJheC10ZXh0LXByaW1hcnlcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LW1vbm9cIj57eyBjb250YWN0LnBob25lTnVtYmVyIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVtYWlsIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGNvbnRhY3QuZW1haWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1lbnZlbG9wZVwiIGNsYXNzPVwiYXgtdGV4dC1pbmZvXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgY29udGFjdC5lbWFpbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gV2Vic2l0ZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LndlYnNpdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1nbG9iZVwiIGNsYXNzPVwiYXgtdGV4dC1hY2NlbnRcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJjb250YWN0LndlYnNpdGVcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImF4LXRleHQtYWNjZW50IGF4LWhvdmVyOnVuZGVybGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJzaXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFN0YXR1cyBJbmZvIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEgc206YXgtZ3JpZC1jb2xzLTMgYXgtZ2FwLTMgYXgtdGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJheC10ZXh0LW11dGVkXCI+Q292ZXJhZ2U6PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgZ2V0Q292ZXJhZ2VUZXh0KGNvbnRhY3QpIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiYXgtdGV4dC1tdXRlZFwiPkNhcGFiaWxpdGllczo8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBnZXRDYXBhYmlsaXRpZXNUZXh0KGNvbnRhY3QpIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiYXgtdGV4dC1tdXRlZFwiPlN0YXR1czo8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiY29udGFjdC5pc0FjdGl2ZSA/ICdheC10ZXh0LXN1Y2Nlc3MnIDogJ2F4LXRleHQtZGFuZ2VyJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250YWN0LmlzQWN0aXZlID8gJ0FjdGl2ZScgOiAnSW5hY3RpdmUnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGNvbnRhY3QuaXNWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtY2hlY2stY2lyY2xlXCIgY2xhc3M9XCJheC10ZXh0LXN1Y2Nlc3NcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZWNvbmRhcnkgQWN0aW9ucyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjb250YWN0LndlYnNpdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4LTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVZpc2l0V2Vic2l0ZShjb250YWN0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtZXh0ZXJuYWwtbGlua1wiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXgtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvcHlOdW1iZXIoY29udGFjdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQgZmEtY29weVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIE5vIENvbnRhY3RzIFN0YXRlIC0tPlxuICAgICAgICBAaWYgKGFsbENvbnRhY3RzKCkubGVuZ3RoID09PSAwICYmICFsb2FkaW5nKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC1jZW50ZXIgYXgtcHktMTJcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1waG9uZS1zbGFzaFwiIGNsYXNzPVwiYXgtdGV4dC02eGwgYXgtdGV4dC1tdXRlZCBheC1tYi00XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LW1lZGl1bSBheC10ZXh0LW11dGVkIGF4LW1iLTJcIj5ObyBlbWVyZ2VuY3kgY29udGFjdHMgYXZhaWxhYmxlPC9oMz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtY29udGFjdC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2NvbnRhY3QtbWFuYWdlbWVudC9zcmMvYWNvcmV4LW1vZHVsZXMtY29udGFjdC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}