@argusoft/medplat-core 1.0.31 → 1.0.32

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 (199) hide show
  1. package/dist/{AccessRights-DUgY6ewy.js → AccessRights-DBjTQA1-.js} +421 -424
  2. package/dist/AccessRights-DBjTQA1-.js.map +1 -0
  3. package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
  4. package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
  5. package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
  6. package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
  7. package/dist/AddMenuConfiguration.css +1 -1
  8. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +45 -45
  9. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
  10. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js → CategoriesPage-BprQEYJw-CclreTv1.js} +43 -43
  11. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js.map → CategoriesPage-BprQEYJw-CclreTv1.js.map} +1 -1
  12. package/dist/{ChangePasswordModalCore-lQ9GamH1.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
  13. package/dist/{ChangePasswordModalCore-lQ9GamH1.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
  14. package/dist/{ConditionConfig-BQBmBHaM.js → ConditionConfig-Bpm6OoV5.js} +3 -3
  15. package/dist/{ConditionConfig-BQBmBHaM.js.map → ConditionConfig-Bpm6OoV5.js.map} +1 -1
  16. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +29 -29
  17. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
  18. package/dist/EntityManagement-BGwJGl9k.js +62 -0
  19. package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
  20. package/dist/{EventConfigurations-CUPEN5BV.js → EventConfigurations-B-z7xHh_.js} +3 -3
  21. package/dist/{EventConfigurations-CUPEN5BV.js.map → EventConfigurations-B-z7xHh_.js.map} +1 -1
  22. package/dist/{EventsExceptionModal-BX-ArkBE.js → EventsExceptionModal-DafomIv6.js} +2 -2
  23. package/dist/{EventsExceptionModal-BX-ArkBE.js.map → EventsExceptionModal-DafomIv6.js.map} +1 -1
  24. package/dist/{EventsUi-D6O9S7BK.js → EventsUi-Dl_yckSA.js} +37 -32
  25. package/dist/EventsUi-Dl_yckSA.js.map +1 -0
  26. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
  27. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
  28. package/dist/{FeatureMenu-CHsBbw3W.js → FeatureMenu-Kc73yPHH.js} +2 -2
  29. package/dist/{FeatureMenu-CHsBbw3W.js.map → FeatureMenu-Kc73yPHH.js.map} +1 -1
  30. package/dist/{FhirServerList-iXBPkRVF.js → FhirServerList-CrIHMAxz.js} +19 -19
  31. package/dist/{FhirServerList-iXBPkRVF.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  32. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  33. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  34. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  35. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  36. package/dist/{ImmunizationConfigurationBase-aUtx0JEe.js → ImmunizationConfigurationBase-lKsJZMak.js} +1342 -1301
  37. package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
  38. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
  39. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
  40. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  41. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  42. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  43. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  44. package/dist/{ManageEventConfiguration-DqW3krT6.js → ManageEventConfiguration-DqPbn3Oi.js} +5 -5
  45. package/dist/{ManageEventConfiguration-DqW3krT6.js.map → ManageEventConfiguration-DqPbn3Oi.js.map} +1 -1
  46. package/dist/ManageRole-CyfpySt9.js +981 -0
  47. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  48. package/dist/{ManageUser-DZltBina.js → ManageUser-Dm0l833u.js} +172 -172
  49. package/dist/{ManageUser-DZltBina.js.map → ManageUser-Dm0l833u.js.map} +1 -1
  50. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +37 -37
  51. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
  52. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  53. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  54. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  55. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  56. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js → MobileTypeEventConfigModal-DodU3beR.js} +3 -3
  57. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js.map → MobileTypeEventConfigModal-DodU3beR.js.map} +1 -1
  58. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  59. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  60. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  61. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  62. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +56 -56
  63. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
  64. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +38 -38
  65. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
  66. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  67. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  68. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
  69. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
  70. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
  71. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
  72. package/dist/{PickupsPage-D7zyioJB-bHKnARYw.js → PickupsPage-BWblMlic-CWkgeBw0.js} +122 -122
  73. package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
  74. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
  75. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
  76. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
  77. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
  78. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +29 -29
  79. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js.map → ProductsPage-BI22nPb4-CQBjnc-n.js.map} +1 -1
  80. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
  81. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
  82. package/dist/{PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +446 -436
  83. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
  84. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +55 -55
  85. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
  86. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +61 -61
  87. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
  88. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  89. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  90. package/dist/Roles-BoNGJhtR.js +19 -0
  91. package/dist/Roles-BoNGJhtR.js.map +1 -0
  92. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +33 -33
  93. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
  94. package/dist/{SalesPage-DPIRrC_O-M8rqnK7z.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +34 -34
  95. package/dist/SalesPage-eF9Yr42z-BQ9FlXC3.js.map +1 -0
  96. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
  97. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
  98. package/dist/{StorageUnitsPage-BDRkdCjW-UF64rf7q.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +213 -190
  99. package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
  100. package/dist/{SubMenu-BdMTYtC1.js → SubMenu-OO2zhKiu.js} +2 -2
  101. package/dist/{SubMenu-BdMTYtC1.js.map → SubMenu-OO2zhKiu.js.map} +1 -1
  102. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  103. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  104. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  105. package/dist/TableList-B5tX4wII.js.map +1 -0
  106. package/dist/{TransactionsPage-CqWTMNU8-Df6eGFDW.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +185 -170
  107. package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
  108. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
  109. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
  110. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
  111. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
  112. package/dist/{TypeConfiguration-JbRCN6GR.js → TypeConfiguration-EaFiOzRE.js} +3 -3
  113. package/dist/{TypeConfiguration-JbRCN6GR.js.map → TypeConfiguration-EaFiOzRE.js.map} +1 -1
  114. package/dist/UserList-Cf5B-o_1.js +1904 -0
  115. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  116. package/dist/Users-MC7txo1V.js +43 -0
  117. package/dist/{Users-CsJ08Kjm.js.map → Users-MC7txo1V.js.map} +1 -1
  118. package/dist/VaccineEducation-T_UE57Ef.js +231 -0
  119. package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
  120. package/dist/VaccineEducation.css +1 -0
  121. package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
  122. package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
  123. package/dist/VaccineEducationConfigurator.css +4 -0
  124. package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
  125. package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
  126. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
  127. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
  128. package/dist/{constants-DpXnLsAB-D6lN5cjK.js → constants-BTpJFQe_-CYPZIqQF.js} +160 -61
  129. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  130. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  131. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  132. package/dist/index-mfoqII2U.js +524 -0
  133. package/dist/index-mfoqII2U.js.map +1 -0
  134. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  135. package/dist/index-o8Pyt1Bt.js.map +1 -0
  136. package/dist/index.css +1 -1
  137. package/dist/index.js +1 -1
  138. package/dist/{index.lib-ETRQOzvE.js → index.lib-BySa9-Z-.js} +302 -260
  139. package/dist/index.lib-BySa9-Z-.js.map +1 -0
  140. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
  141. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
  142. package/package.json +5 -1
  143. package/dist/AccessRights-DUgY6ewy.js.map +0 -1
  144. package/dist/AddMenuConfiguration-c6ZKiN0i.js +0 -8898
  145. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +0 -1
  146. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  147. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  148. package/dist/EventsUi-D6O9S7BK.js.map +0 -1
  149. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +0 -79
  150. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +0 -1
  151. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +0 -1
  152. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +0 -665
  153. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +0 -1
  154. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  155. package/dist/ManageRole-CNZBRKGU.js +0 -776
  156. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  157. package/dist/MobileAnalytics-BLOionG_.js +0 -17301
  158. package/dist/MobileAnalytics-BLOionG_.js.map +0 -1
  159. package/dist/MobileMenuManagement-68Wijb0X.js +0 -220
  160. package/dist/MobileMenuManagement-68Wijb0X.js.map +0 -1
  161. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  162. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +0 -1812
  163. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +0 -1
  164. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  165. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +0 -783
  166. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +0 -1
  167. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +0 -1
  168. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +0 -599
  169. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +0 -1
  170. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +0 -1305
  171. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +0 -1
  172. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +0 -675
  173. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +0 -1
  174. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +0 -1
  175. package/dist/Roles-BIyiic67.js +0 -14
  176. package/dist/Roles-BIyiic67.js.map +0 -1
  177. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +0 -1
  178. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +0 -676
  179. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +0 -1
  180. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +0 -1
  181. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  182. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  183. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +0 -1
  184. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +0 -315
  185. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +0 -1
  186. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +0 -476
  187. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +0 -1
  188. package/dist/UserList-L41Xw0Q6.js +0 -1129
  189. package/dist/UserList-L41Xw0Q6.js.map +0 -1
  190. package/dist/Users-CsJ08Kjm.js +0 -40
  191. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +0 -321
  192. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +0 -1
  193. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +0 -1
  194. package/dist/dashboardLayoutUtils-CJivzaU1.js +0 -408
  195. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +0 -1
  196. package/dist/index-D9YNFPn9.js.map +0 -1
  197. package/dist/index.lib-ETRQOzvE.js.map +0 -1
  198. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +0 -36
  199. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewServerManagement-BdayO78D.js","sources":["../src/views/Features/AddServerModal.jsx","../src/views/Features/NewServerManagement.jsx"],"sourcesContent":["/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-04-23 (Wednesday)\n */\n\nimport {\n addServer,\n addServerMappingList,\n updateServer,\n updateServerMappingList,\n} from \"@/common/services/SyncWithServer\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { useDebounceFn } from \"@/hooks/useDebounceFn\";\nimport CustomTextField from \"@/views/custom-components/CustomTextField\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useTheme } from \"@mui/material/styles\";\nimport \"./Styles/ServerManagement.scss\";\nimport {\n Autocomplete,\n Box,\n Button,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Radio,\n RadioGroup,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport * as Yup from \"yup\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faPen, faPlus } from \"@fortawesome/free-solid-svg-icons\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\nexport default function AddServerModal({\n openAddServer,\n openAddServerFunc,\n allServerList,\n reloadPageFunc,\n editServer,\n editServerFunc,\n serverData = {},\n rights,\n}) {\n const { translate } = useTranslateProvider();\n const [successMessage, setSuccessMessage] = useState(\"\");\n const serverTypes = [\"STAGING\", \"PRODUCTION\"];\n const theme = useTheme();\n const getClassName = (base) =>\n theme.palette.mode === \"light\" ? base : `${base}-dark`;\n const canCreate = GeneralUtil.hasCheckRights(rights?.['create.admin.newServerManagement']);\n const canUpdate = GeneralUtil.hasCheckRights(rights?.['update.admin.newServerManagement']);\n const canSubmit = editServer ? canUpdate : canCreate;\n\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(\"Name is required\"),\n code: Yup.string().required(\"Code is required\"),\n type: Yup.string().required(\"Type is required\"),\n url: Yup.string()\n .required(\"URL is required\")\n .matches(\n /^https?:\\/\\/(localhost|\\d{1,3}(?:\\.\\d{1,3}){3}|[a-zA-Z0-9.-]+)(:\\d+)?(\\/.*)?$/,\n \"Invalid URL\",\n ),\n isActive: Yup.boolean().required(\"This field is required.\"),\n });\n\n const formCtrl = useForm({\n defaultValues: {\n name: \"\",\n code: \"\",\n type: \"\",\n url: \"\",\n isActive: null,\n canPullServer: [],\n canPushServer: [],\n },\n resolver: yupResolver(validationSchema),\n mode: \"onChange\",\n });\n\n useEffect(() => {\n if (editServer) {\n formCtrl.reset({\n name: serverData.name,\n code: serverData.code,\n type: serverData.type,\n url: serverData.url,\n isActive: serverData.isActive,\n canPullServer: serverData.canPullServers\n ? serverData.canPullServers\n : [],\n canPushServer: serverData.canPushServers\n ? serverData.canPushServers\n : [],\n });\n }\n }, []);\n\n const handleDialogClose = () => {\n openAddServerFunc(false);\n editServerFunc(false);\n };\n\n const checkAvailability = async (code) => {\n if (allServerList?.find((server) => server.code === code)) {\n formCtrl.setError(\"code\", {\n type: \"manual\",\n message: \"Code already exists\",\n });\n } else {\n setSuccessMessage(`${code} is available`);\n }\n };\n\n const debouncedCheckAvailability = useDebounceFn(checkAvailability, 500);\n\n const onSubmit = async (data) => {\n if (!canSubmit) return;\n let serversToAdd = new Map();\n data.canPullServer?.forEach((server) => {\n let obj = {\n canPull: true,\n canPush: false,\n };\n serversToAdd.set(server.code, obj);\n });\n data.canPushServer?.forEach((server) => {\n if (serversToAdd.has(server.code)) {\n serversToAdd.get(server.code).canPush = true;\n } else {\n let obj = {\n canPull: false,\n canPush: true,\n };\n serversToAdd.set(server.code, obj);\n }\n });\n const serverMappingList = [];\n serversToAdd.forEach((value, key) => {\n serverMappingList.push({\n sourceServerCode: data.code,\n destinationServerCode: key,\n canPull: value.canPull,\n canPush: value.canPush,\n });\n serverMappingList.push({\n sourceServerCode: key,\n destinationServerCode: data.code,\n canPull: value.canPush,\n canPush: value.canPull,\n });\n });\n if (!editServer) {\n try {\n const addServerData = {\n name: data.name,\n code: data.code,\n type: data.type,\n url: data.url,\n isActive: data.isActive,\n };\n await addServer(addServerData);\n showToast({\n type: \"success\",\n message: \"Server added successfully\",\n });\n if (serverMappingList.length > 0) {\n try {\n await addServerMappingList(serverMappingList);\n showToast({\n type: \"success\",\n message: \"Server mapping added successfully\",\n });\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to add server mapping\",\n });\n console.error(\"Error adding server mapping:\", error);\n }\n }\n reloadPageFunc((prev) => !prev);\n openAddServerFunc(false);\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to add server\",\n });\n console.error(\"Error adding server:\", error);\n }\n } else {\n try {\n if (serversToAdd.size === 0) {\n serverMappingList.push({\n sourceServerCode: data.code,\n destinationServerCode: null,\n canPull: null,\n canPush: null,\n });\n }\n data.uuid = serverData.uuid;\n await updateServer(data);\n showToast({\n type: \"success\",\n message: \"Server updated successfully\",\n });\n if (serverMappingList.length > 0) {\n try {\n await updateServerMappingList(serverMappingList);\n showToast({\n type: \"success\",\n message: \"Server mapping updated successfully\",\n });\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to update server mapping\",\n });\n console.error(\"Error updating server mapping:\", error);\n }\n }\n reloadPageFunc((prev) => !prev);\n handleDialogClose();\n } catch (error) {\n showToast({\n type: \"error\",\n message: \"Failed to update server\",\n });\n console.error(\"Error updating server:\", error);\n }\n }\n };\n\n // Reusable field row component for consistent layout\n const FieldRow = ({ label, required, children }) => (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.75 }}>\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 600, color: \"text.primary\" }}\n >\n {label}\n {required && (\n <Typography component=\"span\" sx={{ color: \"error.main\", ml: 0.5 }}>\n *\n </Typography>\n )}\n </Typography>\n {children}\n </Box>\n );\n\n FieldRow.propTypes = {\n label: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node.isRequired,\n };\n\n return (\n <Dialog\n open={openAddServer}\n fullWidth={true}\n maxWidth={\"sm\"}\n onClose={handleDialogClose}\n className={getClassName(\"add-server-dialog\")}\n PaperProps={{\n sx: {\n borderRadius: 1.5,\n scrollbarWidth: \"none\",\n msOverflowStyle: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n \"& .MuiDialogContent-root\": {\n scrollbarWidth: \"none\",\n msOverflowStyle: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n },\n },\n }}\n >\n {/* ── Dialog Header ── */}\n <DialogTitle\n sx={{\n px: 3,\n pt: 2.5,\n pb: 2,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n backgroundColor: \"background.paper\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n <Box\n sx={{\n width: 36,\n height: 36,\n borderRadius: 2,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"primary.main\",\n color: \"primary.contrastText\",\n flexShrink: 0,\n }}\n >\n <FontAwesomeIcon\n icon={editServer ? faPen : faPlus}\n style={{ fontSize: \"0.85rem\" }}\n />\n </Box>\n <Box>\n <Typography variant=\"h6\" sx={{ fontWeight: 700, lineHeight: 1.3 }}>\n {editServer\n ? translate(\"Update Server\")\n : translate(\"Add Server\")}\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {editServer\n ? \"Modify server configuration and sync permissions.\"\n : \"Configure a new server connection.\"}\n </Typography>\n </Box>\n </Box>\n </DialogTitle>\n\n <form noValidate onSubmit={formCtrl.handleSubmit(onSubmit)}>\n <DialogContent\n sx={{\n px: 3,\n py: 3,\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": { display: \"none\" },\n }}\n >\n <Grid container spacing={2.5}>\n {/* ── Server Details Section ── */}\n <Grid size={12}>\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontWeight: 700,\n color: \"text.primary\",\n mb: 0.5,\n textTransform: \"uppercase\",\n fontSize: \"0.7rem\",\n letterSpacing: \"0.05em\",\n }}\n >\n Server Details\n </Typography>\n <Divider />\n </Grid>\n\n {/* Name & Code in a 2-column layout */}\n <Grid size={6}>\n <FieldRow label={translate(\"Name\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"name\"\n id=\"name\"\n errors={formCtrl.formState.errors}\n placeholder=\"Enter server name\"\n />\n </FieldRow>\n </Grid>\n\n <Grid size={6}>\n <FieldRow label={translate(\"Code\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"code\"\n id=\"code\"\n disabled={editServer}\n errors={formCtrl.formState.errors}\n placeholder=\"Enter server code\"\n successMessage={successMessage}\n onChange={(e) => debouncedCheckAvailability(e.target.value)}\n />\n </FieldRow>\n </Grid>\n\n {/* Type & URL */}\n <Grid size={6}>\n <FieldRow label={translate(\"Type\")} required>\n <Controller\n name=\"type\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n options={serverTypes || []}\n getOptionLabel={(option) => option}\n defaultValue={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder=\"Select type\"\n variant=\"outlined\"\n error={!!formCtrl.formState.errors?.type}\n />\n )}\n />\n );\n }}\n />\n {formCtrl.formState.errors.type && (\n <FormHelperText error>\n {formCtrl.formState.errors.type?.message}\n </FormHelperText>\n )}\n </FieldRow>\n </Grid>\n\n <Grid size={6}>\n <FieldRow label={translate(\"URL\")} required>\n <CustomTextField\n control={formCtrl.control}\n name=\"url\"\n id=\"url\"\n errors={formCtrl.formState.errors}\n placeholder=\"https://example.com\"\n />\n </FieldRow>\n </Grid>\n\n {/* Active Status */}\n <Grid size={12}>\n <FieldRow label={translate(\"Active\")} required>\n <Controller\n name=\"isActive\"\n control={formCtrl.control}\n rules={{ required: \"This field is required.\" }}\n render={({\n field: { onChange, value },\n fieldState: { error },\n }) => (\n <FormControl component=\"fieldset\" error={!!error}>\n <RadioGroup row value={value} onChange={onChange}>\n <FormControlLabel\n value={true}\n control={<Radio size=\"small\" />}\n label={<Typography variant=\"body2\">Yes</Typography>}\n />\n <FormControlLabel\n value={false}\n control={<Radio size=\"small\" />}\n label={<Typography variant=\"body2\">No</Typography>}\n />\n </RadioGroup>\n {error && (\n <FormHelperText>\n {formCtrl.formState.errors.isActive?.message}\n </FormHelperText>\n )}\n </FormControl>\n )}\n />\n </FieldRow>\n </Grid>\n\n {/* ── Sync Permissions Section ── */}\n <Grid size={12} sx={{ mt: 0.5 }}>\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontWeight: 700,\n color: \"text.primary\",\n mb: 0.5,\n textTransform: \"uppercase\",\n fontSize: \"0.7rem\",\n letterSpacing: \"0.05em\",\n }}\n >\n Sync Permissions\n </Typography>\n <Divider />\n </Grid>\n\n {/* Can Pull From */}\n <Grid size={12}>\n <FieldRow label={translate(\"Can Pull From\")}>\n <Controller\n name=\"canPullServer\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n multiple\n options={allServerList || []}\n getOptionLabel={(option) => option.name || \"\"}\n getOptionKey={(option) => option.code || \"\"}\n getOptionDisabled={(option) =>\n option.code === formCtrl.getValues(\"code\") ||\n formCtrl\n .getValues(\"canPullServer\")\n .some((server) => server.code === option.code)\n }\n value={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n {...getTagProps({ index })}\n key={option.code}\n label={option.name}\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n sx={{ borderRadius: 2, fontWeight: 500 }}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder={\n value?.length > 0\n ? \"\"\n : \"Select servers to pull from...\"\n }\n variant=\"outlined\"\n />\n )}\n />\n );\n }}\n />\n </FieldRow>\n </Grid>\n\n {/* Can Push To */}\n <Grid size={12}>\n <FieldRow label={translate(\"Can Push To\")}>\n <Controller\n name=\"canPushServer\"\n control={formCtrl.control}\n render={({ field: { onChange, value } }) => {\n return (\n <Autocomplete\n size=\"small\"\n multiple\n options={allServerList || []}\n getOptionLabel={(option) => option.name || \"\"}\n getOptionKey={(option) => option.code || \"\"}\n getOptionDisabled={(option) =>\n option.code === formCtrl.getValues(\"code\") ||\n formCtrl\n .getValues(\"canPushServer\")\n .some((server) => server.code === option.code)\n }\n value={value}\n onChange={(event, newValue) => {\n onChange(newValue);\n }}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n {...getTagProps({ index })}\n key={option.code}\n label={option.name}\n size=\"small\"\n color=\"primary\"\n variant=\"outlined\"\n sx={{ borderRadius: 2, fontWeight: 500 }}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n placeholder={\n value?.length > 0\n ? \"\"\n : \"Select servers to push to...\"\n }\n variant=\"outlined\"\n />\n )}\n />\n );\n }}\n />\n </FieldRow>\n </Grid>\n </Grid>\n </DialogContent>\n\n {/* ── Dialog Actions ── */}\n <DialogActions\n sx={{\n px: 3,\n py: 2,\n borderTop: \"1px solid\",\n borderColor: \"divider\",\n gap: 1,\n }}\n >\n <Button\n onClick={handleDialogClose}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n borderRadius: 2,\n textTransform: \"none\",\n fontWeight: 600,\n px: 2.5,\n borderColor: \"divider\",\n color: \"text.secondary\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n borderColor: \"text.disabled\",\n },\n }}\n >\n {translate(\"Cancel\")}\n </Button>\n <Button\n type=\"submit\"\n size=\"small\"\n variant=\"contained\"\n disabled={!canSubmit}\n sx={{\n borderRadius: 2,\n textTransform: \"none\",\n fontWeight: 600,\n px: 2.5,\n boxShadow: \"none\",\n }}\n startIcon={\n <FontAwesomeIcon\n icon={editServer ? faPen : faPlus}\n style={{ fontSize: \"0.75rem\" }}\n />\n }\n >\n {editServer ? \"Update Server\" : \"Add Server\"}\n </Button>\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n\nAddServerModal.propTypes = {\n openAddServer: PropTypes.bool,\n openAddServerFunc: PropTypes.func,\n allServerList: PropTypes.array,\n reloadPageFunc: PropTypes.func,\n editServer: PropTypes.bool,\n editServerFunc: PropTypes.func,\n serverData: PropTypes.object,\n rights: PropTypes.any,\n};\n","/**\n * @author Sanya Srivastava <ssrivastava@argusoft.com>\n * @date 2025-04-21 (Monday)\n */\n\nimport {\n getAllServer,\n getAllServerDetails,\n} from \"@/common/services/SyncWithServer\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCircleCheck,\n faCircleXmark,\n faPen,\n faPlus,\n faServer,\n faMagnifyingGlass,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { useTheme } from \"@mui/material/styles\";\nimport \"./Styles/ServerManagement.scss\";\nimport {\n Button,\n Card,\n Chip,\n Divider,\n IconButton,\n InputAdornment,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Tooltip,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport { Box } from \"@mui/system\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport AddServerModal from \"./AddServerModal\";\nimport { getAssignedFeatures } from \"@/utils/feature\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\n\nexport default function NewServerManagement() {\n const [allServerList, setAllServerList] = useState([]);\n const [openAddServer, setOpenAddServer] = useState(false);\n const [editServer, setEditServer] = useState(false);\n const [serverData, setServerData] = useState({});\n const [allServerDetails, setAllServerDetails] = useState([]);\n const [reloadPage, setReloadPage] = useState(false);\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [rights, setRights] = useState(null);\n const [loading, setLoading] = useState(true);\n const theme = useTheme();\n const canCreate = GeneralUtil.hasCheckRights(rights?.['create.admin.newServerManagement']);\n const canUpdate = GeneralUtil.hasCheckRights(rights?.['update.admin.newServerManagement']);\n\n useEffect(() => {\n (async () => {\n setLoading(true);\n await fetchServers();\n await fetchAllServerDetails();\n setLoading(false);\n })();\n }, [reloadPage]);\n\n useEffect(() => {\n (async () => {\n try {\n const { data } = await getAssignedFeatures('techo.admin.newServerManagement');\n setRights(JSON.parse(data));\n } catch (error) {\n console.error(error);\n }\n })();\n }, []);\n\n const getClassName = (className) => {\n return theme.palette.mode === \"light\" ? className : `${className}-dark`;\n };\n\n const fetchServers = async () => {\n try {\n const response = (await getAllServer()).data;\n if (response) {\n setAllServerList(\n response.map((item) => {\n let obj = { code: item.code, name: item.name };\n return obj;\n }),\n );\n }\n } catch (error) {\n console.error(\"Error fetching servers:\", error);\n }\n };\n\n const fetchAllServerDetails = async () => {\n try {\n const response = (await getAllServerDetails()).data;\n if (response) {\n response.forEach((item) => {\n let canPull = item.canPullServers\n ? JSON.parse(item.canPullServers)\n : [];\n let canPush = item.canPushServers\n ? JSON.parse(item.canPushServers)\n : [];\n item.canPullServers = JSON.parse(item.canPullServers);\n item.canPushServers = JSON.parse(item.canPushServers);\n item.pullServersName =\n canPull.length > 0 ? canPull.map((server) => server.name) : [];\n item.pushServersName =\n canPush.length > 0 ? canPush.map((server) => server.name) : [];\n });\n setAllServerDetails(response);\n }\n } catch (error) {\n console.error(\"Error fetching servers:\", error);\n }\n };\n\n const handleServerEdit = (item) => {\n setEditServer(true);\n setServerData(item);\n setOpenAddServer(true);\n };\n\n const filteredServers = useMemo(() => {\n if (!searchQuery.trim()) return allServerDetails;\n const q = searchQuery.toLowerCase();\n return allServerDetails.filter(\n (item) =>\n item.name?.toLowerCase().includes(q) ||\n item.code?.toLowerCase().includes(q) ||\n item.url?.toLowerCase().includes(q),\n );\n }, [allServerDetails, searchQuery]);\n\n const activeCount = allServerDetails.filter((s) => s.isActive).length;\n\n const formatDate = (dateString) => {\n if (!dateString) return \"-\";\n const date = new Date(dateString);\n const day = String(date.getDate()).padStart(2, \"0\");\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getMonth()];\n const year = date.getFullYear();\n const hours = String(date.getHours()).padStart(2, \"0\");\n const minutes = String(date.getMinutes()).padStart(2, \"0\");\n return `${day} ${month} ${year}, ${hours}:${minutes}`;\n };\n\n if (!loading && rights !== null && !GeneralUtil.hasCheckRights(rights?.['view.admin.newServerManagement'])) {\n return (\n <Box sx={{ display: \"flex\", justifyContent: \"center\", alignItems: \"center\", width: \"100%\", height: \"80vh\" }}>\n <Card sx={{ height: 320, width: 600, display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Server Management\n </Typography>\n </Card>\n </Box>\n );\n }\n\n return (\n <Grid pt={2} sx={{ height: \"calc(100vh)\", zoom: \"0.9\" }}>\n <Box sx={{ p: 3 }} className={getClassName(\"server-management-wrapper\")}>\n {/* ── Main Paper Container (ManageAllForms style) ── */}\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: 1.5,\n backgroundColor: \"background.paper\",\n }}\n >\n {/* ── Header Section ── */}\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n flexWrap: \"wrap\",\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: \"100%\", lg: \"40%\" } }}>\n <Typography\n variant=\"h5\"\n sx={{ fontWeight: 800, color: \"text.primary\", mb: 0.5 }}\n >\n Server Management\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Configure and manage server connections, sync permissions, and\n server details.\n </Typography>\n </Box>\n\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n {canCreate && (\n <Button\n size=\"small\"\n variant=\"contained\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n boxShadow: \"none\",\n textTransform: \"none\",\n }}\n startIcon={<FontAwesomeIcon icon={faPlus} />}\n onClick={() => {\n setOpenAddServer(true);\n }}\n >\n Add Server\n </Button>\n )}\n </Box>\n </Box>\n\n {/* ── Search & Stats Bar ── */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: 2,\n backgroundColor: \"action.hover\",\n p: 1.5,\n borderRadius: 1.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faServer}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label={`${allServerDetails.length} Total`}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n px: 0.5,\n borderColor: \"divider\",\n }}\n />\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleCheck}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label={`${activeCount} Active`}\n size=\"small\"\n color=\"success\"\n variant=\"filled\"\n sx={{ fontWeight: 700, borderRadius: 2, px: 0.5 }}\n />\n {allServerDetails.length - activeCount > 0 && (\n <Chip\n label={`${allServerDetails.length - activeCount} Inactive`}\n size=\"small\"\n color=\"default\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n px: 0.5,\n borderColor: \"divider\",\n }}\n />\n )}\n </Box>\n\n <TextField\n value={searchQuery}\n size=\"small\"\n placeholder=\"Search servers...\"\n onChange={(e) => setSearchQuery(e.target.value)}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <FontAwesomeIcon\n icon={faMagnifyingGlass}\n style={{ fontSize: \"0.85rem\", color: \"#999\" }}\n />\n </InputAdornment>\n ),\n sx: {\n backgroundColor: \"background.paper\",\n borderRadius: 2,\n minWidth: 260,\n },\n }}\n />\n </Box>\n </Box>\n\n <Divider sx={{ my: 3 }} />\n\n {/* ── Server Table ── */}\n <TableContainer\n className={getClassName(\"server-table\")}\n component={Paper}\n elevation={0}\n sx={{\n borderRadius: 1.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n overflowY: \"auto\",\n maxHeight: \"calc(100vh - 340px)\",\n }}\n >\n <Table stickyHeader>\n <TableHead>\n <TableRow>\n {[\n \"Sr. No.\",\n \"Name\",\n \"Code\",\n \"Type\",\n \"URL\",\n \"Status\",\n \"Can Pull From\",\n \"Can Push To\",\n \"Modified On\",\n \"Actions\",\n ].map((header, i) => (\n <TableCell\n key={i}\n align={header === \"Actions\" ? \"center\" : \"left\"}\n sx={{\n fontWeight: 700,\n fontSize: \"0.78rem\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.04em\",\n color: \"text.secondary\",\n backgroundColor: \"background.default\",\n borderBottom: \"2px solid\",\n borderColor: \"divider\",\n py: 1.5,\n }}\n >\n {header}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {filteredServers.map((item, index) => (\n <TableRow\n key={index}\n sx={{\n transition: \"background-color 0.15s ease\",\n \"&:hover\": { backgroundColor: \"action.hover\" },\n \"&:last-child td\": { borderBottom: 0 },\n }}\n >\n <TableCell\n sx={{ color: \"text.secondary\", fontWeight: 500 }}\n >\n {index + 1}\n </TableCell>\n <TableCell sx={{ fontWeight: 600 }}>{item.name}</TableCell>\n <TableCell>\n <Chip\n label={item.code}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n fontFamily: \"monospace\",\n fontSize: \"0.75rem\",\n borderRadius: 1.5,\n borderColor: \"divider\",\n }}\n />\n </TableCell>\n <TableCell>{item.type}</TableCell>\n <TableCell\n sx={{\n maxWidth: 200,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n <Tooltip title={item.url || \"\"} arrow placement=\"top\">\n <span>{item.url}</span>\n </Tooltip>\n </TableCell>\n <TableCell>\n {item.isActive ? (\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleCheck}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label=\"Active\"\n size=\"small\"\n color=\"success\"\n variant=\"filled\"\n sx={{ fontWeight: 600, borderRadius: 2 }}\n />\n ) : (\n <Chip\n icon={\n <FontAwesomeIcon\n icon={faCircleXmark}\n style={{ fontSize: \"0.7rem\" }}\n />\n }\n label=\"Inactive\"\n size=\"small\"\n color=\"default\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n borderColor: \"divider\",\n }}\n />\n )}\n </TableCell>\n <TableCell>\n {Array.isArray(item.pullServersName) &&\n item.pullServersName.length > 0 ? (\n item.pullServersName.map((server, i) => (\n <Chip\n key={i}\n label={server || \"-\"}\n color=\"primary\"\n size=\"small\"\n variant=\"outlined\"\n sx={{\n mr: 0.5,\n mb: 0.5,\n borderRadius: 2,\n fontWeight: 500,\n }}\n />\n ))\n ) : (\n <Typography variant=\"caption\" color=\"text.disabled\">\n —\n </Typography>\n )}\n </TableCell>\n <TableCell>\n {Array.isArray(item.pushServersName) &&\n item.pushServersName.length > 0 ? (\n item.pushServersName.map((server, i) => (\n <Chip\n key={i}\n label={server || \"-\"}\n color=\"primary\"\n size=\"small\"\n variant=\"outlined\"\n sx={{\n mr: 0.5,\n mb: 0.5,\n borderRadius: 2,\n fontWeight: 500,\n }}\n />\n ))\n ) : (\n <Typography variant=\"caption\" color=\"text.disabled\">\n —\n </Typography>\n )}\n </TableCell>\n <TableCell>\n <Typography\n variant=\"caption\"\n sx={{ color: \"text.secondary\" }}\n >\n {formatDate(item.modifiedOn)}\n </Typography>\n </TableCell>\n <TableCell align=\"center\">\n {canUpdate && (\n <Tooltip title=\"Edit server\" arrow placement=\"top\">\n <IconButton\n size=\"small\"\n onClick={() => {\n handleServerEdit(item);\n }}\n sx={{\n color: \"primary.main\",\n \"&:hover\": { backgroundColor: \"primary.50\" },\n }}\n >\n <FontAwesomeIcon\n icon={faPen}\n style={{ fontSize: \"0.8rem\" }}\n />\n </IconButton>\n </Tooltip>\n )}\n </TableCell>\n </TableRow>\n ))}\n {filteredServers.length === 0 && (\n <TableRow>\n <TableCell colSpan={10} align=\"center\" sx={{ py: 6 }}>\n <FontAwesomeIcon\n icon={faServer}\n style={{\n fontSize: \"2rem\",\n color: \"#ccc\",\n marginBottom: 8,\n display: \"block\",\n margin: \"0 auto 8px\",\n }}\n />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {searchQuery\n ? \"No servers match your search.\"\n : 'No servers found. Click \"Add Server\" to get started.'}\n </Typography>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Paper>\n </Box>\n {openAddServer && (\n <AddServerModal\n openAddServer={openAddServer}\n openAddServerFunc={setOpenAddServer}\n allServerList={allServerList}\n reloadPageFunc={setReloadPage}\n editServer={editServer}\n editServerFunc={setEditServer}\n serverData={serverData}\n rights={rights}\n />\n )}\n </Grid>\n );\n}\n"],"names":["AddServerModal","openAddServer","openAddServerFunc","allServerList","reloadPageFunc","editServer","editServerFunc","serverData","rights","translate","useTranslateProvider","successMessage","setSuccessMessage","useState","serverTypes","theme","useTheme","getClassName","base","canCreate","GeneralUtil","canUpdate","canSubmit","validationSchema","Yup","formCtrl","useForm","yupResolver","useEffect","handleDialogClose","debouncedCheckAvailability","useDebounceFn","code","server","onSubmit","data","serversToAdd","_a","obj","_b","serverMappingList","value","key","updateServer","showToast","updateServerMappingList","error","prev","addServerData","addServer","addServerMappingList","FieldRow","label","required","children","jsxs","Box","Typography","jsx","PropTypes","Dialog","DialogTitle","FontAwesomeIcon","faPen","faPlus","DialogContent","Grid","Divider","CustomTextField","e","Controller","onChange","Autocomplete","option","event","newValue","params","TextField","FormHelperText","FormControl","RadioGroup","FormControlLabel","Radio","tagValue","getTagProps","index","createElement","Chip","DialogActions","Button","NewServerManagement","setAllServerList","setOpenAddServer","setEditServer","setServerData","allServerDetails","setAllServerDetails","reloadPage","setReloadPage","searchQuery","setSearchQuery","setRights","loading","setLoading","fetchServers","fetchAllServerDetails","getAssignedFeatures","className","response","getAllServer","item","getAllServerDetails","canPull","canPush","handleServerEdit","filteredServers","useMemo","q","_c","activeCount","s","formatDate","dateString","date","day","month","year","hours","minutes","Card","Paper","faServer","faCircleCheck","InputAdornment","faMagnifyingGlass","TableContainer","Table","TableHead","TableRow","header","i","TableCell","TableBody","Tooltip","faCircleXmark","IconButton"],"mappings":";;;;;;;;;;;;;;;;;;;AA6CA,SAAwBA,GAAe;AAAA,EACrC,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC,IAAa,CAAA;AAAA,EACb,QAAAC;AACF,GAAG;;AACD,QAAM,EAAE,WAAAC,EAAA,IAAcC,GAAA,GAChB,CAACC,GAAgBC,CAAiB,IAAIC,EAAS,EAAE,GACjDC,IAAc,CAAC,WAAW,YAAY,GACtCC,IAAQC,GAAA,GACRC,IAAe,CAACC,MACpBH,EAAM,QAAQ,SAAS,UAAUG,IAAO,GAAGA,CAAI,SAC3CC,IAAYC,EAAY,eAAeZ,KAAA,gBAAAA,EAAS,mCAAmC,GACnFa,IAAYD,EAAY,eAAeZ,KAAA,gBAAAA,EAAS,mCAAmC,GACnFc,IAAYjB,IAAagB,IAAYF,GAErCI,IAAmBC,EAAI,OAAA,EAAS,MAAM;AAAA,IAC1C,MAAMA,EAAI,SAAS,SAAS,kBAAkB;AAAA,IAC9C,MAAMA,EAAI,SAAS,SAAS,kBAAkB;AAAA,IAC9C,MAAMA,EAAI,SAAS,SAAS,kBAAkB;AAAA,IAC9C,KAAKA,EAAI,OAAA,EACN,SAAS,iBAAiB,EAC1B;AAAA,MACC;AAAA,MACA;AAAA,IAAA;AAAA,IAEJ,UAAUA,EAAI,QAAA,EAAU,SAAS,yBAAyB;AAAA,EAAA,CAC3D,GAEKC,IAAWC,GAAQ;AAAA,IACvB,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,UAAU;AAAA,MACV,eAAe,CAAA;AAAA,MACf,eAAe,CAAA;AAAA,IAAC;AAAA,IAElB,UAAUC,GAAYJ,CAAgB;AAAA,IACtC,MAAM;AAAA,EAAA,CACP;AAED,EAAAK,GAAU,MAAM;AACd,IAAIvB,KACFoB,EAAS,MAAM;AAAA,MACb,MAAMlB,EAAW;AAAA,MACjB,MAAMA,EAAW;AAAA,MACjB,MAAMA,EAAW;AAAA,MACjB,KAAKA,EAAW;AAAA,MAChB,UAAUA,EAAW;AAAA,MACrB,eAAeA,EAAW,iBACtBA,EAAW,iBACX,CAAA;AAAA,MACJ,eAAeA,EAAW,iBACtBA,EAAW,iBACX,CAAA;AAAA,IAAC,CACN;AAAA,EAEL,GAAG,CAAA,CAAE;AAEL,QAAMsB,IAAoB,MAAM;AAC9B,IAAA3B,EAAkB,EAAK,GACvBI,EAAe,EAAK;AAAA,EACtB,GAaMwB,IAA6BC,GAXT,OAAOC,MAAS;AACxC,IAAI7B,KAAA,QAAAA,EAAe,KAAK,CAAC8B,MAAWA,EAAO,SAASD,KAClDP,EAAS,SAAS,QAAQ;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IAAA,CACV,IAEDb,EAAkB,GAAGoB,CAAI,eAAe;AAAA,EAE5C,GAEoE,GAAG,GAEjEE,IAAW,OAAOC,MAAS;;AAC/B,QAAI,CAACb,EAAW;AAChB,QAAIc,wBAAmB,IAAA;AACvB,KAAAC,IAAAF,EAAK,kBAAL,QAAAE,EAAoB,QAAQ,CAACJ,MAAW;AACtC,UAAIK,IAAM;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAEX,MAAAF,EAAa,IAAIH,EAAO,MAAMK,CAAG;AAAA,IACnC,KACAC,IAAAJ,EAAK,kBAAL,QAAAI,EAAoB,QAAQ,CAACN,MAAW;AACtC,UAAIG,EAAa,IAAIH,EAAO,IAAI;AAC9B,QAAAG,EAAa,IAAIH,EAAO,IAAI,EAAE,UAAU;AAAA,WACnC;AACL,YAAIK,IAAM;AAAA,UACR,SAAS;AAAA,UACT,SAAS;AAAA,QAAA;AAEX,QAAAF,EAAa,IAAIH,EAAO,MAAMK,CAAG;AAAA,MACnC;AAAA,IACF;AACA,UAAME,IAAoB,CAAA;AAe1B,QAdAJ,EAAa,QAAQ,CAACK,GAAOC,MAAQ;AACnC,MAAAF,EAAkB,KAAK;AAAA,QACrB,kBAAkBL,EAAK;AAAA,QACvB,uBAAuBO;AAAA,QACvB,SAASD,EAAM;AAAA,QACf,SAASA,EAAM;AAAA,MAAA,CAChB,GACDD,EAAkB,KAAK;AAAA,QACrB,kBAAkBE;AAAA,QAClB,uBAAuBP,EAAK;AAAA,QAC5B,SAASM,EAAM;AAAA,QACf,SAASA,EAAM;AAAA,MAAA,CAChB;AAAA,IACH,CAAC,GACIpC;AAuCH,UAAI;AAeF,YAdI+B,EAAa,SAAS,KACxBI,EAAkB,KAAK;AAAA,UACrB,kBAAkBL,EAAK;AAAA,UACvB,uBAAuB;AAAA,UACvB,SAAS;AAAA,UACT,SAAS;AAAA,QAAA,CACV,GAEHA,EAAK,OAAO5B,EAAW,MACvB,MAAMoC,GAAaR,CAAI,GACvBS,EAAU;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,QAAA,CACV,GACGJ,EAAkB,SAAS;AAC7B,cAAI;AACF,kBAAMK,GAAwBL,CAAiB,GAC/CI,EAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH,SAASE,GAAO;AACd,YAAAF,EAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV,GACD,QAAQ,MAAM,kCAAkCE,CAAK;AAAA,UACvD;AAEF,QAAA1C,EAAe,CAAC2C,MAAS,CAACA,CAAI,GAC9BlB,EAAA;AAAA,MACF,SAASiB,GAAO;AACd,QAAAF,EAAU;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,QAAA,CACV,GACD,QAAQ,MAAM,0BAA0BE,CAAK;AAAA,MAC/C;AAAA;AA5EA,UAAI;AACF,cAAME,IAAgB;AAAA,UACpB,MAAMb,EAAK;AAAA,UACX,MAAMA,EAAK;AAAA,UACX,MAAMA,EAAK;AAAA,UACX,KAAKA,EAAK;AAAA,UACV,UAAUA,EAAK;AAAA,QAAA;AAOjB,YALA,MAAMc,GAAUD,CAAa,GAC7BJ,EAAU;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,QAAA,CACV,GACGJ,EAAkB,SAAS;AAC7B,cAAI;AACF,kBAAMU,GAAqBV,CAAiB,GAC5CI,EAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH,SAASE,GAAO;AACd,YAAAF,EAAU;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV,GACD,QAAQ,MAAM,gCAAgCE,CAAK;AAAA,UACrD;AAEF,QAAA1C,EAAe,CAAC2C,MAAS,CAACA,CAAI,GAC9B7C,EAAkB,EAAK;AAAA,MACzB,SAAS4C,GAAO;AACd,QAAAF,EAAU;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,QAAA,CACV,GACD,QAAQ,MAAM,wBAAwBE,CAAK;AAAA,MAC7C;AAAA,EA0CJ,GAGMK,IAAW,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,QACnC,gBAAAC,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,QACxD,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,IAAI,EAAE,YAAY,KAAK,OAAO,eAAA;AAAA,QAE7B,UAAA;AAAA,UAAAL;AAAA,UACAC,KACC,gBAAAK,EAACD,GAAA,EAAW,WAAU,QAAO,IAAI,EAAE,OAAO,cAAc,IAAI,IAAA,GAAO,UAAA,IAAA,CAEnE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGHH;AAAA,EAAA,GACH;AAGF,SAAAH,EAAS,YAAY;AAAA,IACnB,OAAOQ,EAAU,OAAO;AAAA,IACxB,UAAUA,EAAU;AAAA,IACpB,UAAUA,EAAU,KAAK;AAAA,EAAA,GAIzB,gBAAAJ;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAM3D;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,MACV,SAAS4B;AAAA,MACT,WAAWZ,EAAa,mBAAmB;AAAA,MAC3C,YAAY;AAAA,QACV,IAAI;AAAA,UACF,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,wBAAwB,EAAE,SAAS,OAAA;AAAA,UACnC,4BAA4B;AAAA,YAC1B,gBAAgB;AAAA,YAChB,iBAAiB;AAAA,YACjB,wBAAwB,EAAE,SAAS,OAAA;AAAA,UAAO;AAAA,QAC5C;AAAA,MACF;AAAA,MAIF,UAAA;AAAA,QAAA,gBAAAyC;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,IAAI;AAAA,cACJ,IAAI;AAAA,cACJ,IAAI;AAAA,cACJ,cAAc;AAAA,cACd,aAAa;AAAA,cACb,iBAAiB;AAAA,YAAA;AAAA,YAGnB,UAAA,gBAAAN,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,IAAA,GACrD,UAAA;AAAA,cAAA,gBAAAE;AAAA,gBAACF;AAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,oBACF,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,gBAAgB;AAAA,oBAChB,iBAAiB;AAAA,oBACjB,OAAO;AAAA,oBACP,YAAY;AAAA,kBAAA;AAAA,kBAGd,UAAA,gBAAAE;AAAA,oBAACI;AAAA,oBAAA;AAAA,sBACC,MAAMzD,IAAa0D,IAAQC;AAAA,sBAC3B,OAAO,EAAE,UAAU,UAAA;AAAA,oBAAU;AAAA,kBAAA;AAAA,gBAC/B;AAAA,cAAA;AAAA,gCAEDR,GAAA,EACC,UAAA;AAAA,gBAAA,gBAAAE,EAACD,KAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,KAAK,YAAY,OACzD,UACGhD,MAAU,kBACA,YADe,GAE/B;AAAA,gBACA,gBAAAiD,EAACD,KAAW,SAAQ,WAAU,OAAM,kBACjC,UAAApD,IACG,sDACA,qCAAA,CACN;AAAA,cAAA,EAAA,CACF;AAAA,YAAA,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,gBAAAkD,EAAC,UAAK,YAAU,IAAC,UAAU9B,EAAS,aAAaS,CAAQ,GACvD,UAAA;AAAA,UAAA,gBAAAwB;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,IAAI;AAAA,gBACJ,IAAI;AAAA,gBACJ,gBAAgB;AAAA,gBAChB,wBAAwB,EAAE,SAAS,OAAA;AAAA,cAAO;AAAA,cAG5C,UAAA,gBAAAV,EAACW,GAAA,EAAK,WAAS,IAAC,SAAS,KAEvB,UAAA;AAAA,gBAAA,gBAAAX,EAACW,GAAA,EAAK,MAAM,IACV,UAAA;AAAA,kBAAA,gBAAAR;AAAA,oBAACD;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,IAAI;AAAA,wBACF,YAAY;AAAA,wBACZ,OAAO;AAAA,wBACP,IAAI;AAAA,wBACJ,eAAe;AAAA,wBACf,UAAU;AAAA,wBACV,eAAe;AAAA,sBAAA;AAAA,sBAElB,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,oCAGAU,GAAA,CAAA,CAAQ;AAAA,gBAAA,GACX;AAAA,gBAGA,gBAAAT,EAACQ,GAAA,EAAK,MAAM,GACV,UAAA,gBAAAR,EAACP,GAAA,EAAS,OAAO1C,EAAU,MAAM,GAAG,UAAQ,IAC1C,UAAA,gBAAAiD;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACC,SAAS3C,EAAS;AAAA,oBAClB,MAAK;AAAA,oBACL,IAAG;AAAA,oBACH,QAAQA,EAAS,UAAU;AAAA,oBAC3B,aAAY;AAAA,kBAAA;AAAA,gBAAA,GAEhB,EAAA,CACF;AAAA,gBAEA,gBAAAiC,EAACQ,GAAA,EAAK,MAAM,GACV,UAAA,gBAAAR,EAACP,GAAA,EAAS,OAAO1C,EAAU,MAAM,GAAG,UAAQ,IAC1C,UAAA,gBAAAiD;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACC,SAAS3C,EAAS;AAAA,oBAClB,MAAK;AAAA,oBACL,IAAG;AAAA,oBACH,UAAUpB;AAAA,oBACV,QAAQoB,EAAS,UAAU;AAAA,oBAC3B,aAAY;AAAA,oBACZ,gBAAAd;AAAA,oBACA,UAAU,CAAC0D,MAAMvC,EAA2BuC,EAAE,OAAO,KAAK;AAAA,kBAAA;AAAA,gBAAA,GAE9D,EAAA,CACF;AAAA,gBAGA,gBAAAX,EAACQ,GAAA,EAAK,MAAM,GACV,UAAA,gBAAAX,EAACJ,GAAA,EAAS,OAAO1C,EAAU,MAAM,GAAG,UAAQ,IAC1C,UAAA;AAAA,kBAAA,gBAAAiD;AAAA,oBAACY;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,SAAS7C,EAAS;AAAA,sBAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAA8C,GAAU,OAAA9B,EAAA,QAE1B,gBAAAiB;AAAA,wBAACc;AAAA,wBAAA;AAAA,0BACC,MAAK;AAAA,0BACL,SAAS1D,KAAe,CAAA;AAAA,0BACxB,gBAAgB,CAAC2D,MAAWA;AAAA,0BAC5B,cAAchC;AAAA,0BACd,UAAU,CAACiC,GAAOC,MAAa;AAC7B,4BAAAJ,EAASI,CAAQ;AAAA,0BACnB;AAAA,0BACA,aAAa,CAACC;;AACZ,mDAAAlB;AAAA,8BAACmB;AAAA,8BAAA;AAAA,gCACE,GAAGD;AAAA,gCACJ,aAAY;AAAA,gCACZ,SAAQ;AAAA,gCACR,OAAO,CAAC,GAACvC,IAAAZ,EAAS,UAAU,WAAnB,QAAAY,EAA2B;AAAA,8BAAA;AAAA,4BAAA;AAAA;AAAA,wBACtC;AAAA,sBAAA;AAAA,oBAIR;AAAA,kBAAA;AAAA,kBAEDZ,EAAS,UAAU,OAAO,QACzB,gBAAAiC,EAACoB,IAAA,EAAe,OAAK,IAClB,WAAAzC,IAAAZ,EAAS,UAAU,OAAO,SAA1B,gBAAAY,EAAgC,QAAA,CACnC;AAAA,gBAAA,EAAA,CAEJ,EAAA,CACF;AAAA,gBAEA,gBAAAqB,EAACQ,GAAA,EAAK,MAAM,GACV,UAAA,gBAAAR,EAACP,GAAA,EAAS,OAAO1C,EAAU,KAAK,GAAG,UAAQ,IACzC,UAAA,gBAAAiD;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACC,SAAS3C,EAAS;AAAA,oBAClB,MAAK;AAAA,oBACL,IAAG;AAAA,oBACH,QAAQA,EAAS,UAAU;AAAA,oBAC3B,aAAY;AAAA,kBAAA;AAAA,gBAAA,GAEhB,EAAA,CACF;AAAA,gBAGA,gBAAAiC,EAACQ,GAAA,EAAK,MAAM,IACV,UAAA,gBAAAR,EAACP,GAAA,EAAS,OAAO1C,EAAU,QAAQ,GAAG,UAAQ,IAC5C,UAAA,gBAAAiD;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS7C,EAAS;AAAA,oBAClB,OAAO,EAAE,UAAU,0BAAA;AAAA,oBACnB,QAAQ,CAAC;AAAA,sBACP,OAAO,EAAE,UAAA8C,GAAU,OAAA9B,EAAA;AAAA,sBACnB,YAAY,EAAE,OAAAK,EAAA;AAAA,oBAAM;;+CAEnBiC,IAAA,EAAY,WAAU,YAAW,OAAO,CAAC,CAACjC,GACzC,UAAA;AAAA,wBAAA,gBAAAS,EAACyB,IAAA,EAAW,KAAG,IAAC,OAAAvC,GAAc,UAAA8B,GAC5B,UAAA;AAAA,0BAAA,gBAAAb;AAAA,4BAACuB;AAAA,4BAAA;AAAA,8BACC,OAAO;AAAA,8BACP,SAAS,gBAAAvB,EAACwB,IAAA,EAAM,MAAK,QAAA,CAAQ;AAAA,8BAC7B,OAAO,gBAAAxB,EAACD,GAAA,EAAW,SAAQ,SAAQ,UAAA,MAAA,CAAG;AAAA,4BAAA;AAAA,0BAAA;AAAA,0BAExC,gBAAAC;AAAA,4BAACuB;AAAA,4BAAA;AAAA,8BACC,OAAO;AAAA,8BACP,SAAS,gBAAAvB,EAACwB,IAAA,EAAM,MAAK,QAAA,CAAQ;AAAA,8BAC7B,OAAO,gBAAAxB,EAACD,GAAA,EAAW,SAAQ,SAAQ,UAAA,KAAA,CAAE;AAAA,4BAAA;AAAA,0BAAA;AAAA,wBACvC,GACF;AAAA,wBACCX,KACC,gBAAAY,EAACoB,IAAA,EACE,iBAAS,UAAU,OAAO,+BAAU,QAAA,CACvC;AAAA,sBAAA,EAAA,CAEJ;AAAA;AAAA,kBAAA;AAAA,gBAAA,GAGN,EAAA,CACF;AAAA,gBAGA,gBAAAvB,EAACW,KAAK,MAAM,IAAI,IAAI,EAAE,IAAI,OACxB,UAAA;AAAA,kBAAA,gBAAAR;AAAA,oBAACD;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,IAAI;AAAA,wBACF,YAAY;AAAA,wBACZ,OAAO;AAAA,wBACP,IAAI;AAAA,wBACJ,eAAe;AAAA,wBACf,UAAU;AAAA,wBACV,eAAe;AAAA,sBAAA;AAAA,sBAElB,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,oCAGAU,GAAA,CAAA,CAAQ;AAAA,gBAAA,GACX;AAAA,gBAGA,gBAAAT,EAACQ,KAAK,MAAM,IACV,4BAACf,GAAA,EAAS,OAAO1C,EAAU,eAAe,GACxC,UAAA,gBAAAiD;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS7C,EAAS;AAAA,oBAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAA8C,GAAU,OAAA9B,EAAA,QAE1B,gBAAAiB;AAAA,sBAACc;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,UAAQ;AAAA,wBACR,SAASrE,KAAiB,CAAA;AAAA,wBAC1B,gBAAgB,CAACsE,MAAWA,EAAO,QAAQ;AAAA,wBAC3C,cAAc,CAACA,MAAWA,EAAO,QAAQ;AAAA,wBACzC,mBAAmB,CAACA,MAClBA,EAAO,SAAShD,EAAS,UAAU,MAAM,KACzCA,EACG,UAAU,eAAe,EACzB,KAAK,CAACQ,MAAWA,EAAO,SAASwC,EAAO,IAAI;AAAA,wBAEjD,OAAAhC;AAAA,wBACA,UAAU,CAACiC,GAAOC,MAAa;AAC7B,0BAAAJ,EAASI,CAAQ;AAAA,wBACnB;AAAA,wBACA,YAAY,CAACQ,GAAUC,MACrBD,EAAS,IAAI,CAACV,GAAQY,MACpB,gBAAAC;AAAA,0BAACC;AAAA,0BAAA;AAAA,4BACE,GAAGH,EAAY,EAAE,OAAAC,GAAO;AAAA,4BACzB,KAAKZ,EAAO;AAAA,4BACZ,OAAOA,EAAO;AAAA,4BACd,MAAK;AAAA,4BACL,OAAM;AAAA,4BACN,SAAQ;AAAA,4BACR,IAAI,EAAE,cAAc,GAAG,YAAY,IAAA;AAAA,0BAAI;AAAA,wBAAA,CAE1C;AAAA,wBAEH,aAAa,CAACG,MACZ,gBAAAlB;AAAA,0BAACmB;AAAA,0BAAA;AAAA,4BACE,GAAGD;AAAA,4BACJ,cACEnC,KAAA,gBAAAA,EAAO,UAAS,IACZ,KACA;AAAA,4BAEN,SAAQ;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACV;AAAA,oBAAA;AAAA,kBAIR;AAAA,gBAAA,GAEJ,EAAA,CACF;AAAA,gBAGA,gBAAAiB,EAACQ,KAAK,MAAM,IACV,4BAACf,GAAA,EAAS,OAAO1C,EAAU,aAAa,GACtC,UAAA,gBAAAiD;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,SAAS7C,EAAS;AAAA,oBAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAA8C,GAAU,OAAA9B,EAAA,QAE1B,gBAAAiB;AAAA,sBAACc;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,UAAQ;AAAA,wBACR,SAASrE,KAAiB,CAAA;AAAA,wBAC1B,gBAAgB,CAACsE,MAAWA,EAAO,QAAQ;AAAA,wBAC3C,cAAc,CAACA,MAAWA,EAAO,QAAQ;AAAA,wBACzC,mBAAmB,CAACA,MAClBA,EAAO,SAAShD,EAAS,UAAU,MAAM,KACzCA,EACG,UAAU,eAAe,EACzB,KAAK,CAACQ,MAAWA,EAAO,SAASwC,EAAO,IAAI;AAAA,wBAEjD,OAAAhC;AAAA,wBACA,UAAU,CAACiC,GAAOC,MAAa;AAC7B,0BAAAJ,EAASI,CAAQ;AAAA,wBACnB;AAAA,wBACA,YAAY,CAACQ,GAAUC,MACrBD,EAAS,IAAI,CAACV,GAAQY,MACpB,gBAAAC;AAAA,0BAACC;AAAA,0BAAA;AAAA,4BACE,GAAGH,EAAY,EAAE,OAAAC,GAAO;AAAA,4BACzB,KAAKZ,EAAO;AAAA,4BACZ,OAAOA,EAAO;AAAA,4BACd,MAAK;AAAA,4BACL,OAAM;AAAA,4BACN,SAAQ;AAAA,4BACR,IAAI,EAAE,cAAc,GAAG,YAAY,IAAA;AAAA,0BAAI;AAAA,wBAAA,CAE1C;AAAA,wBAEH,aAAa,CAACG,MACZ,gBAAAlB;AAAA,0BAACmB;AAAA,0BAAA;AAAA,4BACE,GAAGD;AAAA,4BACJ,cACEnC,KAAA,gBAAAA,EAAO,UAAS,IACZ,KACA;AAAA,4BAEN,SAAQ;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACV;AAAA,oBAAA;AAAA,kBAIR;AAAA,gBAAA,GAEJ,EAAA,CACF;AAAA,cAAA,EAAA,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,UAIF,gBAAAc;AAAA,YAACiC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,IAAI;AAAA,gBACJ,IAAI;AAAA,gBACJ,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,KAAK;AAAA,cAAA;AAAA,cAGP,UAAA;AAAA,gBAAA,gBAAA9B;AAAA,kBAAC+B;AAAA,kBAAA;AAAA,oBACC,SAAS5D;AAAA,oBACT,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,IAAI;AAAA,sBACF,cAAc;AAAA,sBACd,eAAe;AAAA,sBACf,YAAY;AAAA,sBACZ,IAAI;AAAA,sBACJ,aAAa;AAAA,sBACb,OAAO;AAAA,sBACP,WAAW;AAAA,wBACT,iBAAiB;AAAA,wBACjB,aAAa;AAAA,sBAAA;AAAA,oBACf;AAAA,oBAGD,YAAU,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAErB,gBAAA6B;AAAA,kBAAC+B;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,UAAU,CAACnE;AAAA,oBACX,IAAI;AAAA,sBACF,cAAc;AAAA,sBACd,eAAe;AAAA,sBACf,YAAY;AAAA,sBACZ,IAAI;AAAA,sBACJ,WAAW;AAAA,oBAAA;AAAA,oBAEb,WACE,gBAAAoC;AAAA,sBAACI;AAAA,sBAAA;AAAA,wBACC,MAAMzD,IAAa0D,IAAQC;AAAA,wBAC3B,OAAO,EAAE,UAAU,UAAA;AAAA,sBAAU;AAAA,oBAAA;AAAA,oBAIhC,cAAa,kBAAkB;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAClC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAhE,GAAe,YAAY;AAAA,EACzB,eAAe2D,EAAU;AAAA,EACzB,mBAAmBA,EAAU;AAAA,EAC7B,eAAeA,EAAU;AAAA,EACzB,gBAAgBA,EAAU;AAAA,EAC1B,YAAYA,EAAU;AAAA,EACtB,gBAAgBA,EAAU;AAAA,EAC1B,YAAYA,EAAU;AAAA,EACtB,QAAQA,EAAU;AACpB;AChnBA,SAAwB+B,KAAsB;AAC5C,QAAM,CAACvF,GAAewF,CAAgB,IAAI9E,EAAS,CAAA,CAAE,GAC/C,CAACZ,GAAe2F,CAAgB,IAAI/E,EAAS,EAAK,GAClD,CAACR,GAAYwF,CAAa,IAAIhF,EAAS,EAAK,GAC5C,CAACN,GAAYuF,CAAa,IAAIjF,EAAS,CAAA,CAAE,GACzC,CAACkF,GAAkBC,CAAmB,IAAInF,EAAS,CAAA,CAAE,GACrD,CAACoF,GAAYC,CAAa,IAAIrF,EAAS,EAAK,GAC5C,CAACsF,GAAaC,CAAc,IAAIvF,EAAS,EAAE,GAC3C,CAACL,GAAQ6F,CAAS,IAAIxF,EAAS,IAAI,GACnC,CAACyF,GAASC,CAAU,IAAI1F,EAAS,EAAI,GACrCE,IAAQC,GAAA,GACRG,IAAYC,EAAY,eAAeZ,KAAA,gBAAAA,EAAS,mCAAmC,GACnFa,KAAYD,EAAY,eAAeZ,KAAA,gBAAAA,EAAS,mCAAmC;AAEzF,EAAAoB,GAAU,MAAM;AACd,KAAC,aACC2E,EAAW,EAAI,GACf,MAAMC,EAAA,GACN,MAAMC,EAAA,GACNF,EAAW,EAAK;AAAA,EAEpB,GAAG,CAACN,CAAU,CAAC,GAEfrE,GAAU,MAAM;AACd,KAAC,YAAY;AACX,UAAI;AACF,cAAM,EAAE,MAAAO,EAAA,IAAS,MAAMuE,GAAoB,iCAAiC;AAC5E,QAAAL,EAAU,KAAK,MAAMlE,CAAI,CAAC;AAAA,MAC5B,SAASW,GAAO;AACd,gBAAQ,MAAMA,CAAK;AAAA,MACrB;AAAA,IACF,GAAA;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAM7B,IAAe,CAAC0F,MACb5F,EAAM,QAAQ,SAAS,UAAU4F,IAAY,GAAGA,CAAS,SAG5DH,IAAe,YAAY;AAC/B,QAAI;AACF,YAAMI,KAAY,MAAMC,GAAA,GAAgB;AACxC,MAAID,KACFjB;AAAA,QACEiB,EAAS,IAAI,CAACE,OACF,EAAE,MAAMA,EAAK,MAAM,MAAMA,EAAK,KAAA,EAEzC;AAAA,MAAA;AAAA,IAGP,SAAShE,GAAO;AACd,cAAQ,MAAM,2BAA2BA,CAAK;AAAA,IAChD;AAAA,EACF,GAEM2D,IAAwB,YAAY;AACxC,QAAI;AACF,YAAMG,KAAY,MAAMG,GAAA,GAAuB;AAC/C,MAAIH,MACFA,EAAS,QAAQ,CAACE,MAAS;AACzB,YAAIE,IAAUF,EAAK,iBACf,KAAK,MAAMA,EAAK,cAAc,IAC9B,CAAA,GACAG,IAAUH,EAAK,iBACf,KAAK,MAAMA,EAAK,cAAc,IAC9B,CAAA;AACJ,QAAAA,EAAK,iBAAiB,KAAK,MAAMA,EAAK,cAAc,GACpDA,EAAK,iBAAiB,KAAK,MAAMA,EAAK,cAAc,GACpDA,EAAK,kBACHE,EAAQ,SAAS,IAAIA,EAAQ,IAAI,CAAC/E,MAAWA,EAAO,IAAI,IAAI,CAAA,GAC9D6E,EAAK,kBACHG,EAAQ,SAAS,IAAIA,EAAQ,IAAI,CAAChF,MAAWA,EAAO,IAAI,IAAI,CAAA;AAAA,MAChE,CAAC,GACD+D,EAAoBY,CAAQ;AAAA,IAEhC,SAAS9D,GAAO;AACd,cAAQ,MAAM,2BAA2BA,CAAK;AAAA,IAChD;AAAA,EACF,GAEMoE,IAAmB,CAACJ,MAAS;AACjC,IAAAjB,EAAc,EAAI,GAClBC,EAAcgB,CAAI,GAClBlB,EAAiB,EAAI;AAAA,EACvB,GAEMuB,IAAkBC,GAAQ,MAAM;AACpC,QAAI,CAACjB,EAAY,KAAA,EAAQ,QAAOJ;AAChC,UAAMsB,IAAIlB,EAAY,YAAA;AACtB,WAAOJ,EAAiB;AAAA,MACtB,CAACe;;AACC,iBAAAzE,IAAAyE,EAAK,SAAL,gBAAAzE,EAAW,cAAc,SAASgF,SAClC9E,IAAAuE,EAAK,SAAL,gBAAAvE,EAAW,cAAc,SAAS8E,SAClCC,IAAAR,EAAK,QAAL,gBAAAQ,EAAU,cAAc,SAASD;AAAA;AAAA,IAAC;AAAA,EAExC,GAAG,CAACtB,GAAkBI,CAAW,CAAC,GAE5BoB,IAAcxB,EAAiB,OAAO,CAACyB,MAAMA,EAAE,QAAQ,EAAE,QAEzDC,IAAa,CAACC,MAAe;AACjC,QAAI,CAACA,EAAY,QAAO;AACxB,UAAMC,IAAO,IAAI,KAAKD,CAAU,GAC1BE,IAAM,OAAOD,EAAK,QAAA,CAAS,EAAE,SAAS,GAAG,GAAG,GAe5CE,IAda;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,EAEuBF,EAAK,SAAA,CAAU,GAClCG,KAAOH,EAAK,YAAA,GACZI,KAAQ,OAAOJ,EAAK,SAAA,CAAU,EAAE,SAAS,GAAG,GAAG,GAC/CK,KAAU,OAAOL,EAAK,WAAA,CAAY,EAAE,SAAS,GAAG,GAAG;AACzD,WAAO,GAAGC,CAAG,IAAIC,CAAK,IAAIC,EAAI,KAAKC,EAAK,IAAIC,EAAO;AAAA,EACrD;AAEA,SAAI,CAAC1B,KAAW9F,MAAW,QAAQ,CAACY,EAAY,eAAeZ,KAAA,gBAAAA,EAAS,iCAAiC,sBAEpGgD,GAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,UAAU,YAAY,UAAU,OAAO,QAAQ,QAAQ,UACjG,UAAA,gBAAAE,EAACuE,MAAK,IAAI,EAAE,QAAQ,KAAK,OAAO,KAAK,SAAS,QAAQ,gBAAgB,UAAU,YAAY,SAAA,GAC1F,UAAA,gBAAAvE,EAACD,KAAW,SAAQ,MAAK,WAAU,mBAAkB,UAAA,qDAAA,CAErD,GACF,GACF,IAKF,gBAAAF,EAACW,GAAA,EAAK,IAAI,GAAG,IAAI,EAAE,QAAQ,eAAe,MAAM,MAAA,GAC9C,UAAA;AAAA,IAAA,gBAAAR,EAACF,GAAA,EAAI,IAAI,EAAE,GAAG,KAAK,WAAWvC,EAAa,2BAA2B,GAEpE,UAAA,gBAAAsC;AAAA,MAAC2E;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,IAAI;AAAA,UACF,GAAG,EAAE,IAAI,KAAK,IAAI,EAAA;AAAA,UAClB,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,cAAc;AAAA,UACd,iBAAiB;AAAA,QAAA;AAAA,QAInB,UAAA;AAAA,UAAA,gBAAA3E,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,EAAA,GACxD,UAAA;AAAA,YAAA,gBAAAD;AAAA,cAACC;AAAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,YAAY;AAAA,kBACZ,UAAU;AAAA,kBACV,KAAK;AAAA,gBAAA;AAAA,gBAGP,UAAA;AAAA,kBAAA,gBAAAD,EAACC,GAAA,EAAI,IAAI,EAAE,UAAU,EAAE,IAAI,QAAQ,IAAI,MAAA,EAAM,GAC3C,UAAA;AAAA,oBAAA,gBAAAE;AAAA,sBAACD;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,IAAI,EAAE,YAAY,KAAK,OAAO,gBAAgB,IAAI,IAAA;AAAA,wBACnD,UAAA;AAAA,sBAAA;AAAA,oBAAA;AAAA,sCAGAA,GAAA,EAAW,SAAQ,SAAQ,OAAM,kBAAiB,UAAA,iFAAA,CAGnD;AAAA,kBAAA,GACF;AAAA,kBAEA,gBAAAC;AAAA,oBAACF;AAAAA,oBAAA;AAAA,sBACC,IAAI;AAAA,wBACF,SAAS;AAAA,wBACT,YAAY;AAAA,wBACZ,KAAK;AAAA,wBACL,UAAU;AAAA,sBAAA;AAAA,sBAGX,UAAArC,KACC,gBAAAuC;AAAA,wBAAC+B;AAAA,wBAAA;AAAA,0BACC,MAAK;AAAA,0BACL,SAAQ;AAAA,0BACR,IAAI;AAAA,4BACF,cAAc;AAAA,4BACd,YAAY;AAAA,4BACZ,IAAI;AAAA,4BACJ,WAAW;AAAA,4BACX,eAAe;AAAA,0BAAA;AAAA,0BAEjB,WAAW,gBAAA/B,EAACI,GAAA,EAAgB,MAAME,EAAA,CAAQ;AAAA,0BAC1C,SAAS,MAAM;AACb,4BAAA4B,EAAiB,EAAI;AAAA,0BACvB;AAAA,0BACD,UAAA;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAED;AAAA,kBAAA;AAAA,gBAEJ;AAAA,cAAA;AAAA,YAAA;AAAA,YAIF,gBAAArC;AAAA,cAACC;AAAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,YAAY;AAAA,kBACZ,UAAU;AAAA,kBACV,KAAK;AAAA,kBACL,iBAAiB;AAAA,kBACjB,GAAG;AAAA,kBACH,cAAc;AAAA,kBACd,QAAQ;AAAA,kBACR,aAAa;AAAA,gBAAA;AAAA,gBAGf,UAAA;AAAA,kBAAA,gBAAAD,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,IAAA,GACrD,UAAA;AAAA,oBAAA,gBAAAE;AAAA,sBAAC6B;AAAA,sBAAA;AAAA,wBACC,MACE,gBAAA7B;AAAA,0BAACI;AAAA,0BAAA;AAAA,4BACC,MAAMqE;AAAA,4BACN,OAAO,EAAE,UAAU,SAAA;AAAA,0BAAS;AAAA,wBAAA;AAAA,wBAGhC,OAAO,GAAGpC,EAAiB,MAAM;AAAA,wBACjC,MAAK;AAAA,wBACL,SAAQ;AAAA,wBACR,IAAI;AAAA,0BACF,YAAY;AAAA,0BACZ,cAAc;AAAA,0BACd,IAAI;AAAA,0BACJ,aAAa;AAAA,wBAAA;AAAA,sBACf;AAAA,oBAAA;AAAA,oBAEF,gBAAArC;AAAA,sBAAC6B;AAAA,sBAAA;AAAA,wBACC,MACE,gBAAA7B;AAAA,0BAACI;AAAA,0BAAA;AAAA,4BACC,MAAMsE;AAAA,4BACN,OAAO,EAAE,UAAU,SAAA;AAAA,0BAAS;AAAA,wBAAA;AAAA,wBAGhC,OAAO,GAAGb,CAAW;AAAA,wBACrB,MAAK;AAAA,wBACL,OAAM;AAAA,wBACN,SAAQ;AAAA,wBACR,IAAI,EAAE,YAAY,KAAK,cAAc,GAAG,IAAI,IAAA;AAAA,sBAAI;AAAA,oBAAA;AAAA,oBAEjDxB,EAAiB,SAASwB,IAAc,KACvC,gBAAA7D;AAAA,sBAAC6B;AAAA,sBAAA;AAAA,wBACC,OAAO,GAAGQ,EAAiB,SAASwB,CAAW;AAAA,wBAC/C,MAAK;AAAA,wBACL,OAAM;AAAA,wBACN,SAAQ;AAAA,wBACR,IAAI;AAAA,0BACF,YAAY;AAAA,0BACZ,cAAc;AAAA,0BACd,IAAI;AAAA,0BACJ,aAAa;AAAA,wBAAA;AAAA,sBACf;AAAA,oBAAA;AAAA,kBACF,GAEJ;AAAA,kBAEA,gBAAA7D;AAAA,oBAACmB;AAAA,oBAAA;AAAA,sBACC,OAAOsB;AAAA,sBACP,MAAK;AAAA,sBACL,aAAY;AAAA,sBACZ,UAAU,CAAC9B,MAAM+B,EAAe/B,EAAE,OAAO,KAAK;AAAA,sBAC9C,YAAY;AAAA,wBACV,gBACE,gBAAAX,EAAC2E,IAAA,EAAe,UAAS,SACvB,UAAA,gBAAA3E;AAAA,0BAACI;AAAA,0BAAA;AAAA,4BACC,MAAMwE;AAAA,4BACN,OAAO,EAAE,UAAU,WAAW,OAAO,OAAA;AAAA,0BAAO;AAAA,wBAAA,GAEhD;AAAA,wBAEF,IAAI;AAAA,0BACF,iBAAiB;AAAA,0BACjB,cAAc;AAAA,0BACd,UAAU;AAAA,wBAAA;AAAA,sBACZ;AAAA,oBACF;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YAAA;AAAA,UACF,GACF;AAAA,4BAECnE,GAAA,EAAQ,IAAI,EAAE,IAAI,KAAK;AAAA,UAGxB,gBAAAT;AAAA,YAAC6E;AAAA,YAAA;AAAA,cACC,WAAWtH,EAAa,cAAc;AAAA,cACtC,WAAWiH;AAAA,cACX,WAAW;AAAA,cACX,IAAI;AAAA,gBACF,cAAc;AAAA,gBACd,QAAQ;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,WAAW;AAAA,cAAA;AAAA,cAGb,UAAA,gBAAA3E,EAACiF,IAAA,EAAM,cAAY,IACjB,UAAA;AAAA,gBAAA,gBAAA9E,EAAC+E,IAAA,EACC,4BAACC,GAAA,EACE,UAAA;AAAA,kBACC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBAAA,EACA,IAAI,CAACC,GAAQC,MACb,gBAAAlF;AAAA,kBAACmF;AAAA,kBAAA;AAAA,oBAEC,OAAOF,MAAW,YAAY,WAAW;AAAA,oBACzC,IAAI;AAAA,sBACF,YAAY;AAAA,sBACZ,UAAU;AAAA,sBACV,eAAe;AAAA,sBACf,eAAe;AAAA,sBACf,OAAO;AAAA,sBACP,iBAAiB;AAAA,sBACjB,cAAc;AAAA,sBACd,aAAa;AAAA,sBACb,IAAI;AAAA,oBAAA;AAAA,oBAGL,UAAAA;AAAA,kBAAA;AAAA,kBAdIC;AAAA,gBAAA,CAgBR,GACH,EAAA,CACF;AAAA,kCACCE,IAAA,EACE,UAAA;AAAA,kBAAA3B,EAAgB,IAAI,CAACL,GAAMzB,MAC1B,gBAAA9B;AAAA,oBAACmF;AAAA,oBAAA;AAAA,sBAEC,IAAI;AAAA,wBACF,YAAY;AAAA,wBACZ,WAAW,EAAE,iBAAiB,eAAA;AAAA,wBAC9B,mBAAmB,EAAE,cAAc,EAAA;AAAA,sBAAE;AAAA,sBAGvC,UAAA;AAAA,wBAAA,gBAAAhF;AAAA,0BAACmF;AAAA,0BAAA;AAAA,4BACC,IAAI,EAAE,OAAO,kBAAkB,YAAY,IAAA;AAAA,4BAE1C,UAAAxD,IAAQ;AAAA,0BAAA;AAAA,wBAAA;AAAA,wBAEX,gBAAA3B,EAACmF,KAAU,IAAI,EAAE,YAAY,IAAA,GAAQ,YAAK,MAAK;AAAA,0CAC9CA,GAAA,EACC,UAAA,gBAAAnF;AAAA,0BAAC6B;AAAA,0BAAA;AAAA,4BACC,OAAOuB,EAAK;AAAA,4BACZ,MAAK;AAAA,4BACL,SAAQ;AAAA,4BACR,IAAI;AAAA,8BACF,YAAY;AAAA,8BACZ,UAAU;AAAA,8BACV,cAAc;AAAA,8BACd,aAAa;AAAA,4BAAA;AAAA,0BACf;AAAA,wBAAA,GAEJ;AAAA,wBACA,gBAAApD,EAACmF,GAAA,EAAW,UAAA/B,EAAK,KAAA,CAAK;AAAA,wBACtB,gBAAApD;AAAA,0BAACmF;AAAA,0BAAA;AAAA,4BACC,IAAI;AAAA,8BACF,UAAU;AAAA,8BACV,UAAU;AAAA,8BACV,cAAc;AAAA,8BACd,YAAY;AAAA,4BAAA;AAAA,4BAGd,UAAA,gBAAAnF,EAACqF,IAAA,EAAQ,OAAOjC,EAAK,OAAO,IAAI,OAAK,IAAC,WAAU,OAC9C,UAAA,gBAAApD,EAAC,QAAA,EAAM,UAAAoD,EAAK,KAAI,EAAA,CAClB;AAAA,0BAAA;AAAA,wBAAA;AAAA,wBAEF,gBAAApD,EAACmF,GAAA,EACE,UAAA/B,EAAK,WACJ,gBAAApD;AAAA,0BAAC6B;AAAA,0BAAA;AAAA,4BACC,MACE,gBAAA7B;AAAA,8BAACI;AAAA,8BAAA;AAAA,gCACC,MAAMsE;AAAA,gCACN,OAAO,EAAE,UAAU,SAAA;AAAA,8BAAS;AAAA,4BAAA;AAAA,4BAGhC,OAAM;AAAA,4BACN,MAAK;AAAA,4BACL,OAAM;AAAA,4BACN,SAAQ;AAAA,4BACR,IAAI,EAAE,YAAY,KAAK,cAAc,EAAA;AAAA,0BAAE;AAAA,wBAAA,IAGzC,gBAAA1E;AAAA,0BAAC6B;AAAA,0BAAA;AAAA,4BACC,MACE,gBAAA7B;AAAA,8BAACI;AAAA,8BAAA;AAAA,gCACC,MAAMkF;AAAA,gCACN,OAAO,EAAE,UAAU,SAAA;AAAA,8BAAS;AAAA,4BAAA;AAAA,4BAGhC,OAAM;AAAA,4BACN,MAAK;AAAA,4BACL,OAAM;AAAA,4BACN,SAAQ;AAAA,4BACR,IAAI;AAAA,8BACF,YAAY;AAAA,8BACZ,cAAc;AAAA,8BACd,aAAa;AAAA,4BAAA;AAAA,0BACf;AAAA,wBAAA,GAGN;AAAA,0CACCH,GAAA,EACE,UAAA,MAAM,QAAQ/B,EAAK,eAAe,KACnCA,EAAK,gBAAgB,SAAS,IAC5BA,EAAK,gBAAgB,IAAI,CAAC7E,GAAQ2G,MAChC,gBAAAlF;AAAA,0BAAC6B;AAAA,0BAAA;AAAA,4BAEC,OAAOtD,KAAU;AAAA,4BACjB,OAAM;AAAA,4BACN,MAAK;AAAA,4BACL,SAAQ;AAAA,4BACR,IAAI;AAAA,8BACF,IAAI;AAAA,8BACJ,IAAI;AAAA,8BACJ,cAAc;AAAA,8BACd,YAAY;AAAA,4BAAA;AAAA,0BACd;AAAA,0BAVK2G;AAAA,wBAAA,CAYR,IAED,gBAAAlF,EAACD,GAAA,EAAW,SAAQ,WAAU,OAAM,iBAAgB,UAAA,IAAA,CAEpD,EAAA,CAEJ;AAAA,0CACCoF,GAAA,EACE,UAAA,MAAM,QAAQ/B,EAAK,eAAe,KACnCA,EAAK,gBAAgB,SAAS,IAC5BA,EAAK,gBAAgB,IAAI,CAAC7E,GAAQ2G,MAChC,gBAAAlF;AAAA,0BAAC6B;AAAA,0BAAA;AAAA,4BAEC,OAAOtD,KAAU;AAAA,4BACjB,OAAM;AAAA,4BACN,MAAK;AAAA,4BACL,SAAQ;AAAA,4BACR,IAAI;AAAA,8BACF,IAAI;AAAA,8BACJ,IAAI;AAAA,8BACJ,cAAc;AAAA,8BACd,YAAY;AAAA,4BAAA;AAAA,0BACd;AAAA,0BAVK2G;AAAA,wBAAA,CAYR,IAED,gBAAAlF,EAACD,GAAA,EAAW,SAAQ,WAAU,OAAM,iBAAgB,UAAA,IAAA,CAEpD,EAAA,CAEJ;AAAA,0CACCoF,GAAA,EACC,UAAA,gBAAAnF;AAAA,0BAACD;AAAA,0BAAA;AAAA,4BACC,SAAQ;AAAA,4BACR,IAAI,EAAE,OAAO,iBAAA;AAAA,4BAEZ,UAAAgE,EAAWX,EAAK,UAAU;AAAA,0BAAA;AAAA,wBAAA,GAE/B;AAAA,wBACA,gBAAApD,EAACmF,GAAA,EAAU,OAAM,UACd,UAAAxH,MACC,gBAAAqC,EAACqF,IAAA,EAAQ,OAAM,eAAc,OAAK,IAAC,WAAU,OAC3C,UAAA,gBAAArF;AAAA,0BAACuF;AAAA,0BAAA;AAAA,4BACC,MAAK;AAAA,4BACL,SAAS,MAAM;AACb,8BAAA/B,EAAiBJ,CAAI;AAAA,4BACvB;AAAA,4BACA,IAAI;AAAA,8BACF,OAAO;AAAA,8BACP,WAAW,EAAE,iBAAiB,aAAA;AAAA,4BAAa;AAAA,4BAG7C,UAAA,gBAAApD;AAAA,8BAACI;AAAA,8BAAA;AAAA,gCACC,MAAMC;AAAA,gCACN,OAAO,EAAE,UAAU,SAAA;AAAA,8BAAS;AAAA,4BAAA;AAAA,0BAC9B;AAAA,wBAAA,GAEJ,EAAA,CAEJ;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAtJKsB;AAAA,kBAAA,CAwJR;AAAA,kBACA8B,EAAgB,WAAW,KAC1B,gBAAAzD,EAACgF,KACC,UAAA,gBAAAnF,EAACsF,GAAA,EAAU,SAAS,IAAI,OAAM,UAAS,IAAI,EAAE,IAAI,KAC/C,UAAA;AAAA,oBAAA,gBAAAnF;AAAA,sBAACI;AAAA,sBAAA;AAAA,wBACC,MAAMqE;AAAA,wBACN,OAAO;AAAA,0BACL,UAAU;AAAA,0BACV,OAAO;AAAA,0BACP,cAAc;AAAA,0BACd,SAAS;AAAA,0BACT,QAAQ;AAAA,wBAAA;AAAA,sBACV;AAAA,oBAAA;AAAA,oBAEF,gBAAAzE,EAACD,KAAW,SAAQ,SAAQ,OAAM,kBAC/B,UAAA0C,IACG,kCACA,uDAAA,CACN;AAAA,kBAAA,EAAA,CACF,EAAA,CACF;AAAA,gBAAA,EAAA,CAEJ;AAAA,cAAA,EAAA,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,IACClG,KACC,gBAAAyD;AAAA,MAAC1D;AAAA,MAAA;AAAA,QACC,eAAAC;AAAA,QACA,mBAAmB2F;AAAA,QACnB,eAAAzF;AAAA,QACA,gBAAgB+F;AAAA,QAChB,YAAA7F;AAAA,QACA,gBAAgBwF;AAAA,QAChB,YAAAtF;AAAA,QACA,QAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;"}