@acorex/modules 20.7.13 → 20.7.16

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 (194) hide show
  1. package/application-management/index.d.ts +1 -1
  2. package/assessment-management/README.md +11 -0
  3. package/assessment-management/index.d.ts +122 -24
  4. package/auth/index.d.ts +1 -1
  5. package/common/index.d.ts +9 -3
  6. package/contact-core/index.d.ts +90 -0
  7. package/content-management/index.d.ts +2 -2
  8. package/data-management/index.d.ts +215 -19
  9. package/document-management/index.d.ts +167 -374
  10. package/fesm2022/acorex-modules-application-management.mjs +3 -3
  11. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  12. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs} +950 -468
  13. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs.map +1 -0
  14. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs → acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs → acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs → acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs → acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs} +3 -3
  21. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs → acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs.map → acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs → acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs} +32 -33
  25. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs → acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs} +24 -8
  27. package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs.map +1 -0
  28. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs → acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs → acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs} +20 -4
  31. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs.map +1 -0
  32. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs → acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs} +3 -3
  33. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs → acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs} +11 -5
  35. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs +392 -0
  37. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs.map +1 -0
  38. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs → acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs} +21 -6
  39. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs.map +1 -0
  40. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs → acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs} +138 -23
  41. package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs.map +1 -0
  42. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs → acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs} +3 -3
  43. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs.map → acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs.map} +1 -1
  44. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  45. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-IIyirCLb.mjs → acorex-modules-auth-acorex-modules-auth-CZuDhBx5.mjs} +18 -18
  46. package/fesm2022/acorex-modules-auth-acorex-modules-auth-CZuDhBx5.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-auth-app-chooser.component-BGLW8Qtn.mjs → acorex-modules-auth-app-chooser.component-DJE47I8p.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-auth-app-chooser.component-BGLW8Qtn.mjs.map → acorex-modules-auth-app-chooser.component-DJE47I8p.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-auth-login.module-uUQkWCgY.mjs → acorex-modules-auth-login.module-CI_lkyb7.mjs} +4 -4
  50. package/fesm2022/{acorex-modules-auth-login.module-uUQkWCgY.mjs.map → acorex-modules-auth-login.module-CI_lkyb7.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-auth-master.layout-XkwT3Slv.mjs → acorex-modules-auth-master.layout-CdY380qS.mjs} +5 -4
  52. package/fesm2022/acorex-modules-auth-master.layout-CdY380qS.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-auth-oauth-callback.component-C0p17V1b.mjs → acorex-modules-auth-oauth-callback.component-BvPk9b3e.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-auth-oauth-callback.component-C0p17V1b.mjs.map → acorex-modules-auth-oauth-callback.component-BvPk9b3e.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-auth-password.component-CaH-OaIv.mjs → acorex-modules-auth-password.component-CefISnvd.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-auth-password.component-CaH-OaIv.mjs.map → acorex-modules-auth-password.component-CefISnvd.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-auth-password.component-DDFOsrkt.mjs → acorex-modules-auth-password.component-Dw_v_EFQ.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-auth-password.component-DDFOsrkt.mjs.map → acorex-modules-auth-password.component-Dw_v_EFQ.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-auth-routes-Cik9Y3RJ.mjs → acorex-modules-auth-routes-CwcJHbAi.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-auth-routes-Cik9Y3RJ.mjs.map → acorex-modules-auth-routes-CwcJHbAi.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-B9VJd12P.mjs → acorex-modules-auth-tenant-chooser.component-DFhTYEDt.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-B9VJd12P.mjs.map → acorex-modules-auth-tenant-chooser.component-DFhTYEDt.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-auth-two-factor.module-D1TKyIXZ.mjs → acorex-modules-auth-two-factor.module-BOZB6sLo.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-auth-two-factor.module-D1TKyIXZ.mjs.map → acorex-modules-auth-two-factor.module-BOZB6sLo.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-auth-user-sessions.component-MZJramlf.mjs → acorex-modules-auth-user-sessions.component-BnrnXg4G.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-auth-user-sessions.component-MZJramlf.mjs.map → acorex-modules-auth-user-sessions.component-BnrnXg4G.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-auth.mjs +1 -1
  68. package/fesm2022/acorex-modules-calendar-management.mjs +4 -3
  69. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  70. package/fesm2022/acorex-modules-common.mjs +77 -36
  71. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  72. package/fesm2022/acorex-modules-contact-core-emergency-service.entity-Cro3bM4G.mjs +318 -0
  73. package/fesm2022/acorex-modules-contact-core-emergency-service.entity-Cro3bM4G.mjs.map +1 -0
  74. package/fesm2022/acorex-modules-contact-core.mjs +247 -0
  75. package/fesm2022/acorex-modules-contact-core.mjs.map +1 -0
  76. package/fesm2022/acorex-modules-content-management.mjs +66 -19
  77. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  78. package/fesm2022/acorex-modules-data-management.mjs +1013 -505
  79. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  80. package/fesm2022/{acorex-modules-document-management-drive-choose.component-ovwhHP2n.mjs → acorex-modules-document-management-drive-choose.component-BOeZ9mpL.mjs} +3 -7
  81. package/fesm2022/acorex-modules-document-management-drive-choose.component-BOeZ9mpL.mjs.map +1 -0
  82. package/fesm2022/acorex-modules-document-management.mjs +688 -2991
  83. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  84. package/fesm2022/acorex-modules-health-core-allergy-type.entity-BaZ4OhHW.mjs +65 -0
  85. package/fesm2022/acorex-modules-health-core-allergy-type.entity-BaZ4OhHW.mjs.map +1 -0
  86. package/fesm2022/acorex-modules-health-core-blood-type.entity-Cu-UIgw4.mjs +120 -0
  87. package/fesm2022/acorex-modules-health-core-blood-type.entity-Cu-UIgw4.mjs.map +1 -0
  88. package/fesm2022/acorex-modules-health-core-body-part.entity-Dc2SIiB3.mjs +65 -0
  89. package/fesm2022/acorex-modules-health-core-body-part.entity-Dc2SIiB3.mjs.map +1 -0
  90. package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-B-9j3pNB.mjs +65 -0
  91. package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-B-9j3pNB.mjs.map +1 -0
  92. package/fesm2022/acorex-modules-health-core-disability-status.entity-hs3vA3zZ.mjs +120 -0
  93. package/fesm2022/acorex-modules-health-core-disability-status.entity-hs3vA3zZ.mjs.map +1 -0
  94. package/fesm2022/acorex-modules-health-core-injury-type.entity-BUA1VsE_.mjs +65 -0
  95. package/fesm2022/acorex-modules-health-core-injury-type.entity-BUA1VsE_.mjs.map +1 -0
  96. package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DBdFkwx6.mjs +65 -0
  97. package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DBdFkwx6.mjs.map +1 -0
  98. package/fesm2022/acorex-modules-health-core.mjs +487 -0
  99. package/fesm2022/acorex-modules-health-core.mjs.map +1 -0
  100. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Clea9Hhv.mjs → acorex-modules-help-desk-acorex-modules-help-desk-MfqQx2iN.mjs} +4 -5
  101. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Clea9Hhv.mjs.map → acorex-modules-help-desk-acorex-modules-help-desk-MfqQx2iN.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CiQv__MW.mjs → acorex-modules-help-desk-capture-screen.component-CATwc3fe.mjs} +2 -2
  103. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CiQv__MW.mjs.map → acorex-modules-help-desk-capture-screen.component-CATwc3fe.mjs.map} +1 -1
  104. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  105. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BDSyXKSF.mjs → acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs} +2 -2
  106. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs.map +1 -0
  107. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs → acorex-modules-human-capital-management-leave-type.entity-YitcNesR.mjs} +6 -2
  108. package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-YitcNesR.mjs.map +1 -0
  109. package/fesm2022/acorex-modules-human-capital-management.mjs +351 -696
  110. package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
  111. package/fesm2022/acorex-modules-locale-management.mjs +13 -6
  112. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  113. package/fesm2022/acorex-modules-notification-management.mjs +4 -4
  114. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  115. package/fesm2022/acorex-modules-person-core-education-level.entity-BiXdPA-Z.mjs +120 -0
  116. package/fesm2022/acorex-modules-person-core-education-level.entity-BiXdPA-Z.mjs.map +1 -0
  117. package/fesm2022/acorex-modules-person-core-marital-status.entity-j6sMTtTS.mjs +120 -0
  118. package/fesm2022/acorex-modules-person-core-marital-status.entity-j6sMTtTS.mjs.map +1 -0
  119. package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BIFiRZ2d.mjs +191 -0
  120. package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BIFiRZ2d.mjs.map +1 -0
  121. package/fesm2022/acorex-modules-person-core-person-relationship-type.entity-2qysKjU5.mjs +119 -0
  122. package/fesm2022/acorex-modules-person-core-person-relationship-type.entity-2qysKjU5.mjs.map +1 -0
  123. package/fesm2022/acorex-modules-person-core-religion.entity-Czb5aHb6.mjs +120 -0
  124. package/fesm2022/acorex-modules-person-core-religion.entity-Czb5aHb6.mjs.map +1 -0
  125. package/fesm2022/acorex-modules-person-core.mjs +466 -0
  126. package/fesm2022/acorex-modules-person-core.mjs.map +1 -0
  127. package/fesm2022/{acorex-modules-person-management-person-identifier.entity-CI8u0Ro6.mjs → acorex-modules-person-management-person-identifier.entity-HBmiUahC.mjs} +4 -3
  128. package/fesm2022/acorex-modules-person-management-person-identifier.entity-HBmiUahC.mjs.map +1 -0
  129. package/fesm2022/{acorex-modules-person-management-person-relationship.entity-DK3mYVFv.mjs → acorex-modules-person-management-person-relationship.entity-DbcXasEe.mjs} +4 -3
  130. package/fesm2022/acorex-modules-person-management-person-relationship.entity-DbcXasEe.mjs.map +1 -0
  131. package/fesm2022/acorex-modules-person-management.mjs +11 -259
  132. package/fesm2022/acorex-modules-person-management.mjs.map +1 -1
  133. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-BRVfUYiM.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs} +6 -6
  134. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-BRVfUYiM.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs.map} +1 -1
  135. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-WSxrvAsV.mjs → acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs} +2 -2
  136. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-WSxrvAsV.mjs.map → acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs.map} +1 -1
  137. package/fesm2022/{acorex-modules-settings-management-setting-page.component-MYnJYUxE.mjs → acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs} +2 -2
  138. package/fesm2022/{acorex-modules-settings-management-setting-page.component-MYnJYUxE.mjs.map → acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs.map} +1 -1
  139. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Cq80snth.mjs → acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs} +2 -2
  140. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Cq80snth.mjs.map → acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs.map} +1 -1
  141. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  142. package/fesm2022/acorex-modules-system-insight.mjs +4 -3
  143. package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
  144. package/fesm2022/{acorex-modules-task-management-task-board.page-Cgxdk78j.mjs → acorex-modules-task-management-task-board.page-BOOY3qla.mjs} +53 -60
  145. package/fesm2022/acorex-modules-task-management-task-board.page-BOOY3qla.mjs.map +1 -0
  146. package/fesm2022/acorex-modules-task-management.mjs +39 -11
  147. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  148. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-BbBEPTBa.mjs +258 -0
  149. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-BbBEPTBa.mjs.map +1 -0
  150. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-nJMBL0qt.mjs +371 -0
  151. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-nJMBL0qt.mjs.map +1 -0
  152. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Pso0oRN5.mjs +313 -0
  153. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Pso0oRN5.mjs.map +1 -0
  154. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-BF9xYEkf.mjs +345 -0
  155. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-BF9xYEkf.mjs.map +1 -0
  156. package/fesm2022/acorex-modules-workflow-management.mjs +733 -2521
  157. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  158. package/health-core/index.d.ts +156 -0
  159. package/help-desk/index.d.ts +1 -1
  160. package/human-capital-management/index.d.ts +19 -79
  161. package/locale-management/index.d.ts +1 -1
  162. package/notification-management/index.d.ts +1 -1
  163. package/package.json +18 -6
  164. package/person-core/index.d.ts +132 -0
  165. package/person-management/index.d.ts +1 -25
  166. package/task-management/index.d.ts +12 -1
  167. package/workflow-management/index.d.ts +239 -265
  168. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs.map +0 -1
  169. package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs.map +0 -1
  170. package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs.map +0 -1
  171. package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs.map +0 -1
  172. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs.map +0 -1
  173. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs.map +0 -1
  174. package/fesm2022/acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs.map +0 -1
  175. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs +0 -416
  176. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs.map +0 -1
  177. package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs.map +0 -1
  178. package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs.map +0 -1
  179. package/fesm2022/acorex-modules-auth-acorex-modules-auth-IIyirCLb.mjs.map +0 -1
  180. package/fesm2022/acorex-modules-auth-master.layout-XkwT3Slv.mjs.map +0 -1
  181. package/fesm2022/acorex-modules-document-management-drive-choose.component-ovwhHP2n.mjs.map +0 -1
  182. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs +0 -381
  183. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs.map +0 -1
  184. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-BDSyXKSF.mjs.map +0 -1
  185. package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs.map +0 -1
  186. package/fesm2022/acorex-modules-person-management-person-identifier-type.entity-VchCczk-.mjs +0 -498
  187. package/fesm2022/acorex-modules-person-management-person-identifier-type.entity-VchCczk-.mjs.map +0 -1
  188. package/fesm2022/acorex-modules-person-management-person-identifier.entity-CI8u0Ro6.mjs.map +0 -1
  189. package/fesm2022/acorex-modules-person-management-person-relationship.entity-DK3mYVFv.mjs.map +0 -1
  190. package/fesm2022/acorex-modules-task-management-task-board.page-Cgxdk78j.mjs.map +0 -1
  191. package/fesm2022/acorex-modules-workflow-management-cartable-page.component-Bso0XRkJ.mjs +0 -296
  192. package/fesm2022/acorex-modules-workflow-management-cartable-page.component-Bso0XRkJ.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-workflow-management-index-xB36g4F1.mjs +0 -469
  194. package/fesm2022/acorex-modules-workflow-management-index-xB36g4F1.mjs.map +0 -1
@@ -1,469 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, Injectable } from '@angular/core';
3
- import { AXToastService } from '@acorex/components/toast';
4
- import { AXPSessionService } from '@acorex/platform/auth';
5
- import { AXMWorkflowManagementWorkItemEntityService } from './acorex-modules-workflow-management.mjs';
6
- import { AXPWorkflowManager, AXPActivityDefinitionService } from '@acorex/platform/workflow';
7
-
8
- //#endregion
9
- /**
10
- * Claim Work Item Command
11
- *
12
- * Claims a work item for the current user.
13
- */
14
- class ClaimWorkItemCommand {
15
- constructor() {
16
- //#region ---- Services ----
17
- this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);
18
- this.toastService = inject(AXToastService);
19
- this.sessionService = inject(AXPSessionService);
20
- }
21
- //#endregion
22
- //#region ---- Command Implementation ----
23
- async execute(input) {
24
- try {
25
- const currentUser = this.sessionService.user;
26
- if (!currentUser) {
27
- return {
28
- success: false,
29
- message: {
30
- text: 'User not authenticated'
31
- },
32
- data: {
33
- workItem: null
34
- }
35
- };
36
- }
37
- // Get work item
38
- const workItem = await this.workItemService.getOne(input.workItemId);
39
- if (!workItem) {
40
- return {
41
- success: false,
42
- message: {
43
- text: 'Work item not found'
44
- },
45
- data: {
46
- workItem: null
47
- }
48
- };
49
- }
50
- // Check if already claimed
51
- if (workItem.claimedByUserId) {
52
- this.toastService.show({
53
- color: 'warning',
54
- title: 'Already Claimed',
55
- content: 'This work item has already been claimed',
56
- closeButton: true,
57
- timeOut: 3000,
58
- });
59
- return {
60
- success: false,
61
- message: {
62
- text: 'Work item already claimed'
63
- },
64
- data: {
65
- workItem
66
- }
67
- };
68
- }
69
- // Update work item
70
- const now = new Date().toISOString();
71
- const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {
72
- ...workItem,
73
- claimedByUserId: currentUser.id,
74
- claimedAt: now,
75
- status: workItem.status === 'Pending' ? 'Claimed' : workItem.status,
76
- updatedAt: now,
77
- });
78
- this.toastService.show({
79
- color: 'success',
80
- title: 'Work Item Claimed',
81
- content: 'Work item claimed successfully',
82
- closeButton: true,
83
- timeOut: 3000,
84
- });
85
- return {
86
- success: true,
87
- data: {
88
- workItem: updatedWorkItem
89
- }
90
- };
91
- }
92
- catch (error) {
93
- console.error('[ClaimWorkItemCommand] Error:', error);
94
- this.toastService.show({
95
- color: 'danger',
96
- title: 'Claim Failed',
97
- content: error.message || 'Unknown error',
98
- closeButton: true,
99
- timeOut: 5000,
100
- });
101
- return {
102
- success: false,
103
- message: {
104
- text: error.message || 'Unknown error'
105
- },
106
- data: {
107
- workItem: null
108
- }
109
- };
110
- }
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ClaimWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
113
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ClaimWorkItemCommand }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ClaimWorkItemCommand, decorators: [{
116
- type: Injectable
117
- }] });
118
-
119
- //#endregion
120
- /**
121
- * Complete Work Item Command
122
- *
123
- * Completes a work item and optionally resumes the workflow.
124
- */
125
- class CompleteWorkItemCommand {
126
- constructor() {
127
- //#region ---- Services ----
128
- this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);
129
- this.toastService = inject(AXToastService);
130
- this.sessionService = inject(AXPSessionService);
131
- this.workflowManager = inject(AXPWorkflowManager);
132
- this.activityDefinitionService = inject(AXPActivityDefinitionService);
133
- }
134
- //#endregion
135
- //#region ---- Command Implementation ----
136
- async execute(input) {
137
- try {
138
- const currentUser = this.sessionService.user;
139
- if (!currentUser) {
140
- return {
141
- success: false,
142
- message: {
143
- text: 'User not authenticated'
144
- },
145
- data: {
146
- workItem: null
147
- }
148
- };
149
- }
150
- // Get work item
151
- const workItem = await this.workItemService.getOne(input.workItemId);
152
- if (!workItem) {
153
- return {
154
- success: false,
155
- message: {
156
- text: 'Work item not found'
157
- },
158
- data: {
159
- workItem: null
160
- }
161
- };
162
- }
163
- // Check if already completed
164
- if (workItem.status === 'Completed') {
165
- this.toastService.show({
166
- color: 'warning',
167
- title: 'Already Completed',
168
- content: 'This work item has already been completed',
169
- closeButton: true,
170
- timeOut: 3000,
171
- });
172
- return {
173
- success: false,
174
- message: {
175
- text: 'Work item already completed'
176
- },
177
- data: {
178
- workItem
179
- }
180
- };
181
- }
182
- // Update work item
183
- const now = new Date().toISOString();
184
- const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {
185
- ...workItem,
186
- completedByUserId: currentUser.id,
187
- completedAt: now,
188
- status: 'Completed',
189
- updatedAt: now,
190
- });
191
- // Resume workflow if bookmark exists
192
- let nextTask = undefined;
193
- let workflowState = undefined;
194
- if (workItem.bookmarkId && workItem.instanceId) {
195
- try {
196
- // Get taskToken from workitem (stored when workitem was created)
197
- const taskToken = workItem.taskToken;
198
- if (!taskToken) {
199
- console.warn(`[CompleteWorkItemCommand] ⚠️ TaskToken not found in workitem ${workItem.id}, cannot resume workflow`);
200
- }
201
- else {
202
- // Determine outcome from activity definition if not provided
203
- let outcome = input.outcome;
204
- if (!outcome) {
205
- // Get activity name from workItem (activityName stores the activity type/name)
206
- const activityName = workItem.activityName;
207
- if (activityName) {
208
- // Get activity definition to determine default outcome
209
- const activityDef = await this.activityDefinitionService.getActivityByName(activityName);
210
- if (activityDef?.outcomes && activityDef.outcomes.length > 0) {
211
- // For collect-signature, use 'Signed' as default outcome
212
- // Otherwise use first outcome or 'Done'
213
- if (activityDef.name === 'workflow-activity:collect-signature') {
214
- outcome = 'Signed';
215
- }
216
- else {
217
- outcome = activityDef.outcomes[0] || 'Done';
218
- }
219
- }
220
- else {
221
- outcome = 'Done';
222
- }
223
- }
224
- else {
225
- outcome = 'Done';
226
- }
227
- }
228
- // Resume workflow using WorkflowManager
229
- const resumeResult = await this.workflowManager.resume(workItem.instanceId, workItem.activityNodeId, outcome || 'Done', input.output, taskToken);
230
- if (!resumeResult.success) {
231
- console.error('[CompleteWorkItemCommand] Workflow resume failed:', resumeResult.error);
232
- }
233
- else {
234
- // Store nextTask and state for return
235
- nextTask = resumeResult.nextTask || undefined;
236
- workflowState = resumeResult.state;
237
- }
238
- }
239
- }
240
- catch (workflowError) {
241
- console.error('[CompleteWorkItemCommand] Workflow resume error:', workflowError);
242
- // Don't fail the command if workflow resume fails
243
- }
244
- }
245
- // Show success message
246
- this.toastService.show({
247
- color: 'success',
248
- title: 'Work Item Completed',
249
- content: workflowState?.status === 'completed'
250
- ? 'Work item completed and workflow finished successfully'
251
- : nextTask
252
- ? `Work item completed. Next activity: ${nextTask.activityType || nextTask.activityName || 'Unknown'}`
253
- : 'Work item completed successfully',
254
- closeButton: true,
255
- timeOut: 3000,
256
- });
257
- return {
258
- success: true,
259
- data: {
260
- workItem: updatedWorkItem,
261
- nextTask,
262
- state: workflowState,
263
- },
264
- };
265
- }
266
- catch (error) {
267
- console.error('[CompleteWorkItemCommand] Error:', error);
268
- this.toastService.show({
269
- color: 'danger',
270
- title: 'Complete Failed',
271
- content: error.message || 'Unknown error',
272
- closeButton: true,
273
- timeOut: 5000,
274
- });
275
- return {
276
- success: false,
277
- message: {
278
- text: error.message || 'Unknown error'
279
- },
280
- data: {
281
- workItem: null
282
- }
283
- };
284
- }
285
- }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CompleteWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
287
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CompleteWorkItemCommand }); }
288
- }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CompleteWorkItemCommand, decorators: [{
290
- type: Injectable
291
- }] });
292
-
293
- //#endregion
294
- /**
295
- * Assign Work Item Command
296
- *
297
- * Assigns a work item to a user.
298
- */
299
- class AssignWorkItemCommand {
300
- constructor() {
301
- //#region ---- Services ----
302
- this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);
303
- this.toastService = inject(AXToastService);
304
- }
305
- //#endregion
306
- //#region ---- Command Implementation ----
307
- async execute(input) {
308
- try {
309
- // Get work item
310
- const workItem = await this.workItemService.getOne(input.workItemId);
311
- if (!workItem) {
312
- return {
313
- success: false,
314
- message: {
315
- text: 'Work item not found'
316
- },
317
- data: {
318
- workItem: null
319
- }
320
- };
321
- }
322
- // Update work item
323
- const now = new Date().toISOString();
324
- const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {
325
- ...workItem,
326
- assignedUserId: input.userId,
327
- assignedAt: now,
328
- status: workItem.status === 'Pending' ? 'Pending' : workItem.status, // Keep status if already claimed
329
- updatedAt: now,
330
- });
331
- this.toastService.show({
332
- color: 'success',
333
- title: 'Work Item Assigned',
334
- content: 'Work item assigned successfully',
335
- closeButton: true,
336
- timeOut: 3000,
337
- });
338
- return {
339
- success: true,
340
- data: {
341
- workItem: updatedWorkItem
342
- }
343
- };
344
- }
345
- catch (error) {
346
- console.error('[AssignWorkItemCommand] Error:', error);
347
- this.toastService.show({
348
- color: 'danger',
349
- title: 'Assign Failed',
350
- content: error.message || 'Unknown error',
351
- closeButton: true,
352
- timeOut: 5000,
353
- });
354
- return {
355
- success: false,
356
- message: {
357
- text: error.message || 'Unknown error'
358
- },
359
- data: {
360
- workItem: null
361
- }
362
- };
363
- }
364
- }
365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AssignWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
366
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AssignWorkItemCommand }); }
367
- }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AssignWorkItemCommand, decorators: [{
369
- type: Injectable
370
- }] });
371
-
372
- //#endregion
373
- /**
374
- * Cancel Work Item Command
375
- *
376
- * Cancels a work item.
377
- */
378
- class CancelWorkItemCommand {
379
- constructor() {
380
- //#region ---- Services ----
381
- this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);
382
- this.toastService = inject(AXToastService);
383
- }
384
- //#endregion
385
- //#region ---- Command Implementation ----
386
- async execute(input) {
387
- try {
388
- // Get work item
389
- const workItem = await this.workItemService.getOne(input.workItemId);
390
- if (!workItem) {
391
- return {
392
- success: false,
393
- message: {
394
- text: 'Work item not found'
395
- },
396
- data: {
397
- workItem: null
398
- }
399
- };
400
- }
401
- // Check if already completed or cancelled
402
- if (workItem.status === 'Completed' || workItem.status === 'Cancelled') {
403
- this.toastService.show({
404
- color: 'warning',
405
- title: 'Cannot Cancel',
406
- content: `This work item is already ${workItem.status.toLowerCase()}`,
407
- closeButton: true,
408
- timeOut: 3000,
409
- });
410
- return {
411
- success: false,
412
- message: {
413
- text: `Work item is already ${workItem.status.toLowerCase()}`
414
- },
415
- data: {
416
- workItem
417
- }
418
- };
419
- }
420
- // Update work item
421
- const now = new Date().toISOString();
422
- const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {
423
- ...workItem,
424
- status: 'Cancelled',
425
- updatedAt: now,
426
- });
427
- this.toastService.show({
428
- color: 'success',
429
- title: 'Work Item Cancelled',
430
- content: 'Work item cancelled successfully',
431
- closeButton: true,
432
- timeOut: 3000,
433
- });
434
- return {
435
- success: true,
436
- data: {
437
- workItem: updatedWorkItem
438
- }
439
- };
440
- }
441
- catch (error) {
442
- console.error('[CancelWorkItemCommand] Error:', error);
443
- this.toastService.show({
444
- color: 'danger',
445
- title: 'Cancel Failed',
446
- content: error.message || 'Unknown error',
447
- closeButton: true,
448
- timeOut: 5000,
449
- });
450
- return {
451
- success: false,
452
- message: {
453
- text: error.message || 'Unknown error'
454
- },
455
- data: {
456
- workItem: null
457
- }
458
- };
459
- }
460
- }
461
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CancelWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
462
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CancelWorkItemCommand }); }
463
- }
464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CancelWorkItemCommand, decorators: [{
465
- type: Injectable
466
- }] });
467
-
468
- export { AssignWorkItemCommand, CancelWorkItemCommand, ClaimWorkItemCommand, CompleteWorkItemCommand };
469
- //# sourceMappingURL=acorex-modules-workflow-management-index-xB36g4F1.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-workflow-management-index-xB36g4F1.mjs","sources":["../tmp-esm2022/workflow-management/lib/entities/work-item/commands/claim-work-item.command.js","../tmp-esm2022/workflow-management/lib/entities/work-item/commands/complete-work-item.command.js","../tmp-esm2022/workflow-management/lib/entities/work-item/commands/assign-work-item.command.js","../tmp-esm2022/workflow-management/lib/entities/work-item/commands/cancel-work-item.command.js"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMWorkflowManagementWorkItemEntityService } from '../work-item.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Claim Work Item Command\n *\n * Claims a work item for the current user.\n */\nexport class ClaimWorkItemCommand {\n constructor() {\n //#region ---- Services ----\n this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);\n this.toastService = inject(AXToastService);\n this.sessionService = inject(AXPSessionService);\n }\n //#endregion\n //#region ---- Command Implementation ----\n async execute(input) {\n try {\n const currentUser = this.sessionService.user;\n if (!currentUser) {\n return {\n success: false,\n message: {\n text: 'User not authenticated'\n },\n data: {\n workItem: null\n }\n };\n }\n // Get work item\n const workItem = await this.workItemService.getOne(input.workItemId);\n if (!workItem) {\n return {\n success: false,\n message: {\n text: 'Work item not found'\n },\n data: {\n workItem: null\n }\n };\n }\n // Check if already claimed\n if (workItem.claimedByUserId) {\n this.toastService.show({\n color: 'warning',\n title: 'Already Claimed',\n content: 'This work item has already been claimed',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: false,\n message: {\n text: 'Work item already claimed'\n },\n data: {\n workItem\n }\n };\n }\n // Update work item\n const now = new Date().toISOString();\n const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {\n ...workItem,\n claimedByUserId: currentUser.id,\n claimedAt: now,\n status: workItem.status === 'Pending' ? 'Claimed' : workItem.status,\n updatedAt: now,\n });\n this.toastService.show({\n color: 'success',\n title: 'Work Item Claimed',\n content: 'Work item claimed successfully',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: true,\n data: {\n workItem: updatedWorkItem\n }\n };\n }\n catch (error) {\n console.error('[ClaimWorkItemCommand] Error:', error);\n this.toastService.show({\n color: 'danger',\n title: 'Claim Failed',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n workItem: null\n }\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: ClaimWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: ClaimWorkItemCommand }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: ClaimWorkItemCommand, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW0td29yay1pdGVtLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL3dvcmstaXRlbS9jb21tYW5kcy9jbGFpbS13b3JrLWl0ZW0uY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBd0JsRixZQUFZO0FBRVo7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFRSxnQ0FBZ0M7UUFFZixvQkFBZSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JFLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0F3RzdEO0lBdEdDLFlBQVk7SUFFWiw4Q0FBOEM7SUFFOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUF5QjtRQUNyQyxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU87b0JBQ0wsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSx3QkFBd0I7cUJBQy9CO29CQUNELElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsSUFBSTtxQkFDZjtpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVELGdCQUFnQjtZQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2QsT0FBTztvQkFDTCxPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLHFCQUFxQjtxQkFDNUI7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBRUQsMkJBQTJCO1lBQzNCLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQkFDckIsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLEtBQUssRUFBRSxpQkFBaUI7b0JBQ3hCLE9BQU8sRUFBRSx5Q0FBeUM7b0JBQ2xELFdBQVcsRUFBRSxJQUFJO29CQUNqQixPQUFPLEVBQUUsSUFBSTtpQkFDZCxDQUFDLENBQUM7Z0JBRUgsT0FBTztvQkFDTCxPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLDJCQUEyQjtxQkFDbEM7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLFFBQVE7cUJBQ1Q7aUJBQ0YsQ0FBQztZQUNKLENBQUM7WUFFRCxtQkFBbUI7WUFDbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7Z0JBQzdFLEdBQUcsUUFBUTtnQkFDWCxlQUFlLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQy9CLFNBQVMsRUFBRSxHQUFHO2dCQUNkLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDbkUsU0FBUyxFQUFFLEdBQUc7YUFDZixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLE9BQU8sRUFBRSxnQ0FBZ0M7Z0JBQ3pDLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFO29CQUNKLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXRELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsUUFBUTtnQkFDZixLQUFLLEVBQUUsY0FBYztnQkFDckIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksZUFBZTtnQkFDekMsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksZUFBZTtpQkFDdkM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOytHQTFHVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWE1Xb3JrZmxvd01hbmFnZW1lbnRXb3JrSXRlbUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi93b3JrLWl0ZW0uc2VydmljZSc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbi8qKlxuICogSW5wdXQgZm9yIENsYWltV29ya0l0ZW0gY29tbWFuZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsYWltV29ya0l0ZW1JbnB1dCB7XG4gIC8qKlxuICAgKiBXb3JrIGl0ZW0gSURcbiAgICovXG4gIHdvcmtJdGVtSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXQgZm9yIENsYWltV29ya0l0ZW0gY29tbWFuZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsYWltV29ya0l0ZW1PdXRwdXQge1xuICAvKipcbiAgICogVXBkYXRlZCB3b3JrIGl0ZW1cbiAgICovXG4gIHdvcmtJdGVtOiBhbnk7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vKipcbiAqIENsYWltIFdvcmsgSXRlbSBDb21tYW5kXG4gKiBcbiAqIENsYWltcyBhIHdvcmsgaXRlbSBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsYWltV29ya0l0ZW1Db21tYW5kIGltcGxlbWVudHMgQVhQQ29tbWFuZDxDbGFpbVdvcmtJdGVtSW5wdXQsIENsYWltV29ya0l0ZW1PdXRwdXQ+IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtJdGVtU2VydmljZSA9IGluamVjdChBWE1Xb3JrZmxvd01hbmFnZW1lbnRXb3JrSXRlbUVudGl0eVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiBDbGFpbVdvcmtJdGVtSW5wdXQpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PENsYWltV29ya0l0ZW1PdXRwdXQ+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyO1xuICAgICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdVc2VyIG5vdCBhdXRoZW50aWNhdGVkJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIEdldCB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IHdvcmtJdGVtID0gYXdhaXQgdGhpcy53b3JrSXRlbVNlcnZpY2UuZ2V0T25lKGlucHV0LndvcmtJdGVtSWQpO1xuICAgICAgaWYgKCF3b3JrSXRlbSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdXb3JrIGl0ZW0gbm90IGZvdW5kJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGFscmVhZHkgY2xhaW1lZFxuICAgICAgaWYgKHdvcmtJdGVtLmNsYWltZWRCeVVzZXJJZCkge1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgICAgIHRpdGxlOiAnQWxyZWFkeSBDbGFpbWVkJyxcbiAgICAgICAgICBjb250ZW50OiAnVGhpcyB3b3JrIGl0ZW0gaGFzIGFscmVhZHkgYmVlbiBjbGFpbWVkJyxcbiAgICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdXb3JrIGl0ZW0gYWxyZWFkeSBjbGFpbWVkJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFVwZGF0ZSB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRXb3JrSXRlbSA9IGF3YWl0IHRoaXMud29ya0l0ZW1TZXJ2aWNlLnVwZGF0ZU9uZShpbnB1dC53b3JrSXRlbUlkLCB7XG4gICAgICAgIC4uLndvcmtJdGVtLFxuICAgICAgICBjbGFpbWVkQnlVc2VySWQ6IGN1cnJlbnRVc2VyLmlkLFxuICAgICAgICBjbGFpbWVkQXQ6IG5vdyxcbiAgICAgICAgc3RhdHVzOiB3b3JrSXRlbS5zdGF0dXMgPT09ICdQZW5kaW5nJyA/ICdDbGFpbWVkJyA6IHdvcmtJdGVtLnN0YXR1cyxcbiAgICAgICAgdXBkYXRlZEF0OiBub3csXG4gICAgICB9KTtcblxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnV29yayBJdGVtIENsYWltZWQnLFxuICAgICAgICBjb250ZW50OiAnV29yayBpdGVtIGNsYWltZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIHRpbWVPdXQ6IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHdvcmtJdGVtOiB1cGRhdGVkV29ya0l0ZW1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbQ2xhaW1Xb3JrSXRlbUNvbW1hbmRdIEVycm9yOicsIGVycm9yKTtcblxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgdGl0bGU6ICdDbGFpbSBGYWlsZWQnLFxuICAgICAgICBjb250ZW50OiBlcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIHRpbWVPdXQ6IDUwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICB0ZXh0OiBlcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJ1xuICAgICAgICB9LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cblxuIl19","import { Injectable, inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowManager } from '@acorex/platform/workflow';\nimport { AXPActivityDefinitionService } from '@acorex/platform/workflow';\nimport { AXMWorkflowManagementWorkItemEntityService } from '../work-item.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Complete Work Item Command\n *\n * Completes a work item and optionally resumes the workflow.\n */\nexport class CompleteWorkItemCommand {\n constructor() {\n //#region ---- Services ----\n this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);\n this.toastService = inject(AXToastService);\n this.sessionService = inject(AXPSessionService);\n this.workflowManager = inject(AXPWorkflowManager);\n this.activityDefinitionService = inject(AXPActivityDefinitionService);\n }\n //#endregion\n //#region ---- Command Implementation ----\n async execute(input) {\n try {\n const currentUser = this.sessionService.user;\n if (!currentUser) {\n return {\n success: false,\n message: {\n text: 'User not authenticated'\n },\n data: {\n workItem: null\n }\n };\n }\n // Get work item\n const workItem = await this.workItemService.getOne(input.workItemId);\n if (!workItem) {\n return {\n success: false,\n message: {\n text: 'Work item not found'\n },\n data: {\n workItem: null\n }\n };\n }\n // Check if already completed\n if (workItem.status === 'Completed') {\n this.toastService.show({\n color: 'warning',\n title: 'Already Completed',\n content: 'This work item has already been completed',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: false,\n message: {\n text: 'Work item already completed'\n },\n data: {\n workItem\n }\n };\n }\n // Update work item\n const now = new Date().toISOString();\n const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {\n ...workItem,\n completedByUserId: currentUser.id,\n completedAt: now,\n status: 'Completed',\n updatedAt: now,\n });\n // Resume workflow if bookmark exists\n let nextTask = undefined;\n let workflowState = undefined;\n if (workItem.bookmarkId && workItem.instanceId) {\n try {\n // Get taskToken from workitem (stored when workitem was created)\n const taskToken = workItem.taskToken;\n if (!taskToken) {\n console.warn(`[CompleteWorkItemCommand] ⚠️ TaskToken not found in workitem ${workItem.id}, cannot resume workflow`);\n }\n else {\n // Determine outcome from activity definition if not provided\n let outcome = input.outcome;\n if (!outcome) {\n // Get activity name from workItem (activityName stores the activity type/name)\n const activityName = workItem.activityName;\n if (activityName) {\n // Get activity definition to determine default outcome\n const activityDef = await this.activityDefinitionService.getActivityByName(activityName);\n if (activityDef?.outcomes && activityDef.outcomes.length > 0) {\n // For collect-signature, use 'Signed' as default outcome\n // Otherwise use first outcome or 'Done'\n if (activityDef.name === 'workflow-activity:collect-signature') {\n outcome = 'Signed';\n }\n else {\n outcome = activityDef.outcomes[0] || 'Done';\n }\n }\n else {\n outcome = 'Done';\n }\n }\n else {\n outcome = 'Done';\n }\n }\n // Resume workflow using WorkflowManager\n const resumeResult = await this.workflowManager.resume(workItem.instanceId, workItem.activityNodeId, outcome || 'Done', input.output, taskToken);\n if (!resumeResult.success) {\n console.error('[CompleteWorkItemCommand] Workflow resume failed:', resumeResult.error);\n }\n else {\n // Store nextTask and state for return\n nextTask = resumeResult.nextTask || undefined;\n workflowState = resumeResult.state;\n }\n }\n }\n catch (workflowError) {\n console.error('[CompleteWorkItemCommand] Workflow resume error:', workflowError);\n // Don't fail the command if workflow resume fails\n }\n }\n // Show success message\n this.toastService.show({\n color: 'success',\n title: 'Work Item Completed',\n content: workflowState?.status === 'completed'\n ? 'Work item completed and workflow finished successfully'\n : nextTask\n ? `Work item completed. Next activity: ${nextTask.activityType || nextTask.activityName || 'Unknown'}`\n : 'Work item completed successfully',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: true,\n data: {\n workItem: updatedWorkItem,\n nextTask,\n state: workflowState,\n },\n };\n }\n catch (error) {\n console.error('[CompleteWorkItemCommand] Error:', error);\n this.toastService.show({\n color: 'danger',\n title: 'Complete Failed',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n workItem: null\n }\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CompleteWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CompleteWorkItemCommand }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CompleteWorkItemCommand, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtd29yay1pdGVtLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL3dvcmstaXRlbS9jb21tYW5kcy9jb21wbGV0ZS13b3JrLWl0ZW0uY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBNENsRixZQUFZO0FBRVo7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRSxnQ0FBZ0M7UUFFZixvQkFBZSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JFLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3Qyw4QkFBeUIsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQTBLbkY7SUF4S0MsWUFBWTtJQUVaLDhDQUE4QztJQUU5QyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQTRCO1FBQ3hDLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFj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IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01hbmFnZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYUEFjdGl2aXR5RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYTVdvcmtmbG93TWFuYWdlbWVudFdvcmtJdGVtRW50aXR5U2VydmljZSB9IGZyb20gJy4uL3dvcmstaXRlbS5zZXJ2aWNlJztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuLyoqXG4gKiBJbnB1dCBmb3IgQ29tcGxldGVXb3JrSXRlbSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVXb3JrSXRlbUlucHV0IHtcbiAgLyoqXG4gICAqIFdvcmsgaXRlbSBJRFxuICAgKi9cbiAgd29ya0l0ZW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBvdXRwdXQgZGF0YSBmb3Igd29ya2Zsb3cgcmVzdW1lXG4gICAqL1xuICBvdXRwdXQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBvdXRjb21lIGZvciB3b3JrZmxvdyByZXN1bWVcbiAgICovXG4gIG91dGNvbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3V0cHV0IGZvciBDb21wbGV0ZVdvcmtJdGVtIGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZVdvcmtJdGVtT3V0cHV0IHtcbiAgLyoqXG4gICAqIFVwZGF0ZWQgd29yayBpdGVtXG4gICAqL1xuICB3b3JrSXRlbTogYW55O1xuXG4gIC8qKlxuICAgKiBOZXh0IHRhc2sgdG8gZXhlY3V0ZSAoaWYgYW55KVxuICAgKi9cbiAgbmV4dFRhc2s/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgd29ya2Zsb3cgc3RhdGVcbiAgICovXG4gIHN0YXRlPzogYW55O1xufVxuXG4vLyNlbmRyZWdpb25cblxuLyoqXG4gKiBDb21wbGV0ZSBXb3JrIEl0ZW0gQ29tbWFuZFxuICogXG4gKiBDb21wbGV0ZXMgYSB3b3JrIGl0ZW0gYW5kIG9wdGlvbmFsbHkgcmVzdW1lcyB0aGUgd29ya2Zsb3cuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21wbGV0ZVdvcmtJdGVtQ29tbWFuZCBpbXBsZW1lbnRzIEFYUENvbW1hbmQ8Q29tcGxldGVXb3JrSXRlbUlucHV0LCBDb21wbGV0ZVdvcmtJdGVtT3V0cHV0PiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgU2VydmljZXMgICAtLS0tXG5cbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrSXRlbVNlcnZpY2UgPSBpbmplY3QoQVhNV29ya2Zsb3dNYW5hZ2VtZW50V29ya0l0ZW1FbnRpdHlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvd01hbmFnZXIgPSBpbmplY3QoQVhQV29ya2Zsb3dNYW5hZ2VyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eURlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUEFjdGl2aXR5RGVmaW5pdGlvblNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiBDb21wbGV0ZVdvcmtJdGVtSW5wdXQpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PENvbXBsZXRlV29ya0l0ZW1PdXRwdXQ+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyO1xuICAgICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdVc2VyIG5vdCBhdXRoZW50aWNhdGVkJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIEdldCB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IHdvcmtJdGVtID0gYXdhaXQgdGhpcy53b3JrSXRlbVNlcnZpY2UuZ2V0T25lKGlucHV0LndvcmtJdGVtSWQpO1xuICAgICAgaWYgKCF3b3JrSXRlbSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdXb3JrIGl0ZW0gbm90IGZvdW5kJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGFscmVhZHkgY29tcGxldGVkXG4gICAgICBpZiAod29ya0l0ZW0uc3RhdHVzID09PSAnQ29tcGxldGVkJykge1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgICAgIHRpdGxlOiAnQWxyZWFkeSBDb21wbGV0ZWQnLFxuICAgICAgICAgIGNvbnRlbnQ6ICdUaGlzIHdvcmsgaXRlbSBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlZCcsXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICB0ZXh0OiAnV29yayBpdGVtIGFscmVhZHkgY29tcGxldGVkJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFVwZGF0ZSB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRXb3JrSXRlbSA9IGF3YWl0IHRoaXMud29ya0l0ZW1TZXJ2aWNlLnVwZGF0ZU9uZShpbnB1dC53b3JrSXRlbUlkLCB7XG4gICAgICAgIC4uLndvcmtJdGVtLFxuICAgICAgICBjb21wbGV0ZWRCeVVzZXJJZDogY3VycmVudFVzZXIuaWQsXG4gICAgICAgIGNvbXBsZXRlZEF0OiBub3csXG4gICAgICAgIHN0YXR1czogJ0NvbXBsZXRlZCcsXG4gICAgICAgIHVwZGF0ZWRBdDogbm93LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFJlc3VtZSB3b3JrZmxvdyBpZiBib29rbWFyayBleGlzdHNcbiAgICAgIGxldCBuZXh0VGFzazogYW55ID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IHdvcmtmbG93U3RhdGU6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKHdvcmtJdGVtLmJvb2ttYXJrSWQgJiYgd29ya0l0ZW0uaW5zdGFuY2VJZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEdldCB0YXNrVG9rZW4gZnJvbSB3b3JraXRlbSAoc3RvcmVkIHdoZW4gd29ya2l0ZW0gd2FzIGNyZWF0ZWQpXG4gICAgICAgICAgY29uc3QgdGFza1Rva2VuID0gKHdvcmtJdGVtIGFzIGFueSkudGFza1Rva2VuO1xuICAgICAgICAgIFxuICAgICAgICAgIGlmICghdGFza1Rva2VuKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFtDb21wbGV0ZVdvcmtJdGVtQ29tbWFuZF0g4pqg77iPIFRhc2tUb2tlbiBub3QgZm91bmQgaW4gd29ya2l0ZW0gJHt3b3JrSXRlbS5pZH0sIGNhbm5vdCByZXN1bWUgd29ya2Zsb3dgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIG91dGNvbWUgZnJvbSBhY3Rpdml0eSBkZWZpbml0aW9uIGlmIG5vdCBwcm92aWRlZFxuICAgICAgICAgICAgbGV0IG91dGNvbWUgPSBpbnB1dC5vdXRjb21lO1xuICAgICAgICAgICAgaWYgKCFvdXRjb21lKSB7XG4gICAgICAgICAgICAgIC8vIEdldCBhY3Rpdml0eSBuYW1lIGZyb20gd29ya0l0ZW0gKGFjdGl2aXR5TmFtZSBzdG9yZXMgdGhlIGFjdGl2aXR5IHR5cGUvbmFtZSlcbiAgICAgICAgICAgICAgY29uc3QgYWN0aXZpdHlOYW1lID0gd29ya0l0ZW0uYWN0aXZpdHlOYW1lO1xuICAgICAgICAgICAgICBpZiAoYWN0aXZpdHlOYW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gR2V0IGFjdGl2aXR5IGRlZmluaXRpb24gdG8gZGV0ZXJtaW5lIGRlZmF1bHQgb3V0Y29tZVxuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2aXR5RGVmID0gYXdhaXQgdGhpcy5hY3Rpdml0eURlZmluaXRpb25TZXJ2aWNlLmdldEFjdGl2aXR5QnlOYW1lKGFjdGl2aXR5TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2aXR5RGVmPy5vdXRjb21lcyAmJiBhY3Rpdml0eURlZi5vdXRjb21lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAvLyBGb3IgY29sbGVjdC1zaWduYXR1cmUsIHVzZSAnU2lnbmVkJyBhcyBkZWZhdWx0IG91dGNvbWVcbiAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSB1c2UgZmlyc3Qgb3V0Y29tZSBvciAnRG9uZSdcbiAgICAgICAgICAgICAgICAgIGlmIChhY3Rpdml0eURlZi5uYW1lID09PSAnd29ya2Zsb3ctYWN0aXZpdHk6Y29sbGVjdC1zaWduYXR1cmUnKSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGNvbWUgPSAnU2lnbmVkJztcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGNvbWUgPSBhY3Rpdml0eURlZi5vdXRjb21lc1swXSB8fCAnRG9uZSc7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIG91dGNvbWUgPSAnRG9uZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dGNvbWUgPSAnRG9uZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVzdW1lIHdvcmtmbG93IHVzaW5nIFdvcmtmbG93TWFuYWdlclxuICAgICAgICAgICAgY29uc3QgcmVzdW1lUmVzdWx0ID0gYXdhaXQgdGhpcy53b3JrZmxvd01hbmFnZXIucmVzdW1lKFxuICAgICAgICAgICAgICB3b3JrSXRlbS5pbnN0YW5jZUlkLFxuICAgICAgICAgICAgICB3b3JrSXRlbS5hY3Rpdml0eU5vZGVJZCxcbiAgICAgICAgICAgICAgb3V0Y29tZSB8fCAnRG9uZScsXG4gICAgICAgICAgICAgIGlucHV0Lm91dHB1dCxcbiAgICAgICAgICAgICAgdGFza1Rva2VuXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIXJlc3VtZVJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tDb21wbGV0ZVdvcmtJdGVtQ29tbWFuZF0gV29ya2Zsb3cgcmVzdW1lIGZhaWxlZDonLCByZXN1bWVSZXN1bHQuZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU3RvcmUgbmV4dFRhc2sgYW5kIHN0YXRlIGZvciByZXR1cm5cbiAgICAgICAgICAgICAgbmV4dFRhc2sgPSByZXN1bWVSZXN1bHQubmV4dFRhc2sgfHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICB3b3JrZmxvd1N0YXRlID0gcmVzdW1lUmVzdWx0LnN0YXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAod29ya2Zsb3dFcnJvcjogYW55KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignW0NvbXBsZXRlV29ya0l0ZW1Db21tYW5kXSBXb3JrZmxvdyByZXN1bWUgZXJyb3I6Jywgd29ya2Zsb3dFcnJvcik7XG4gICAgICAgICAgLy8gRG9uJ3QgZmFpbCB0aGUgY29tbWFuZCBpZiB3b3JrZmxvdyByZXN1bWUgZmFpbHNcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTaG93IHN1Y2Nlc3MgbWVzc2FnZVxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIHRpdGxlOiAnV29yayBJdGVtIENvbXBsZXRlZCcsXG4gICAgICAgIGNvbnRlbnQ6IHdvcmtmbG93U3RhdGU/LnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcgXG4gICAgICAgICAgPyAnV29yayBpdGVtIGNvbXBsZXRlZCBhbmQgd29ya2Zsb3cgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5J1xuICAgICAgICAgIDogbmV4dFRhc2sgXG4gICAgICAgICAgICA/IGBXb3JrIGl0ZW0gY29tcGxldGVkLiBOZXh0IGFjdGl2aXR5OiAke25leHRUYXNrLmFjdGl2aXR5VHlwZSB8fCBuZXh0VGFzay5hY3Rpdml0eU5hbWUgfHwgJ1Vua25vd24nfWBcbiAgICAgICAgICAgIDogJ1dvcmsgaXRlbSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIHRpbWVPdXQ6IDMwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHdvcmtJdGVtOiB1cGRhdGVkV29ya0l0ZW0sXG4gICAgICAgICAgbmV4dFRhc2ssXG4gICAgICAgICAgc3RhdGU6IHdvcmtmbG93U3RhdGUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tDb21wbGV0ZVdvcmtJdGVtQ29tbWFuZF0gRXJyb3I6JywgZXJyb3IpO1xuXG4gICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB0aXRsZTogJ0NvbXBsZXRlIEZhaWxlZCcsXG4gICAgICAgIGNvbnRlbnQ6IGVycm9yLm1lc3NhZ2UgfHwgJ1Vua25vd24gZXJyb3InLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgdGltZU91dDogNTAwMCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgIHRleHQ6IGVycm9yLm1lc3NhZ2UgfHwgJ1Vua25vd24gZXJyb3InXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB3b3JrSXRlbTogbnVsbFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuXG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXMWorkflowManagementWorkItemEntityService } from '../work-item.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Assign Work Item Command\n *\n * Assigns a work item to a user.\n */\nexport class AssignWorkItemCommand {\n constructor() {\n //#region ---- Services ----\n this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);\n this.toastService = inject(AXToastService);\n }\n //#endregion\n //#region ---- Command Implementation ----\n async execute(input) {\n try {\n // Get work item\n const workItem = await this.workItemService.getOne(input.workItemId);\n if (!workItem) {\n return {\n success: false,\n message: {\n text: 'Work item not found'\n },\n data: {\n workItem: null\n }\n };\n }\n // Update work item\n const now = new Date().toISOString();\n const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {\n ...workItem,\n assignedUserId: input.userId,\n assignedAt: now,\n status: workItem.status === 'Pending' ? 'Pending' : workItem.status, // Keep status if already claimed\n updatedAt: now,\n });\n this.toastService.show({\n color: 'success',\n title: 'Work Item Assigned',\n content: 'Work item assigned successfully',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: true,\n data: {\n workItem: updatedWorkItem\n }\n };\n }\n catch (error) {\n console.error('[AssignWorkItemCommand] Error:', error);\n this.toastService.show({\n color: 'danger',\n title: 'Assign Failed',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n workItem: null\n }\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AssignWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AssignWorkItemCommand }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AssignWorkItemCommand, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXdvcmstaXRlbS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy93b3JrLWl0ZW0vY29tbWFuZHMvYXNzaWduLXdvcmstaXRlbS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUE2QmxGLFlBQVk7QUFFWjs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVFLGdDQUFnQztRQUVmLG9CQUFlLEdBQUcsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDckUsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FzRXhEO0lBcEVDLFlBQVk7SUFFWiw4Q0FBOEM7SUFFOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUEwQjtRQUN0QyxJQUFJLENBQUM7WUFDSCxnQkFBZ0I7WUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLE9BQU87b0JBQ0wsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxxQkFBcUI7cUJBQzVCO29CQUNELElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsSUFBSTtxQkFDZjtpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVELG1CQUFtQjtZQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDN0UsR0FBRyxRQUFRO2dCQUNYLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDNUIsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsaUNBQWlDO2dCQUN0RyxTQUFTLEVBQUUsR0FBRzthQUNmLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsS0FBSyxFQUFFLG9CQUFvQjtnQkFDM0IsT0FBTyxFQUFFLGlDQUFpQztnQkFDMUMsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUU7b0JBQ0osUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBRSxlQUFlO2dCQUN0QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxlQUFlO2dCQUN6QyxXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxlQUFlO2lCQUN2QztnQkFDRCxJQUFJLEVBQUU7b0JBQ0osUUFBUSxFQUFFLElBQUk7aUJBQ2Y7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBdkVVLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEFYTVdvcmtmbG93TWFuYWdlbWVudFdvcmtJdGVtRW50aXR5U2VydmljZSB9IGZyb20gJy4uL3dvcmstaXRlbS5zZXJ2aWNlJztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuLyoqXG4gKiBJbnB1dCBmb3IgQXNzaWduV29ya0l0ZW0gY29tbWFuZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbldvcmtJdGVtSW5wdXQge1xuICAvKipcbiAgICogV29yayBpdGVtIElEXG4gICAqL1xuICB3b3JrSXRlbUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZXIgSUQgdG8gYXNzaWduIHRvXG4gICAqL1xuICB1c2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXQgZm9yIEFzc2lnbldvcmtJdGVtIGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25Xb3JrSXRlbU91dHB1dCB7XG4gIC8qKlxuICAgKiBVcGRhdGVkIHdvcmsgaXRlbVxuICAgKi9cbiAgd29ya0l0ZW06IGFueTtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8qKlxuICogQXNzaWduIFdvcmsgSXRlbSBDb21tYW5kXG4gKiBcbiAqIEFzc2lnbnMgYSB3b3JrIGl0ZW0gdG8gYSB1c2VyLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXNzaWduV29ya0l0ZW1Db21tYW5kIGltcGxlbWVudHMgQVhQQ29tbWFuZDxBc3NpZ25Xb3JrSXRlbUlucHV0LCBBc3NpZ25Xb3JrSXRlbU91dHB1dD4ge1xuICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya0l0ZW1TZXJ2aWNlID0gaW5qZWN0KEFYTVdvcmtmbG93TWFuYWdlbWVudFdvcmtJdGVtRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbW1hbmQgSW1wbGVtZW50YXRpb24gICAtLS0tXG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDogQXNzaWduV29ya0l0ZW1JbnB1dCk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ8QXNzaWduV29ya0l0ZW1PdXRwdXQ+PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEdldCB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IHdvcmtJdGVtID0gYXdhaXQgdGhpcy53b3JrSXRlbVNlcnZpY2UuZ2V0T25lKGlucHV0LndvcmtJdGVtSWQpO1xuICAgICAgaWYgKCF3b3JrSXRlbSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHRleHQ6ICdXb3JrIGl0ZW0gbm90IGZvdW5kJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFVwZGF0ZSB3b3JrIGl0ZW1cbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRXb3JrSXRlbSA9IGF3YWl0IHRoaXMud29ya0l0ZW1TZXJ2aWNlLnVwZGF0ZU9uZShpbnB1dC53b3JrSXRlbUlkLCB7XG4gICAgICAgIC4uLndvcmtJdGVtLFxuICAgICAgICBhc3NpZ25lZFVzZXJJZDogaW5wdXQudXNlcklkLFxuICAgICAgICBhc3NpZ25lZEF0OiBub3csXG4gICAgICAgIHN0YXR1czogd29ya0l0ZW0uc3RhdHVzID09PSAnUGVuZGluZycgPyAnUGVuZGluZycgOiB3b3JrSXRlbS5zdGF0dXMsIC8vIEtlZXAgc3RhdHVzIGlmIGFscmVhZHkgY2xhaW1lZFxuICAgICAgICB1cGRhdGVkQXQ6IG5vdyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICdXb3JrIEl0ZW0gQXNzaWduZWQnLFxuICAgICAgICBjb250ZW50OiAnV29yayBpdGVtIGFzc2lnbmVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB3b3JrSXRlbTogdXBkYXRlZFdvcmtJdGVtXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgY29uc29sZS5lcnJvcignW0Fzc2lnbldvcmtJdGVtQ29tbWFuZF0gRXJyb3I6JywgZXJyb3IpO1xuXG4gICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB0aXRsZTogJ0Fzc2lnbiBGYWlsZWQnLFxuICAgICAgICBjb250ZW50OiBlcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIHRpbWVPdXQ6IDUwMDAsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICB0ZXh0OiBlcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJ1xuICAgICAgICB9LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgd29ya0l0ZW06IG51bGxcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cblxuIl19","import { Injectable, inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXMWorkflowManagementWorkItemEntityService } from '../work-item.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Cancel Work Item Command\n *\n * Cancels a work item.\n */\nexport class CancelWorkItemCommand {\n constructor() {\n //#region ---- Services ----\n this.workItemService = inject(AXMWorkflowManagementWorkItemEntityService);\n this.toastService = inject(AXToastService);\n }\n //#endregion\n //#region ---- Command Implementation ----\n async execute(input) {\n try {\n // Get work item\n const workItem = await this.workItemService.getOne(input.workItemId);\n if (!workItem) {\n return {\n success: false,\n message: {\n text: 'Work item not found'\n },\n data: {\n workItem: null\n }\n };\n }\n // Check if already completed or cancelled\n if (workItem.status === 'Completed' || workItem.status === 'Cancelled') {\n this.toastService.show({\n color: 'warning',\n title: 'Cannot Cancel',\n content: `This work item is already ${workItem.status.toLowerCase()}`,\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: false,\n message: {\n text: `Work item is already ${workItem.status.toLowerCase()}`\n },\n data: {\n workItem\n }\n };\n }\n // Update work item\n const now = new Date().toISOString();\n const updatedWorkItem = await this.workItemService.updateOne(input.workItemId, {\n ...workItem,\n status: 'Cancelled',\n updatedAt: now,\n });\n this.toastService.show({\n color: 'success',\n title: 'Work Item Cancelled',\n content: 'Work item cancelled successfully',\n closeButton: true,\n timeOut: 3000,\n });\n return {\n success: true,\n data: {\n workItem: updatedWorkItem\n }\n };\n }\n catch (error) {\n console.error('[CancelWorkItemCommand] Error:', error);\n this.toastService.show({\n color: 'danger',\n title: 'Cancel Failed',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n workItem: null\n }\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CancelWorkItemCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CancelWorkItemCommand }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: CancelWorkItemCommand, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLXdvcmstaXRlbS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3dvcmtmbG93LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy93b3JrLWl0ZW0vY29tbWFuZHMvY2FuY2VsLXdvcmstaXRlbS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUF3QmxGLFlBQVk7QUFFWjs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVFLGdDQUFnQztRQUVmLG9CQUFlLEdBQUcsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDckUsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0F5RnhEO0lBdkZDLFlBQVk7SUFFWiw4Q0FBOEM7SUFFOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUEwQjtRQUN0QyxJQUFJLENBQUM7WUFDSCxnQkFBZ0I7WUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLE9BQU87b0JBQ0wsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxxQkFBcUI7cUJBQzVCO29CQUNELElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsSUFBSTtxQkFDZjtpQkFDRixDQUFDO1lBQ0osQ0FBQztZQUVELDBDQUEwQztZQUMxQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO29CQUNyQixLQUFLLEVBQUUsU0FBUztvQkFDaEIsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLE9BQU8sRUFBRSw2QkFBNkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDckUsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUMsQ0FBQztnQkFFSCxPQUFPO29CQUNMLE9BQU8sRUFBRSxLQUFLO29CQUNkLE9BQU8sRUFBRTt3QkFDUCxJQUFJLEVBQUUsd0JBQXdCLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUU7cUJBQzlEO29CQUNELElBQUksRUFBRTt3QkFDSixRQUFRO3FCQUNUO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBRUQsbUJBQW1CO1lBQ25CLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO2dCQUM3RSxHQUFHLFFBQVE7Z0JBQ1gsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFNBQVMsRUFBRSxHQUFHO2FBQ2YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUscUJBQXFCO2dCQUM1QixPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRTtvQkFDSixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV2RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGVBQWU7Z0JBQ3pDLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGVBQWU7aUJBQ3ZDO2dCQUNELElBQUksRUFBRTtvQkFDSixRQUFRLEVBQUUsSUFBSTtpQkFDZjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0ExRlUscUJBQXFCO21IQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhNV29ya2Zsb3dNYW5hZ2VtZW50V29ya0l0ZW1FbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vd29yay1pdGVtLnNlcnZpY2UnO1xuXG4vLyNyZWdpb24gLS0tLSAgIFR5cGVzICAgLS0tLVxuXG4vKipcbiAqIElucHV0IGZvciBDYW5jZWxXb3JrSXRlbSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsV29ya0l0ZW1JbnB1dCB7XG4gIC8qKlxuICAgKiBXb3JrIGl0ZW0gSURcbiAgICovXG4gIHdvcmtJdGVtSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXQgZm9yIENhbmNlbFdvcmtJdGVtIGNvbW1hbmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYW5jZWxXb3JrSXRlbU91dHB1dCB7XG4gIC8qKlxuICAgKiBVcGRhdGVkIHdvcmsgaXRlbVxuICAgKi9cbiAgd29ya0l0ZW06IGFueTtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8qKlxuICogQ2FuY2VsIFdvcmsgSXRlbSBDb21tYW5kXG4gKiBcbiAqIENhbmNlbHMgYSB3b3JrIGl0ZW0uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYW5jZWxXb3JrSXRlbUNvbW1hbmQgaW1wbGVtZW50cyBBWFBDb21tYW5kPENhbmNlbFdvcmtJdGVtSW5wdXQsIENhbmNlbFdvcmtJdGVtT3V0cHV0PiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgU2VydmljZXMgICAtLS0tXG5cbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrSXRlbVNlcnZpY2UgPSBpbmplY3QoQVhNV29ya2Zsb3dNYW5hZ2VtZW50V29ya0l0ZW1FbnRpdHlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiBDYW5jZWxXb3JrSXRlbUlucHV0KTogUHJvbWlzZTxBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdDxDYW5jZWxXb3JrSXRlbU91dHB1dD4+IHtcbiAgICB0cnkge1xuICAgICAgLy8gR2V0IHdvcmsgaXRlbVxuICAgICAgY29uc3Qgd29ya0l0ZW0gPSBhd2FpdCB0aGlzLndvcmtJdGVtU2VydmljZS5nZXRPbmUoaW5wdXQud29ya0l0ZW1JZCk7XG4gICAgICBpZiAoIXdvcmtJdGVtKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgdGV4dDogJ1dvcmsgaXRlbSBub3QgZm91bmQnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB3b3JrSXRlbTogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgYWxyZWFkeSBjb21wbGV0ZWQgb3IgY2FuY2VsbGVkXG4gICAgICBpZiAod29ya0l0ZW0uc3RhdHVzID09PSAnQ29tcGxldGVkJyB8fCB3b3JrSXRlbS5zdGF0dXMgPT09ICdDYW5jZWxsZWQnKSB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xuICAgICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgICAgdGl0bGU6ICdDYW5ub3QgQ2FuY2VsJyxcbiAgICAgICAgICBjb250ZW50OiBgVGhpcyB3b3JrIGl0ZW0gaXMgYWxyZWFkeSAke3dvcmtJdGVtLnN0YXR1cy50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICB0ZXh0OiBgV29yayBpdGVtIGlzIGFscmVhZHkgJHt3b3JrSXRlbS5zdGF0dXMudG9Mb3dlckNhc2UoKX1gXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB3b3JrSXRlbVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gVXBkYXRlIHdvcmsgaXRlbVxuICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgICAgY29uc3QgdXBkYXRlZFdvcmtJdGVtID0gYXdhaXQgdGhpcy53b3JrSXRlbVNlcnZpY2UudXBkYXRlT25lKGlucHV0LndvcmtJdGVtSWQsIHtcbiAgICAgICAgLi4ud29ya0l0ZW0sXG4gICAgICAgIHN0YXR1czogJ0NhbmNlbGxlZCcsXG4gICAgICAgIHVwZGF0ZWRBdDogbm93LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB0aXRsZTogJ1dvcmsgSXRlbSBDYW5jZWxsZWQnLFxuICAgICAgICBjb250ZW50OiAnV29yayBpdGVtIGNhbmNlbGxlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgd29ya0l0ZW06IHVwZGF0ZWRXb3JrSXRlbVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tDYW5jZWxXb3JrSXRlbUNvbW1hbmRdIEVycm9yOicsIGVycm9yKTtcblxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgdGl0bGU6ICdDYW5jZWwgRmFpbGVkJyxcbiAgICAgICAgY29udGVudDogZXJyb3IubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiA1MDAwLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdGV4dDogZXJyb3IubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvcidcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHdvcmtJdGVtOiBudWxsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbiJdfQ=="],"names":[],"mappings":";;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0CAA0C,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,IAAI;AACJ;AACA;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ,YAAY,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;AACxD,YAAY,IAAI,CAAC,WAAW,EAAE;AAC9B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAChF,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,IAAI,QAAQ,CAAC,eAAe,EAAE;AAC1C,gBAAgB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvC,oBAAoB,KAAK,EAAE,SAAS;AACpC,oBAAoB,KAAK,EAAE,iBAAiB;AAC5C,oBAAoB,OAAO,EAAE,yCAAyC;AACtE,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,OAAO,EAAE,IAAI;AACjC,iBAAiB,CAAC;AAClB,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB;AACxB;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,YAAY,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;AAC3F,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,eAAe,EAAE,WAAW,CAAC,EAAE;AAC/C,gBAAgB,SAAS,EAAE,GAAG;AAC9B,gBAAgB,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM;AACnF,gBAAgB,SAAS,EAAE,GAAG;AAC9B,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,mBAAmB;AAC1C,gBAAgB,OAAO,EAAE,gCAAgC;AACzD,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACjE,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,KAAK,EAAE,cAAc;AACrC,gBAAgB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;AACzD,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI;AAC3C,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACxL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC3I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AC3Gb;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0CAA0C,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACzD,QAAQ,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAC7E,IAAI;AACJ;AACA;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ,YAAY,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;AACxD,YAAY,IAAI,CAAC,WAAW,EAAE;AAC9B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAChF,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;AACjD,gBAAgB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvC,oBAAoB,KAAK,EAAE,SAAS;AACpC,oBAAoB,KAAK,EAAE,mBAAmB;AAC9C,oBAAoB,OAAO,EAAE,2CAA2C;AACxE,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,OAAO,EAAE,IAAI;AACjC,iBAAiB,CAAC;AAClB,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB;AACxB;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,YAAY,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;AAC3F,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,iBAAiB,EAAE,WAAW,CAAC,EAAE;AACjD,gBAAgB,WAAW,EAAE,GAAG;AAChC,gBAAgB,MAAM,EAAE,WAAW;AACnC,gBAAgB,SAAS,EAAE,GAAG;AAC9B,aAAa,CAAC;AACd;AACA,YAAY,IAAI,QAAQ,GAAG,SAAS;AACpC,YAAY,IAAI,aAAa,GAAG,SAAS;AACzC,YAAY,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE;AAC5D,gBAAgB,IAAI;AACpB;AACA,oBAAoB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS;AACxD,oBAAoB,IAAI,CAAC,SAAS,EAAE;AACpC,wBAAwB,OAAO,CAAC,IAAI,CAAC,CAAC,6DAA6D,EAAE,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAC3I,oBAAoB;AACpB,yBAAyB;AACzB;AACA,wBAAwB,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;AACnD,wBAAwB,IAAI,CAAC,OAAO,EAAE;AACtC;AACA,4BAA4B,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY;AACtE,4BAA4B,IAAI,YAAY,EAAE;AAC9C;AACA,gCAAgC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,YAAY,CAAC;AACxH,gCAAgC,IAAI,WAAW,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9F;AACA;AACA,oCAAoC,IAAI,WAAW,CAAC,IAAI,KAAK,qCAAqC,EAAE;AACpG,wCAAwC,OAAO,GAAG,QAAQ;AAC1D,oCAAoC;AACpC,yCAAyC;AACzC,wCAAwC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM;AACnF,oCAAoC;AACpC,gCAAgC;AAChC,qCAAqC;AACrC,oCAAoC,OAAO,GAAG,MAAM;AACpD,gCAAgC;AAChC,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC,OAAO,GAAG,MAAM;AAChD,4BAA4B;AAC5B,wBAAwB;AACxB;AACA,wBAAwB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;AACxK,wBAAwB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACnD,4BAA4B,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,YAAY,CAAC,KAAK,CAAC;AAClH,wBAAwB;AACxB,6BAA6B;AAC7B;AACA,4BAA4B,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,SAAS;AACzE,4BAA4B,aAAa,GAAG,YAAY,CAAC,KAAK;AAC9D,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,aAAa,EAAE;AACtC,oBAAoB,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,aAAa,CAAC;AACpG;AACA,gBAAgB;AAChB,YAAY;AACZ;AACA,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,qBAAqB;AAC5C,gBAAgB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK;AACnD,sBAAsB;AACtB,sBAAsB;AACtB,0BAA0B,CAAC,oCAAoC,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC;AAC7H,0BAA0B,kCAAkC;AAC5D,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,QAAQ;AAC5B,oBAAoB,KAAK,EAAE,aAAa;AACxC,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC;AACpE,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,KAAK,EAAE,iBAAiB;AACxC,gBAAgB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;AACzD,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI;AAC3C,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AC/Kb;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,qBAAqB,CAAC;AACnC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0CAA0C,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,IAAI;AACJ;AACA;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAChF,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,YAAY,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;AAC3F,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,cAAc,EAAE,KAAK,CAAC,MAAM;AAC5C,gBAAgB,UAAU,EAAE,GAAG;AAC/B,gBAAgB,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM;AACnF,gBAAgB,SAAS,EAAE,GAAG;AAC9B,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,oBAAoB;AAC3C,gBAAgB,OAAO,EAAE,iCAAiC;AAC1D,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC;AAClE,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,KAAK,EAAE,eAAe;AACtC,gBAAgB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;AACzD,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI;AAC3C,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACzL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC5I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;AAChI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AC7Eb;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,qBAAqB,CAAC;AACnC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0CAA0C,CAAC;AACjF,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,IAAI;AACJ;AACA;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ;AACA,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAChF,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;AACpF,gBAAgB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvC,oBAAoB,KAAK,EAAE,SAAS;AACpC,oBAAoB,KAAK,EAAE,eAAe;AAC1C,oBAAoB,OAAO,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACzF,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,OAAO,EAAE,IAAI;AACjC,iBAAiB,CAAC;AAClB,gBAAgB,OAAO;AACvB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AACpF,qBAAqB;AACrB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB;AACxB;AACA,iBAAiB;AACjB,YAAY;AACZ;AACA,YAAY,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,YAAY,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;AAC3F,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,MAAM,EAAE,WAAW;AACnC,gBAAgB,SAAS,EAAE,GAAG;AAC9B,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,qBAAqB;AAC5C,gBAAgB,OAAO,EAAE,kCAAkC;AAC3D,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC;AAClE,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACnC,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,KAAK,EAAE,eAAe;AACtC,gBAAgB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;AACzD,gBAAgB,WAAW,EAAE,IAAI;AACjC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC;AACd,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI;AAC3C,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE;AAC9B;AACA,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACzL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC5I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;AAChI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;;;"}