@abtnode/blocklet-services 1.16.34-beta-20241212-152152-0b8d4bb3 → 1.16.34-beta-20241213-135509-c2832f80

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 (265) hide show
  1. package/api/services/studio/index.js +10 -0
  2. package/dist/assets/{Add-C-MUV7pC.js → Add-DcTdY6TL.js} +1 -1
  3. package/dist/assets/{Alert-DbN0O0aN.js → Alert-D-e8-MAP.js} +1 -1
  4. package/dist/assets/{ArrowDropDown-BD-n5g-y.js → ArrowDropDown-BvKbPg9O.js} +1 -1
  5. package/dist/assets/Autocomplete-BX46bk2_.js +1 -0
  6. package/dist/assets/{Avatar-BbstlMJY.js → Avatar-BoZ94vwc.js} +1 -1
  7. package/dist/assets/{ButtonGroup-YqMGRNaj.js → ButtonGroup-CtoWRVeN.js} +1 -1
  8. package/dist/assets/{CSSTransition-CXxbf41Q.js → CSSTransition-DhDaGYf6.js} +1 -1
  9. package/dist/assets/{CheckCircle-C-J8R9KR.js → CheckCircle-DuplVjH9.js} +1 -1
  10. package/dist/assets/{ChevronLeft-dqkQph81.js → ChevronLeft-CRxnDPnp.js} +1 -1
  11. package/dist/assets/{ChevronRight-B2k9Gvlw.js → ChevronRight-6ehYjoIB.js} +1 -1
  12. package/dist/assets/Clear-BkApEw3Y.js +1 -0
  13. package/dist/assets/{Delete-DOl4nPF3.js → Delete-LBSof570.js} +1 -1
  14. package/dist/assets/{DeleteOutline-DYH6KsRs.js → DeleteOutline-DoKDfJgl.js} +1 -1
  15. package/dist/assets/DialogContentText-B73EoFbn.js +1 -0
  16. package/dist/assets/DialogTitle-B7_qt6er.js +1 -0
  17. package/dist/assets/{Done-DEI256sV.js → Done-BdhX20sl.js} +1 -1
  18. package/dist/assets/{Download-B7Y03H7t.js → Download-cZILKd7o.js} +1 -1
  19. package/dist/assets/{EditIcon-WRiAz_Ii.js → EditIcon-D9kgkBKD.js} +1 -1
  20. package/dist/assets/{Error-BqDO0zZY.js → Error-ClsC7NrR.js} +1 -1
  21. package/dist/assets/{ExpandMore-BO8jF1bn.js → ExpandMore-DrecSXMe.js} +1 -1
  22. package/dist/assets/FormControl-Ve2KegjN.js +1 -0
  23. package/dist/assets/FormControlLabel-C10RDNgA.js +1 -0
  24. package/dist/assets/FormGroup-C2DrHvar.js +1 -0
  25. package/dist/assets/{Google-D_mc2y32.js → Google-qzzGwT5f.js} +1 -1
  26. package/dist/assets/{Grid-tsC4khHx.js → Grid-DZk6Z8OE.js} +1 -1
  27. package/dist/assets/{HelpOutline-BoXfs1w7.js → HelpOutline-epGv8mXi.js} +1 -1
  28. package/dist/assets/{Hidden-ipoc6BxF.js → Hidden-DPr9AEQp.js} +1 -1
  29. package/dist/assets/{InfoOutlined-BxU1CEPg.js → InfoOutlined-B8LkdcP3.js} +1 -1
  30. package/dist/assets/InputAdornment-gT40mObj.js +1 -0
  31. package/dist/assets/{LastPage--sm4pHpX.js → LastPage-DrjUl7Ym.js} +1 -1
  32. package/dist/assets/{Launch-6LXlwp2H.js → Launch-CyTNEiOE.js} +1 -1
  33. package/dist/assets/{LaunchOutlined-B6l7-o_Y.js → LaunchOutlined-ByFC01OF.js} +1 -1
  34. package/dist/assets/Link-51uCMh9H.js +1 -0
  35. package/dist/assets/{ListItemButton-YchFGwTe.js → ListItemButton-DtweULpb.js} +1 -1
  36. package/dist/assets/{ListSubheader-CKfDOFlq.js → ListSubheader-DfLnu3fa.js} +1 -1
  37. package/dist/assets/{LoadingButton-C4TIaNaq.js → LoadingButton-jLzgx1P7.js} +1 -1
  38. package/dist/assets/{LockIcon-DtPBoSNv.js → LockIcon-De6Ad6SH.js} +1 -1
  39. package/dist/assets/{Loop-BmB9k803.js → Loop-tTR2yrlz.js} +1 -1
  40. package/dist/assets/{MarkEmailRead-D59Dom04.js → MarkEmailRead-B6ZiEWoQ.js} +1 -1
  41. package/dist/assets/{Menu-CasLu-ky.js → Menu-BeKA5iSq.js} +1 -1
  42. package/dist/assets/{MoreHoriz-B5aoiijW.js → MoreHoriz-B1JvEOcC.js} +1 -1
  43. package/dist/assets/{MoreVert-C9UJnjfF.js → MoreVert-GvhXcnsL.js} +1 -1
  44. package/dist/assets/{OpenInNew-YMhtYwHE.js → OpenInNew-C7tW6zIz.js} +1 -1
  45. package/dist/assets/OutlinedInput-Do_G2JiI.js +2 -0
  46. package/dist/assets/{Pagination-Df9SRmt8.js → Pagination-CkastftC.js} +1 -1
  47. package/dist/assets/{PlayArrow-BEtJ369o.js → PlayArrow-DDe0KUdi.js} +1 -1
  48. package/dist/assets/{QuestionMarkCircle-CuvZsXbn.js → QuestionMarkCircle-BbZ4QGV2.js} +1 -1
  49. package/dist/assets/{RadioGroup-CGMGVlf2.js → RadioGroup-CTXZALsL.js} +1 -1
  50. package/dist/assets/{Search-CKwfa740.js → Search-BctSuhZ0.js} +1 -1
  51. package/dist/assets/Select-DYnsfpKN.js +1 -0
  52. package/dist/assets/{ServerLogo-BAQKQJ7V.js → ServerLogo-BLAQXKZ3.js} +1 -1
  53. package/dist/assets/{Skeleton-D0-q_hvU.js → Skeleton-CVZKKwKZ.js} +5 -5
  54. package/dist/assets/{Stack-BO9M0PIW.js → Stack-Cc1e8uS3.js} +1 -1
  55. package/dist/assets/{Stepper-RItm9i-D.js → Stepper-DsIq58ia.js} +1 -1
  56. package/dist/assets/TextField-CO9VOqaC.js +1 -0
  57. package/dist/assets/{Toolbar-DYiylaGG.js → Toolbar-D_Z1ZGgn.js} +1 -1
  58. package/dist/assets/ViewColumn-DQ20ttLn.js +1 -0
  59. package/dist/assets/{ViewList-BaL8evRq.js → ViewList-Bnq-Bz9v.js} +1 -1
  60. package/dist/assets/_createAggregator-dQcfls_H.js +1 -0
  61. package/dist/assets/access-control-BXwHzkCA.js +13 -0
  62. package/dist/assets/{actions-CchlEsiO.js → actions-D67DGwR5.js} +1 -1
  63. package/dist/assets/{add-component-core-oabwwAHL.js → add-component-core-Bfu_zvLX.js} +2 -2
  64. package/dist/assets/add-resource-Bopi2F5-.js +1 -0
  65. package/dist/assets/{addon-k5gcfsfJ.js → addon-yHbJNe3B.js} +1 -1
  66. package/dist/assets/{analytics-9EII-v2b.js → analytics-DecQzqwH.js} +8 -8
  67. package/dist/assets/api-DH8IdxXg.js +1 -0
  68. package/dist/assets/ar-BAnh0kq-.js +1 -0
  69. package/dist/assets/audit-logs-Blyvfwui.js +58 -0
  70. package/dist/assets/{base32-Cog_VZ0k.js → base32-DTb-J1h_.js} +1 -1
  71. package/dist/assets/branding-Cr7lzDNp.js +40 -0
  72. package/dist/assets/{bundle-avatar-C-1ahBAR.js → bundle-avatar-TCiQIGsc.js} +1 -1
  73. package/dist/assets/{button-CSzyfzmK.js → button-B2WmAAQP.js} +1 -1
  74. package/dist/assets/{click-to-copy-BBLmW78J.js → click-to-copy-C-hq6Slv.js} +1 -1
  75. package/dist/assets/{complete-BRGGVyCs.js → complete-CFh6Nef4.js} +2 -2
  76. package/dist/assets/{component-BOFPPqD8.js → component-G-UDGzGu.js} +6 -6
  77. package/dist/assets/{config-BuQgZfpX.js → config-CdE9iwiR.js} +2 -2
  78. package/dist/assets/{config-iLqs6SqP.js → config-R9luUUXo.js} +1 -1
  79. package/dist/assets/{config-navigation-C5_bJU0f.js → config-navigation-DAx0e99X.js} +6 -6
  80. package/dist/assets/{config-space-C56d0lRU.js → config-space-DGTpbWBc.js} +1 -1
  81. package/dist/assets/confirm-BC8TTdT0.js +7 -0
  82. package/dist/assets/{connect-o-hOItU0.js → connect-Ca4Z5ZCG.js} +1 -1
  83. package/dist/assets/{connect-DOaWC9ft.js → connect-DYbGPYA1.js} +2 -2
  84. package/dist/assets/{connect-to-CUmo43dQ.js → connect-to-CK3sPRsk.js} +1 -1
  85. package/dist/assets/{content-layout-Coi8AV4p.js → content-layout-DPhqwbjU.js} +1 -1
  86. package/dist/assets/{dashboard-CazjqRmG.js → dashboard-DqNsUCmU.js} +9 -9
  87. package/dist/assets/de-CYAy3iib.js +1 -0
  88. package/dist/assets/{deprecate-B2OaYvW_.js → deprecate-BzwAgeY6.js} +1 -1
  89. package/dist/assets/{did-address-CqYEOOvT.js → did-address-_iA2JBVL.js} +1 -1
  90. package/dist/assets/domain-CdS6WH7r.js +9 -0
  91. package/dist/assets/domain-list-DgnHKWqf.js +15 -0
  92. package/dist/assets/{email-DD_llVWt.js → email-pILbo7GY.js} +3 -3
  93. package/dist/assets/emotion-cache.browser.esm-FU3nBxaV.js +1 -0
  94. package/dist/assets/es-Bn01DRSJ.js +1 -0
  95. package/dist/assets/exchange-passport-Bz0OFLm3.js +1 -0
  96. package/dist/assets/{fallback-CVomANXA.js → fallback-DNotPO94.js} +1 -1
  97. package/dist/assets/{form-text-input-dBeTAT7j.js → form-text-input-BMDOwfx4.js} +2 -2
  98. package/dist/assets/{format-error-CXOPpcrE.js → format-error-DwZSxaHw.js} +1 -1
  99. package/dist/assets/fr-D3J0B-tk.js +1 -0
  100. package/dist/assets/{fuel-CDp9ZffP.js → fuel-BLdY2pe6.js} +1 -1
  101. package/dist/assets/{fullpage-CWXnpLtu.js → fullpage-DizVq3Q0.js} +1 -1
  102. package/dist/assets/{get-safe-url-B3_JzMvg.js → get-safe-url-BFPkD_-w.js} +1 -1
  103. package/dist/assets/{get-safe-url-DLq03enx.js → get-safe-url-DZ-z9Y11.js} +1 -1
  104. package/dist/assets/hi-DdEYPkL3.js +1 -0
  105. package/dist/assets/{home-CSMD2Z1d.js → home-Tu1r9UUP.js} +1 -1
  106. package/dist/assets/id-C6kfQsmT.js +1 -0
  107. package/dist/assets/{iframe-DCD_qn_b.js → iframe-CaVEoPzZ.js} +1 -1
  108. package/dist/assets/{index-DsAOaF68.js → index-4W47mya0.js} +1 -1
  109. package/dist/assets/{index-DvbaB47F.js → index-B3taNgzi.js} +1 -1
  110. package/dist/assets/{index-BJPpUK5T.js → index-BEJPw-Yp.js} +19 -16
  111. package/dist/assets/{index-BbwkcNKT.js → index-BH89MPC8.js} +1 -1
  112. package/dist/assets/{index-unKKAfCB.js → index-BM80ek7x.js} +1 -1
  113. package/dist/assets/{index-BkwS3xmJ.js → index-BOpUgQ8H.js} +8 -8
  114. package/dist/assets/{index-MlLLj7ox.js → index-BWn04_iI.js} +1 -1
  115. package/dist/assets/index-BXvoL3Iu.js +4 -0
  116. package/dist/assets/{index-DnlBG2uS.js → index-BcBVFEsU.js} +1 -1
  117. package/dist/assets/{index-UA6q4JVO.js → index-Bj8u1Jq1.js} +25 -25
  118. package/dist/assets/{index-B2QN3yxT.js → index-BjsbrYRH.js} +7 -7
  119. package/dist/assets/{index-BAC0visH.js → index-Bn2ctnS8.js} +1 -1
  120. package/dist/assets/{index-CGNW_HS5.js → index-BuFsUoby.js} +4 -4
  121. package/dist/assets/{index-C03QRPVb.js → index-CNW7JpLY.js} +10 -10
  122. package/dist/assets/{index-DQSbUwd9.js → index-CWzdBGm2.js} +1 -1
  123. package/dist/assets/index-CjBMqGWM.js +1 -0
  124. package/dist/assets/{index-Ci5RfQ59.js → index-Cyq88B7c.js} +1 -1
  125. package/dist/assets/{index-CxwdZ5FQ.js → index-CzXHRu12.js} +1 -1
  126. package/dist/assets/{index-CgETkxdp.js → index-D3U2QoHe.js} +1 -1
  127. package/dist/assets/index-D7t6icMl.js +1 -0
  128. package/dist/assets/{index-CS43LeKQ.js → index-DDG6nzV-.js} +1 -1
  129. package/dist/assets/index-DEG_Pe1F.js +1 -0
  130. package/dist/assets/{index-ClKfKXJz.js → index-DLfBZi9C.js} +1 -1
  131. package/dist/assets/{index-2Q0z0xFE.js → index-DPiBRCz4.js} +1 -1
  132. package/dist/assets/{index-BLKPMstc.js → index-DUDLGVrz.js} +7 -7
  133. package/dist/assets/{index-DbAVBGvq.js → index-DWDFxHgN.js} +2 -2
  134. package/dist/assets/{index-CMGrAADS.js → index-DblJTJQz.js} +1 -1
  135. package/dist/assets/{index-DEcPGLHC.js → index-DheUDLUu.js} +1 -1
  136. package/dist/assets/{index-B-5mC5YF.js → index-YElVd5eM.js} +1 -1
  137. package/dist/assets/{index-BWCk5LbW.js → index-d-mPwPwc.js} +2 -2
  138. package/dist/assets/{index-C7otKf8F.js → index-dEKXkm4C.js} +5 -5
  139. package/dist/assets/{index-DIA9qwvc.js → index-lJoTfApr.js} +3 -3
  140. package/dist/assets/{index-C2ynZPOY.js → index-pMGk7BEW.js} +8 -8
  141. package/dist/assets/{invitation-8Vja2ez-.js → invitation-BFbVuQFx.js} +3 -3
  142. package/dist/assets/invite-Bron7GEw.js +5 -0
  143. package/dist/assets/{isEmail-B6BHZ8TX.js → isEmail-5f9jXFqI.js} +1 -1
  144. package/dist/assets/{issue-passport-D8pAGg2V.js → issue-passport-BMTa-EpO.js} +1 -1
  145. package/dist/assets/{item-rGVvbhmE.js → item-BYnIVyyp.js} +1 -1
  146. package/dist/assets/ja-DN837plG.js +1 -0
  147. package/dist/assets/{jss-plugin-props-sort.esm-BqC3mtsa.js → jss-plugin-props-sort.esm-CxRI79tr.js} +6 -6
  148. package/dist/assets/ko-LU148n3o.js +1 -0
  149. package/dist/assets/{launch-result-message-fLJdiQ4t.js → launch-result-message-DXzliFie.js} +1 -1
  150. package/dist/assets/{layout-Df9B9CD5.js → layout-CAsilLGB.js} +1 -1
  151. package/dist/assets/{list-header-8wYyLFjq.js → list-header-YJQAbm9g.js} +1 -1
  152. package/dist/assets/localization-CoaLMiV4.js +1 -0
  153. package/dist/assets/{log-CXrE-Pqc.js → log-Bdo9FkyE.js} +6 -6
  154. package/dist/assets/login-D8bQWYck.js +1 -0
  155. package/dist/assets/{login-oauth-callback-CgPqb7Lq.js → login-oauth-callback-DQ0fJI0M.js} +1 -1
  156. package/dist/assets/logo-uploader-cFGQ2Gvc.js +133 -0
  157. package/dist/assets/{lost-passport-Bh8A1qX6.js → lost-passport-Cut0hEBf.js} +4 -4
  158. package/dist/assets/{lottie-react.esm-BSqfmkGG.js → lottie-react.esm-BMrLVwC-.js} +1 -1
  159. package/dist/assets/notifications-OcsJQIbe.js +65 -0
  160. package/dist/assets/{open-window-ByvPY_IP.js → open-window-D7sglcpE.js} +1 -1
  161. package/dist/assets/overview-DYkC_WUD.js +12 -0
  162. package/dist/assets/{page-header-9hNVxRoa.js → page-header-Bs0D4BNJ.js} +1 -1
  163. package/dist/assets/{permission-CaRXgle6.js → permission-BXmIoXZx.js} +1 -1
  164. package/dist/assets/{preferences-CUsklTmz.js → preferences-C4gMbsXE.js} +1 -1
  165. package/dist/assets/pt-CSZkEO8C.js +1 -0
  166. package/dist/assets/publish-resource-D-e2YEIQ.js +1 -0
  167. package/dist/assets/{raf-schd.esm-Bnef47nT.js → raf-schd.esm-4I_ky4wN.js} +1 -1
  168. package/dist/assets/{react-beautiful-dnd.esm-CpS0-Aqe.js → react-beautiful-dnd.esm-0qjksHeu.js} +4 -4
  169. package/dist/assets/refType-B6FV0kei.js +1 -0
  170. package/dist/assets/{resource-dialog-CWTUaf-O.js → resource-dialog-D7wZSQZM.js} +11 -11
  171. package/dist/assets/ru-CPz1NiGU.js +1 -0
  172. package/dist/assets/sdk-DbJuRsBZ.js +1 -0
  173. package/dist/assets/{selector-Bgtpcya_.js → selector-CbAq7CNk.js} +2 -2
  174. package/dist/assets/session-uB27dTXO.js +1 -0
  175. package/dist/assets/setup-CfBWQVLM.js +19 -0
  176. package/dist/assets/{shorten-label-DtvVN3_a.js → shorten-label-DwdHohLo.js} +1 -1
  177. package/dist/assets/simple-select-DABb5zZb.js +1 -0
  178. package/dist/assets/{slicedToArray-gtBWtJl8.js → slicedToArray-oTB17pto.js} +1 -1
  179. package/dist/assets/{start-C4tmiEBt.js → start-6oXQjfyP.js} +1 -1
  180. package/dist/assets/{step-actions-Bbj9n3cG.js → step-actions-6E9sNomZ.js} +1 -1
  181. package/dist/assets/{studio-GA30qFJk.js → studio-rQhXFpEr.js} +1 -1
  182. package/dist/assets/{switch-control-86ykn9ge.js → switch-control-BEdKOp6L.js} +1 -1
  183. package/dist/assets/th-DN9Th20c.js +1 -0
  184. package/dist/assets/{toUpper--yB2KjPh.js → toUpper-DUJEYm58.js} +1 -1
  185. package/dist/assets/transfer-I7cX7406.js +16 -0
  186. package/dist/assets/{trim-08Op5xjY.js → trim-Dlp2Wnor.js} +1 -1
  187. package/dist/assets/{uniqBy-DFF7Lt_J.js → uniqBy-BSt4eeqO.js} +1 -1
  188. package/dist/assets/{unsubscribe-Dy2MxVJy.js → unsubscribe-HqTE-lAn.js} +1 -1
  189. package/dist/assets/{url-join-fD9yT9x3.js → url-join-D5NytcuV.js} +1 -1
  190. package/dist/assets/use-mobile-CPfu5RWb.js +1 -0
  191. package/dist/assets/use-mobile-kPLzB4n2.js +1 -0
  192. package/dist/assets/{useAsync-Co-ihL9T.js → useAsync-BYLVsyCe.js} +1 -1
  193. package/dist/assets/{useFormControl-Ef5WMbDC.js → useFormControl-Cb-boaYc.js} +1 -1
  194. package/dist/assets/{useLocalStorage-DElqf361.js → useLocalStorage-DwpjAyRq.js} +1 -1
  195. package/dist/assets/{useSetState-CuEGVXqh.js → useSetState-BZm8P2F-.js} +1 -1
  196. package/dist/assets/useSlot-2GhS7jdI.js +1 -0
  197. package/dist/assets/{useSlotProps-CP7QQ02c.js → useSlotProps-Dxo3NBwX.js} +1 -1
  198. package/dist/assets/{useThemeProps-55Y0sL0H.js → useThemeProps-CK1ghsXu.js} +1 -1
  199. package/dist/assets/{user-center-PWXrG48O.js → user-center-De5_2TQv.js} +1 -1
  200. package/dist/assets/{user-sessions-CbhSRGeB.js → user-sessions-BIa10Xhc.js} +1 -1
  201. package/dist/assets/{util-D3UE9Z7D.js → util-CJcl9xCr.js} +1 -1
  202. package/dist/assets/utils-iop7lDec.js +1 -0
  203. package/dist/assets/vi-ChReTICx.js +1 -0
  204. package/dist/assets/{wrap-locale-CuTZ5aof.js → wrap-locale-CZRJioV-.js} +1 -1
  205. package/dist/assets/zh-BTeqEH4T.js +1 -0
  206. package/dist/assets/zh-tw-CJBhIBvB.js +1 -0
  207. package/dist/index.html +1 -1
  208. package/dist/service-worker.js +1 -1
  209. package/package.json +27 -27
  210. package/dist/assets/Autocomplete-xp0cyiCL.js +0 -1
  211. package/dist/assets/DialogContentText-COq3rw-i.js +0 -1
  212. package/dist/assets/FormControl-BsxgOlTX.js +0 -1
  213. package/dist/assets/FormControlLabel-Dgpj-XRb.js +0 -1
  214. package/dist/assets/FormGroup-b58twP-q.js +0 -1
  215. package/dist/assets/InputAdornment-BiYr4cW6.js +0 -1
  216. package/dist/assets/Link-fX4KUiej.js +0 -1
  217. package/dist/assets/Select-B3cdfIzb.js +0 -2
  218. package/dist/assets/TextField-BWghiml0.js +0 -1
  219. package/dist/assets/ViewColumn-Bz1lupxM.js +0 -1
  220. package/dist/assets/_createAggregator-aO50YhXH.js +0 -1
  221. package/dist/assets/access-control-DplRO33H.js +0 -13
  222. package/dist/assets/add-resource-Pr1QILYG.js +0 -1
  223. package/dist/assets/api-BKvFaP38.js +0 -1
  224. package/dist/assets/ar-C077vlSK.js +0 -1
  225. package/dist/assets/audit-logs-BRW30t3L.js +0 -58
  226. package/dist/assets/branding-CJWvfGxB.js +0 -37
  227. package/dist/assets/confirm-DGKnhqaC.js +0 -7
  228. package/dist/assets/de-3qFVPzmX.js +0 -1
  229. package/dist/assets/domain-BjG22k3m.js +0 -9
  230. package/dist/assets/domain-list-IwhSKnxn.js +0 -15
  231. package/dist/assets/emotion-cache.browser.esm-CuIm0Hab.js +0 -1
  232. package/dist/assets/es-DmfpsaZ4.js +0 -1
  233. package/dist/assets/exchange-passport-Bj5rusMj.js +0 -1
  234. package/dist/assets/fr-BdiBXaSB.js +0 -1
  235. package/dist/assets/hi-BkZt_7Gb.js +0 -1
  236. package/dist/assets/id-Cg1I2efN.js +0 -1
  237. package/dist/assets/index-Bw4jUIg2.js +0 -4
  238. package/dist/assets/index-C2TlC4O6.js +0 -1
  239. package/dist/assets/index-D7VlJHOF.js +0 -1
  240. package/dist/assets/index-DOuTbUzq.js +0 -1
  241. package/dist/assets/invite-CagtO6bL.js +0 -5
  242. package/dist/assets/ja-DgVJN0fA.js +0 -1
  243. package/dist/assets/ko-CXw5-Tyj.js +0 -1
  244. package/dist/assets/localization-BSqs41PK.js +0 -1
  245. package/dist/assets/login-wunPRpnb.js +0 -1
  246. package/dist/assets/logo-uploader-DESUa9bt.js +0 -133
  247. package/dist/assets/notifications-0BDelSaD.js +0 -65
  248. package/dist/assets/overview-NyLZyTzQ.js +0 -12
  249. package/dist/assets/pt-C5FGXBS-.js +0 -1
  250. package/dist/assets/publish-resource-7Yi_94S6.js +0 -1
  251. package/dist/assets/redux-CluOqhW1.js +0 -1
  252. package/dist/assets/refType-BNRJ1Xey.js +0 -1
  253. package/dist/assets/ru-Dk6dsYPJ.js +0 -1
  254. package/dist/assets/sdk-DNBFu3Vd.js +0 -1
  255. package/dist/assets/session-SThzCGTr.js +0 -1
  256. package/dist/assets/setup-CWvIujH2.js +0 -19
  257. package/dist/assets/simple-select-DE145g5Z.js +0 -1
  258. package/dist/assets/th-K6XbH1UY.js +0 -1
  259. package/dist/assets/transfer-BqyfwC5R.js +0 -16
  260. package/dist/assets/use-mobile-Bdr2kObC.js +0 -1
  261. package/dist/assets/use-mobile-BjsDuAgv.js +0 -1
  262. package/dist/assets/useSlot-C9LBI1FF.js +0 -1
  263. package/dist/assets/vi-CgCRvPul.js +0 -1
  264. package/dist/assets/zh-EJ-gpgMc.js +0 -1
  265. package/dist/assets/zh-tw-OB9rgk8B.js +0 -1
@@ -1 +1 @@
1
- import{a1 as _e,a2 as ze,j as o,u as T,r as H,bD as Z,l as w,k,ao as je,B as l,A as ye,bE as Q,T as _,bk as De,bF as h,bG as S,bH as Te,bI as Le,a as te,bJ as z,n as ee,D as we,aH as $,v as F,bK as Ue,bL as ke,bM as xe,bN as Fe,bO as Me,I as J,aY as re,bP as Ee,bQ as We,X as ne,bR as fe,aX as Oe,a6 as ie,bS as Ce,bT as Ne,bU as C,bV as He,bW as $e,bX as Ge,bY as Ve,t as qe,s as Qe,J as Xe,bZ as Je,b_ as Ke,b$ as Ye,c0 as Ze,c1 as eo,c2 as oo,c3 as to,m as ro,R as no,w as he,bC as io,H as ao}from"./index-C7otKf8F.js";import{S as so,t as D,f as X,P as lo,a as co,b as po,M as uo,C as me,d as xo,c as fo,e as ho,E as mo,D as go,A as bo,g as N,I as vo,L as jo,h as yo,i as wo,H as ko,F as Co}from"./resource-dialog-CWTUaf-O.js";import{f as So,g as Po}from"./index-BWCk5LbW.js";import{T as Se}from"./index-B-5mC5YF.js";import{E as Y}from"./index-Ci5RfQ59.js";import{E as Io}from"./fallback-CVomANXA.js";import{d as Ao,U as Bo}from"./user-sessions-CbhSRGeB.js";import{N as Ro}from"./index-C2ynZPOY.js";import{u as ge}from"./uniqBy-DFF7Lt_J.js";import{S as Pe}from"./index-DOuTbUzq.js";import{i as _o}from"./index-CxwdZ5FQ.js";import{S as Ie}from"./Select-B3cdfIzb.js";import{T as zo}from"./TextField-BWghiml0.js";import{I as Do}from"./InputAdornment-BiYr4cW6.js";import{A as To}from"./Alert-DbN0O0aN.js";import{S as Lo}from"./Stack-BO9M0PIW.js";import{u as Uo}from"./use-mobile-Bdr2kObC.js";import"./index-C03QRPVb.js";import"./index-BkwS3xmJ.js";import"./Menu-CasLu-ky.js";import"./Toolbar-DYiylaGG.js";import"./Hidden-ipoc6BxF.js";import"./ExpandMore-BO8jF1bn.js";import"./Avatar-BbstlMJY.js";import"./useSlot-C9LBI1FF.js";import"./index-CMGrAADS.js";import"./OpenInNew-YMhtYwHE.js";import"./Link-fX4KUiej.js";import"./Skeleton-D0-q_hvU.js";import"./HelpOutline-BoXfs1w7.js";import"./index-DEcPGLHC.js";import"./ButtonGroup-YqMGRNaj.js";import"./DialogContentText-COq3rw-i.js";import"./MoreVert-C9UJnjfF.js";import"./FormControlLabel-Dgpj-XRb.js";import"./useFormControl-Ef5WMbDC.js";import"./ListItemButton-YchFGwTe.js";import"./selector-Bgtpcya_.js";import"./emotion-cache.browser.esm-CuIm0Hab.js";import"./purify.es-DutPtr9A.js";import"./FormControl-BsxgOlTX.js";import"./useThemeProps-55Y0sL0H.js";import"./toPropertyKey-PLuKRk1e.js";import"./ViewColumn-Bz1lupxM.js";import"./FormGroup-b58twP-q.js";import"./Grid-tsC4khHx.js";import"./Delete-DOl4nPF3.js";import"./LastPage--sm4pHpX.js";import"./redux-CluOqhW1.js";import"./Search-CKwfa740.js";var ae={},Fo=ze;Object.defineProperty(ae,"__esModule",{value:!0});var Ae=ae.default=void 0,Mo=Fo(_e()),Eo=o;Ae=ae.default=(0,Mo.default)((0,Eo.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"RefreshOutlined");function be({user:e,isMyself:u=!0,showFullDid:c=!0,switchPassport:f,switchProfile:a,openSettings:d,...x}){var g;const{locale:n}=T(),{session:s}=H.useContext(Z),[r,p]=H.useState(!1),m=w((v,j={})=>z(D,v,n,"en",j)),P=k(()=>{var v;return(v=(e==null?void 0:e.passports)||[])==null?void 0:v.find(j=>j.name===e.role)},[e==null?void 0:e.passports,e==null?void 0:e.role]),i=je(),b=i.breakpoints.down("md");if(!e)return null;const t=async()=>{try{p(!0),await s.refreshProfile(),s.refresh(),F.success(z(D,"refreshProfile.successfully",n))}catch(v){console.error(v),F.error(X(v))}finally{p(!1)}};return o.jsxs(l,{...x,sx:{position:"relative",...x.sx},children:[o.jsx(ye,{src:e==null?void 0:e.avatar,did:e==null?void 0:e.did,size:b?64:80,variant:"circle",shape:"circle",sx:{borderRadius:"100%",backgroundColor:"#fff",position:"relative",overflow:"hidden",mb:1.5,...u?{cursor:"pointer","&::after":{content:`"${m("switchProfile")}"`,color:"white",position:"absolute",fontSize:"12px",bottom:0,left:0,right:0,height:"50%",backgroundColor:"rgba(0, 0, 0, 0.3)",display:"flex",justifyContent:"center",alignItems:"center"}}:{}},onClick:u?a:Q}),o.jsxs(_,{variant:"h6",sx:{fontWeight:"bold",display:"flex",alignItems:"center",gap:1,fontSize:"24px !important"},children:[e==null?void 0:e.fullName,u?o.jsxs(o.Fragment,{children:[o.jsx(De,{label:(P==null?void 0:P.title)||(e==null?void 0:e.role)||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:h.textBase,borderColor:h.strokeBorderStrong,backgroundColor:"transparent",textTransform:"capitalize",pr:1,pl:.5,"&:hover":{backgroundColor:"rgba(0, 0, 0, 0.04)"},"&:active":{boxShadow:"none"}},clickable:!0,deleteIcon:o.jsx(S,{icon:Te,color:h.textBase}),onDelete:f,onClick:f}),!Le(e.url)&&o.jsx(te,{title:!r&&z(D,"refreshProfile.title",n),sx:{display:"flex",alignItems:"center"},children:r?o.jsx(ee,{size:"16px",sx:{color:(g=i==null?void 0:i.colors)==null?void 0:g.primary,ml:.5}}):o.jsx(Ae,{onClick:t})})]}):null]}),o.jsx(we,{did:e.did,showQrcode:!0,copyable:!0,compact:!c,responsive:!c,locale:n}),u?o.jsx($,{sx:{borderRadius:2,color:h.textBase,backgroundColor:"white",border:`1px solid ${h.strokeBorderBase}`,position:"absolute",top:0,right:0},disableFocusRipple:!0,onClick:d,children:o.jsx(S,{icon:so})}):null]})}function Wo({data:e,verified:u,...c}){return o.jsxs(l,{...c,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",...c.sx},children:[o.jsxs(_,{sx:{display:"flex",alignItems:"center",color:h.textBase,fontSize:"14px",gap:1,fontWeight:500},children:[e.icon,e.title]}),o.jsxs(l,{display:"flex",flexDirection:"row",alignItems:"center",children:[o.jsx(_,{sx:{color:h.textSubtitle,whiteSpace:"pre-wrap",fontSize:"14px"},children:e.content}),u&&o.jsx(Ao,{color:"success",style:{fontSize:16,marginLeft:4}})]})]})}function Oo({user:e,isMySelf:u=!1,...c}){const{locale:f}=T(),a=w((n,s={})=>z(D,n,f,"en",s)),d=k(()=>(e==null?void 0:e.sourceProvider)&&Ue[e.sourceProvider]||a("unknown"),[e==null?void 0:e.sourceProvider]),x=[];return u&&(x.push({icon:o.jsx(S,{fontSize:16,icon:ke}),title:a("email"),content:(e==null?void 0:e.email)||a("emptyField"),verified:e==null?void 0:e.emailVerified}),x.push({icon:o.jsx(S,{fontSize:16,icon:lo}),title:a("phone"),content:(e==null?void 0:e.phone)||a("emptyField"),verified:e==null?void 0:e.phoneVerified}),x.push({icon:o.jsx(S,{fontSize:16,icon:co}),title:a("lastLoginAt"),content:e!=null&&e.lastLoginAt?o.jsx(xe,{locale:f,value:e==null?void 0:e.lastLoginAt,relativeRange:3*86400*1e3}):a("unknown")}),x.push({icon:o.jsx(S,{fontSize:16,icon:po}),title:a("lastLoginIp"),content:(e==null?void 0:e.lastLoginIp)||a("unknown")})),x.push({icon:o.jsx(S,{fontSize:16,icon:uo}),title:a("createdAt"),content:e!=null&&e.createdAt?o.jsx(xe,{locale:f,value:e==null?void 0:e.createdAt}):a("unknown")}),u&&(x.push({icon:o.jsx(S,{fontSize:16,icon:me}),title:a("registerFrom"),content:d}),x.push({icon:o.jsx(S,{fontSize:16,icon:me}),title:a("invitedBy"),content:e!=null&&e.inviter?o.jsx(we,{did:e.inviter,showQrcode:!0,copyable:!0,compact:!0,responsive:!0,locale:f}):"-"})),o.jsx(l,{...c,sx:{display:"flex",flexDirection:"column",gap:1.5,...c==null?void 0:c.sx},children:x.map(n=>o.jsx(Wo,{data:n,sx:{flex:1},verified:n.verified},n.title))})}function No({passport:e,user:u,color:c,width:f=150,icon:a=null,createPassportSvg:d,children:x,...n}){const{t:s}=T();return o.jsxs(l,{...n,sx:{display:"flex",alignItems:"center",...n==null?void 0:n.sx},children:[!!e.display&&o.jsx(l,{className:"passport-item__display",sx:{width:f},children:o.jsx(Ro,{address:e.id,data:e.display,imageFilter:typeof f=="number"?{imageFilter:"resize",w:f}:null})}),!e.display&&o.jsx(l,{className:"passport-item__display",dangerouslySetInnerHTML:{__html:d({title:e.scope==="kyc"?e.name:e.title,issuer:e.issuer&&e.issuer.name,issuerDid:e.issuer&&e.issuer.id,ownerName:u.fullName,ownerDid:u.did,ownerAvatarUrl:u.avatar,revoked:e.revoked,scope:e.scope,role:e.role,display:e.display,preferredColor:c,width:f})}}),o.jsxs(l,{className:"passport-item__body",sx:{p:0,ml:3,mt:0},children:[o.jsxs(l,{className:"passport-item__title",sx:{display:"flex",alignItems:"center",fontWeight:400,fontSize:"16px",lineHeight:1.1875,color:"#222222"},children:[Fe(e.title),o.jsxs(l,{className:"passport-item__status-icon",sx:{svg:{fill:"#bfbfbf",height:"1.2em",marginLeft:"0.4em"}},children:[a,e.revoked&&o.jsx(xo,{})]})]}),e.expirationDate&&o.jsx(l,{className:"passport-item__title",sx:{display:"flex",alignItems:"center",fontWeight:400,fontSize:"16px",lineHeight:1.1875,color:"#222222"},children:s("team.passport.validUntil",{date:e.expirationDate})}),x]})]})}function Ho({user:e,...u}){var s,r;const{locale:c}=T(),f=w((p,m={})=>z(D,p,c,"en",m)),a=je(),d=k(()=>{const p=((e==null?void 0:e.passports)||[]).map(m=>({...m,revoked:m.status===Me.REVOKED}));return p.sort((m,P)=>m.revoked===P.revoked?0:m.revoked?1:-1),ge(p.filter(m=>!m.display),"role").concat(ge(p.filter(m=>m.display),"display.content"))},[e==null?void 0:e.passports]),x=k(()=>d==null?void 0:d.find(p=>p.name===e.role),[d,e==null?void 0:e.role]),n=k(()=>{var p,m;return((m=(p=a==null?void 0:a.palette)==null?void 0:p.primary)==null?void 0:m.main)||h.textBase},[(r=(s=a==null?void 0:a.palette)==null?void 0:s.primary)==null?void 0:r.main]);return d.length===0?o.jsx(l,{children:o.jsx(Y,{children:f("noPassport")})}):o.jsx(l,{...u,sx:{display:"grid",gridTemplateColumns:{xs:"repeat(2, 1fr)",sm:"repeat(3, 1fr)",md:"repeat(2, 1fr)"},gap:2.5,...u.sx},children:d.map(p=>o.jsx(No,{passport:p,user:e,color:window.blocklet.passportColor,createPassportSvg:fo,title:x&&x.role===p.role?f("currentPassport"):"",sx:{flexDirection:"column",alignItems:"center",gap:1,".passport-item__display":{width:166,height:166,borderRadius:2,px:2,display:"flex",justifyContent:"center",backgroundColor:h.backgroundsBgComponent,boxShadow:x&&x.role===p.role?`0px 2px 4px 0px ${n}, 0px 1px 2px -1px ${n}, 0px 0px 0px 1px ${n} !important`:"unset"},".passport-item__body":{marginLeft:"0 !important"}}},p.id))})}function ve({onTest:e=Q,onDelete:u=Q,onSave:c=Q,onCancel:f=Q,type:a="slack",url:d="",edit:x=!1}){const{locale:n}=T(),s=w((t,g={})=>z(D,t,n,"en",g)),r=J({type:a||"slack",url:d||"",edit:x??!1,error:"",loading:!1}),p=w(()=>r.url?_o(r.url)?(r.error="",!0):(r.error=s("common.invalid"),!1):(r.error=s("common.required"),!1)),m=w(()=>{r.edit=!1,r.url=d||"",r.type=a||"slack",r.error="",r.loading=!1,f()}),P=w(async t=>{r.loading=!0,await e(t),r.loading=!1}),i=w(t=>()=>{p()&&t({type:r.type,url:r.url})}),b=k(()=>r.error?o.jsx(_,{component:"span",color:"error",children:r.error}):r.edit?r.loading?o.jsx(ee,{size:16}):o.jsx($,{size:"small",onClick:i(P),sx:{mr:-1},children:o.jsx(S,{icon:ho})}):null,[r.error,r.edit,r.loading]);return o.jsxs(l,{sx:{display:"flex",gap:1.5,width:"100%",alignItems:{xs:"flex-start",md:"center"},flexDirection:{xs:"column",md:"row"}},children:[o.jsxs(Ie,{sx:{borderRadius:2,"&.Mui-disabled":{backgroundColor:h.backgroundsBgField}},disabled:!r.edit||r.loading,size:"small",value:r.type,onChange:t=>{r.type=t.target.value},children:[o.jsx(re,{value:"api",children:s("webhook.url")}),o.jsx(re,{value:"slack",children:s("webhook.slack")})]}),o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:.5,width:"100%"},children:[o.jsx(zo,{sx:{flex:1,".MuiInputBase-root":{borderRadius:2,"&.Mui-disabled":{backgroundColor:h.backgroundsBgField}}},disabled:!r.edit||r.loading,fullWidth:!0,size:"small",required:!0,value:r.url,onChange:t=>{r.url=t.target.value,p()},error:!!r.error,InputProps:{endAdornment:o.jsx(Do,{position:"end",children:b})}}),o.jsx(l,{sx:{display:"flex",gap:.5},children:r.edit?o.jsxs(o.Fragment,{children:[o.jsx($,{color:"success",onClick:i((...t)=>{c(...t),r.edit=!1}),sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:Ee})}),o.jsx($,{color:"error",onClick:m,sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:We})})]}):o.jsxs(o.Fragment,{children:[o.jsx($,{onClick:()=>{r.edit=!0},sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:mo})}),o.jsx($,{color:"error",onClick:()=>{u({type:r.type,url:r.url})},sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:go})})]})})]})]})}function oe({title:e,description:u,value:c,onChange:f}){return o.jsx(Pe,{checked:c,labelProps:{label:o.jsxs(_,{color:"text.primary",sx:{fontSize:14,display:"flex",flexFlow:"wrap",columnGap:1,flex:1},children:[e,u]})},size:"small",onChange:f})}function $o({user:e}){var i,b;const{locale:u}=T(),c=w((t,g={})=>z(D,t,u,"en",g)),f=J({showAdd:!1}),a=ne(async()=>await N.user.getUserNotificationConfig(),{refreshDeps:[e],loadingDelay:300}),d=k(()=>{var t;return{wallet:!0,email:!0,phone:!1,push:!0,...((t=a==null?void 0:a.data)==null?void 0:t.notifications)||{}}},[(i=a==null?void 0:a.data)==null?void 0:i.notifications]),x=k(()=>{var t;return((t=a==null?void 0:a.data)==null?void 0:t.webhooks)||[]},[(b=a==null?void 0:a.data)==null?void 0:b.webhooks]),n=w(async t=>{try{await N.user.saveUserNotificationConfig(t),F.success(c("saveSuccess")),a.run()}catch(g){F.error(X(g))}}),s=w(async(t,g)=>{await n({notifications:{[t]:g}})}),r=async t=>{try{await N.user.testNotificationWebhook(t),F.success(c("webhookTested"))}catch(g){F.error(X(g))}},p=w(async t=>{await n({webhooks:x.filter((g,v)=>v!==t)})}),m=w(async(t,g)=>{await n({webhooks:x.map((v,j)=>j===t?g:v)})}),P=w(async t=>{await n({webhooks:[...x,t]}),f.showAdd=!1});return a.error?o.jsx(To,{severity:"error",children:a.error.message}):a.loading||!a.data?o.jsx(l,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100px"},children:o.jsx(ee,{})}):o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:2},children:[o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"start",".MuiFormControlLabel-root":{gap:1,m:0,flexDirection:{xs:"row-reverse",md:"row"},width:{xs:"100%",md:"unset"}},".MuiSwitch-track":{borderRadius:"100vw"},".MuiSwitch-thumb":{borderRadius:"100%"},".MuiSwitch-root.MuiSwitch-sizeSmall":{height:"20px",width:"36px",".MuiSwitch-thumb":{width:"16px",height:"16px"}}},children:[o.jsx(oe,{value:d.wallet,title:c("walletNotification"),onChange:t=>s("wallet",t.target.checked),description:fe(e)&&o.jsx(_,{component:"span",color:"text.secondary",fontSize:13,children:fe(e)})}),o.jsx(oe,{value:d.email,onChange:t=>s("email",t.target.checked),title:c("emailNotification"),description:(e==null?void 0:e.email)&&o.jsx(_,{component:"span",color:"text.secondary",fontSize:13,children:e==null?void 0:e.email})}),o.jsx(oe,{value:d.push,title:c("pushNotification"),onChange:t=>s("push",t.target.checked)})]}),o.jsx(Oe,{}),o.jsxs(Lo,{spacing:1.5,useFlexGap:!0,direction:"column",alignItems:"start",children:[x.map((t,g)=>o.jsx(ve,{onTest:r,onDelete:()=>p(g),onSave:(...v)=>m(g,...v),type:t.type,url:t.url,edit:!1},`${g}_${t.url}`)),f.showAdd&&o.jsx(ve,{onTest:r,onCancel:()=>{f.showAdd=!1},onSave:(...t)=>P(...t),edit:!0},"add"),o.jsx(ie,{variant:"outlined",size:"small",sx:{color:h.foregroundsFgBase,borderColor:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutral,"&:hover":{borderColor:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutralHover},py:.5,borderRadius:2},startIcon:o.jsx(S,{icon:bo}),onClick:()=>{f.showAdd=!0},children:c("addWebhook")})]})]})}function Go({configList:e,onSave:u}){const[c,f]=H.useState(e),{locale:a}=T(),d=w((n,s={})=>z(D,n,a,"en",s)),x=w(async(n,s)=>{try{const r=await N.user.saveUserPrivacyConfig({[n]:!s});f(c.map(p=>({...p,value:(r==null?void 0:r[p.key])??p.value}))),F.success(d("saveSuccess")),u("privacy")}catch(r){F.error(X(r))}});return o.jsx(l,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"start",".MuiFormControlLabel-root":{gap:1,m:0,flexDirection:{xs:"row-reverse",md:"row"},width:{xs:"100%",md:"unset"}},".MuiSwitch-track":{borderRadius:"100vw"},".MuiSwitch-thumb":{borderRadius:"100%"},".MuiSwitch-root.MuiSwitch-sizeSmall":{height:"20px",width:"36px",".MuiSwitch-thumb":{width:"16px",height:"16px"}}},children:c.map(n=>o.jsx(Pe,{checked:!n.value,labelProps:{label:o.jsx(_,{color:"text.primary",sx:{fontSize:14,display:"flex",flexFlow:"wrap",columnGap:1,flex:1},children:d("toPublic",{name:n.name})})},size:"small",onChange:s=>x(n.key,s.target.checked)},n.key))})}function Vo({item:e}){var t,g,v,j,A;const{confirmApi:u,confirmHolder:c}=Ce(),f=J({loading:!1}),{locale:a}=T(),d=w((U,M={})=>z(D,U,a,"en",M)),{session:x}=H.useContext(Z),{bindOAuth:n,unbindOAuth:s,setBaseUrl:r,baseUrl:p}=x.useOAuth(),m={[C.AUTH0]:ke,[C.APPLE]:He,[C.GITHUB]:$e,[C.GOOGLE]:Ge},P=k(()=>m[e==null?void 0:e.provider],[e==null?void 0:e.provider]),i=k(()=>Ne[e==null?void 0:e.provider]||"unknown",[e==null?void 0:e.provider]),b=w(async()=>{try{f.loading=!0,await new Promise((U,M)=>{var B;if(e!=null&&e._bind)u.open({title:d("thirdPartyLogin.confirmUnbind",{name:i}),content:d("thirdPartyLogin.confirmUnbindDescription",{name:i}),confirmButtonText:d("common.confirm"),cancelButtonText:d("common.cancel"),onConfirm(R){s({session:x,connectedAccount:{...Ve(e,["did","pk"]),showProvider:e.provider,provider:e._rawProvider}}).then(U).catch(M),R()},onCancel:U});else{const R=p,W=window==null?void 0:window.blocklet;let K="/";const G=qe(W),E=Qe(W);G&&(E!=null&&E.appPid)&&((B=x==null?void 0:x.user)!=null&&B.sourceAppPid)&&(K=E.appUrl),r(K),n({session:x,oauthItem:{...e,provider:e._rawProvider}}).then(U).catch(M).finally(()=>{r(R)})}})}catch(U){console.error(`Failed to ${e!=null&&e._bind?"unbind":"bind"} oauth account`,U)}finally{f.loading=!1}});return o.jsxs(o.Fragment,{children:[o.jsxs(l,{sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`,background:h.backgroundsBgField,display:"flex",alignItems:"center",py:1,px:1.5,gap:.75,fontSize:"14px",lineHeight:1,overflow:"hidden"},children:[o.jsx(l,{component:S,icon:P,width:"1em",height:"1em",sx:{flexShrink:0,fontSize:16}}),o.jsx(l,{sx:{flex:1},children:i}),o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:.5},children:[o.jsx(l,{sx:{flex:1,textOverflow:"ellipsis",overflow:"hidden",lineHeight:"normal"},children:((t=e.userInfo)==null?void 0:t.email)||e.did}),(g=e.userInfo)!=null&&g.email?o.jsx(te,{title:o.jsx(o.Fragment,{children:o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:1},children:[o.jsx(ye,{size:36,variant:"circle",shape:"circle",src:(v=e.userInfo)==null?void 0:v.picture,did:e.did}),o.jsxs(l,{children:[o.jsx(_,{sx:{whiteSpace:"normal",wordBreak:"break-all",fontSize:"0.9rem"},children:(j=e.userInfo)==null?void 0:j.name}),o.jsx(_,{sx:{whiteSpace:"normal",wordBreak:"break-all",fontSize:"0.9rem"},children:(A=e.userInfo)==null?void 0:A.email})]})]})}),children:o.jsx(l,{component:S,icon:vo,color:h.textSubtitle,fontSize:16,sx:{cursor:"pointer",flexShrink:0}})}):null]})]}),o.jsx(te,{title:e._mainProvider?d("thirdPartyLogin.mainProviderCantRemove"):"",children:o.jsx(l,{children:o.jsx(ie,{variant:"outlined",size:"small",sx:{color:e!=null&&e._bind?h.red:h.foregroundsFgBase,borderColor:e!=null&&e._bind?h.red:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutral,"&:hover":{borderColor:e!=null&&e._bind?h.red:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutralHover},py:.5,borderRadius:2,fontWeight:500,whiteSpace:"nowrap"},fullWidth:!0,startIcon:f.loading?null:o.jsx(S,{icon:jo}),onClick:b,disabled:e._mainProvider,loading:f.loading,children:e!=null&&e._bind?d("thirdPartyLogin.disconnect"):d("thirdPartyLogin.connect")})})}),c]})}function qo({user:e}){const{session:u}=H.useContext(Z),[c,f]=H.useState({}),{getOAuthConfigs:a}=u.useOAuth();Xe(async()=>{const n=await a({sourceAppPid:e==null?void 0:e.sourceAppPid});f(n)},[e==null?void 0:e.sourceAppPid]);const d=k(()=>Object.keys(c).map(s=>({...c[s],provider:s})).filter(s=>s.enabled),[c]),x=k(()=>{const n=Je(e);let s=!1,r="",p=Ke(e);const m=n.find(i=>i.provider===C.AUTH0);return m&&(m.id.startsWith("google-oauth2|")&&(n.some(i=>i.provider==="google")||(s=!0,r=C.GOOGLE,p===C.AUTH0&&(p=C.GOOGLE))),m.id.startsWith("appleid|")&&(n.some(i=>i.provider===C.APPLE)||(s=!0,r=C.APPLE,p===C.AUTH0&&(p=C.APPLE))),m.id.startsWith("github|")&&(n.some(i=>i.provider===C.GITHUB)||(s=!0,r=C.GITHUB,p===C.AUTH0&&(p=C.GITHUB)))),d.map(i=>{if(i.provider===C.AUTH0&&s)return null;const b=s&&i.provider===r?n.find(t=>t.provider===C.AUTH0):n.find(t=>t.provider===i.provider);return b?{...i,provider:i.provider,did:b.did,pk:b.pk,userInfo:b.userInfo,_bind:!0,_rawProvider:b.provider,_mainProvider:i.provider===p}:{...i,provider:i.provider,_rawProvider:i.provider,_mainProvider:i.provider===p}}).filter(Boolean).sort((i,b)=>(i==null?void 0:i.order)!==void 0&&(b==null?void 0:b.order)!==void 0?i.order-b.order:(i==null?void 0:i.order)!==void 0?-1:1)},[e==null?void 0:e.connectedAccounts,d]);return o.jsx(l,{sx:{gap:1,display:"grid",gridTemplateColumns:"1fr min-content"},children:x.map(n=>o.jsx(Vo,{item:n},n==null?void 0:n.provider))})}const Qo=[{name:"English",code:"en"},{name:"中文",code:"zh"}];function Xo({user:e,onSave:u}){const{locale:c,changeLocale:f}=T(),a=w((n,s={})=>z(D,n,c,"en",s)),d=J({locale:e.locale,loading:!1}),x=w(async n=>{try{const{value:s}=n.target;d.loading=!0,await N.user.saveProfile({locale:s}),await u("profile"),f(s),d.locale=s}catch(s){F.error(X(s))}finally{d.loading=!1}});return o.jsxs(l,{sx:{gap:1,display:"grid",alignItems:"center",gridTemplateColumns:{xs:"1fr",sm:"max-content 1fr"}},children:[o.jsx(l,{children:a("commonSetting.locale")}),o.jsxs(l,{children:[o.jsx(Ye,{color:"primary",sx:{visibility:d.loading?"visible":"hidden",height:2}}),o.jsx(Ie,{fullWidth:!0,value:d.locale,onChange:x,size:"small",children:(window.blocklet.languages||Qo).map(n=>o.jsx(re,{value:n.code,children:n.name}))})]})]})}function Jo({user:e,settings:u,onSave:c,...f}){var P;const{locale:a}=T(),d=w((i,b={})=>z(D,i,a,"en",b)),x=k(()=>((u==null?void 0:u.userCenterTabs)||[]).map(b=>({key:b.value,name:b.label,value:b.protected})),[u==null?void 0:u.userCenterTabs]),n=(P=window==null?void 0:window.blocklet)==null?void 0:P.componentMountPoints.some(i=>{var b;return((b=i.capabilities)==null?void 0:b.didSpace)==="requiredOnConnect"}),s=k(()=>[{label:d("commonSetting.title"),value:"common",content:o.jsx(Xo,{user:e,onSave:c})},{label:d("notificationManagement"),value:"notification",content:o.jsx($o,{user:e})},{label:d("thirdPartyLogin.title"),value:"thirdPartyLogin",content:o.jsx(qo,{user:e})},{label:d("privacyManagement"),value:"privacy",content:o.jsx(Go,{configList:x,onSave:c})},n&&{label:d("storageManagement"),value:"storage",content:o.jsx(yo,{children:o.jsx(wo,{})})},{label:d("sessionManagement"),value:"session",content:o.jsx(Bo,{user:e})}].filter(Boolean),[e,x]),r=J({tab:s[0].value}),p=k(()=>s.find(i=>i.value===r.tab),[r.tab,s]),m=w(i=>{r.tab=i});return p&&o.jsxs(l,{...f,sx:{...f==null?void 0:f.sx,minWidth:{md:500},maxWidth:"100%"},children:[o.jsx(Se,{variant:"card",tabs:s,current:p.value,onChange:m}),o.jsx(l,{mt:2.5,children:p.content})]})}function Ko({children:e,notLoginContent:u=null,currentTab:c,contentProps:f={},disableAutoRedirect:a=!1,autoPopupSetting:d=!1,hideFooter:x=!1,headerProps:n={},footerProps:s={},userDid:r=void 0,stickySidebar:p=!1}){var se,le,ce,de,pe,ue;const{locale:m}=T(),P=Uo({}),i=w((y,I={})=>z(D,y,m,"en",I)),b=H.useContext(Z),t=b==null?void 0:b.session,g=k(()=>{var L;if(r)return r;const y=window.location.href,I=Ze(y);return I!=null&&I.did?Array.isArray(I.did)?I.did[0]:I.did:(L=t==null?void 0:t.user)==null?void 0:L.did},[(se=t==null?void 0:t.user)==null?void 0:se.did,r]),v=k(()=>{var y;return t!=null&&t.user?g===((y=t==null?void 0:t.user)==null?void 0:y.did):!1},[g,(le=t==null?void 0:t.user)==null?void 0:le.did]),j=ne(async()=>{if(await eo(()=>t==null?void 0:t.initialized),v)return t.user;if(g)return N.user.getUserPublicInfo({did:g})},{refreshDeps:[g,v,t==null?void 0:t.initialized,t==null?void 0:t.user]}),A=ne(async()=>j.data&&c?await N.user.getUserPrivacyConfig({did:g}):null,{refreshDeps:[g,j.data,c],loadingDelay:300}),{confirmHolder:U,confirmApi:M}=Ce({fullScreen:P,sx:{".MuiDialog-paper":{borderRadius:2,maxWidth:1200},".ux-dialog_title":{fontWeight:600},".ux-dialog_closeButton":{p:1},".MuiDialogActions-root":{display:{xs:"none",md:"flex"}}}}),B=k(()=>{const y=oo(window.blocklet);try{return So(y)}catch(I){return console.error("Failed to format blocklet info",I,y),y}},[]),R=k(()=>{var L;const y=((L=B==null?void 0:B.navigation)==null?void 0:L.userCenter)||[];return(Po(y,m)||[]).map(O=>{var q;const V=O._rawLink??O.link;return{value:V,label:O.title,url:O.link,protected:((q=A==null?void 0:A.data)==null?void 0:q[V])??!1}})},[B,j.data,A==null?void 0:A.data,m]),W=k(()=>R.find(y=>y.value===c),[R]),K=w(y=>{const I=R.find(L=>L.value===y);I&&(window.location.href=he(I.url,{did:v?void 0:g}))}),G=k(()=>o.jsx(Jo,{user:j.data,settings:{userCenterTabs:R},onSave:async y=>y==="privacy"?(await A.runAsync(),A.data):(y==="profile"&&await t.refresh(),null)}),[j.data,R,A.data,A.runAsync]),E=w(()=>{M.open({title:i("settings"),content:G,showCancelButton:!1,confirmButtonText:i("done"),onConfirm:M.close})});to(()=>{M.update({content:G})},[G]),ro(()=>{d&&E()});const Be=k(()=>{var y,I,L,O,V;if(j.loading||t.loading)return null;if(j.error){if(((I=(y=j.error)==null?void 0:y.response)==null?void 0:I.status)===404)return o.jsx(l,{sx:{width:"100%"},children:o.jsx(no,{status:404,description:i("noUserFound")})});const Re={message:((O=(L=j.error.response)==null?void 0:L.data)==null?void 0:O.error)||j.error.message||"error occurred"};return o.jsx(l,{sx:{width:"100%"},children:o.jsx(Io,{error:Re})})}return!g&&!j.data?u||o.jsx(l,{sx:{width:"100%"},children:o.jsxs(l,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:1},children:[o.jsx(Y,{children:i("viewAfterLogin")}),o.jsx(ie,{size:"small",variant:"contained",onClick:()=>t.login(),children:i("loginNow")})]})}):o.jsxs(o.Fragment,{children:[o.jsxs(l,{sx:[{flex:{xs:"revert",md:1},overflow:"hidden"}],children:[(V=j==null?void 0:j.data)!=null&&V.fullName?o.jsx(_,{variant:"h4",sx:{py:1.5,fontSize:"18px !important",fontWeight:700,lineHeight:1.5,display:{xs:"none",md:"block"}},children:j.data.fullName}):null,o.jsx(be,{isMyself:v,switchPassport:t.switchPassport,switchProfile:t.switchProfile,openSettings:E,user:j.data,showFullDid:!1,sx:{display:{md:"none",xs:"block"},mb:1.5}}),R.length>0&&c?o.jsxs(l,{sx:{overflow:"auto",padding:"1px"},children:[o.jsx(Se,{variant:"line",tabs:R,current:c,onChange:K,sx:{mb:1.5}}),!A.data||A.loading?o.jsx(l,{sx:{height:"100%",minWidth:"160px",minHeight:"160px",display:"flex",justifyContent:"center",alignItems:"center"},children:o.jsx(ee,{sx:{color:h.primary100}})}):o.jsx(o.Fragment,{children:W!=null&&W.protected&&!v?o.jsx(l,{children:o.jsx(Y,{children:i("underProtected")})}):o.jsx(o.Fragment,{children:e&&o.jsx(l,{...f,children:e})})})]}):null,R.length===0?o.jsx(l,{sx:{display:{xs:v?"none":"block",md:"block"},py:3},children:o.jsx(Y,{children:i("emptyContent")})}):null]}),o.jsx(l,{sx:{display:{xs:"none",md:"block"},width:"1px",my:-3,backgroundColor:h.strokeSep}}),o.jsx(l,{sx:{width:{sx:"100%",md:420},maxWidth:"100%",position:"relative"},children:o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:2.5,position:{xs:"static",md:p?"sticky":"static"},top:q=>p?q.spacing(3):"unset"},children:[o.jsx(be,{isMyself:v,switchPassport:t.switchPassport,switchProfile:t.switchProfile,openSettings:E,user:j.data,sx:{display:{xs:"none",md:"block"}}}),o.jsxs(l,{children:[o.jsx(_,{sx:{fontWeight:600,mb:1.5},children:i(v?"myInfo":"hisInfo")}),o.jsx(Oo,{user:j.data,isMySelf:v})]}),v?o.jsxs(l,{children:[o.jsx(_,{sx:{fontWeight:600,mb:1.5},children:i("passport")}),o.jsx(Ho,{user:j.data})]}):null]})})]})},[j,R,v,W,A,c,p]);if(!a&&!c&&((de=(ce=B==null?void 0:B.navigation)==null?void 0:ce.userCenter)==null?void 0:de.length)>0){const y=(ue=(pe=B==null?void 0:B.navigation)==null?void 0:pe.userCenter[0])==null?void 0:ue.link;return y&&window.location.replace(he(y,{did:v?void 0:g})),null}return o.jsxs(l,{sx:{backgroundColor:h.backgroundsBgSubtitle,minHeight:"100vh",display:"flex",flexDirection:"column"},children:[o.jsx(ko,{bordered:!0,...n}),o.jsxs(l,{flex:1,sx:{width:"100%",maxWidth:1200,margin:"0 auto",p:3,display:"flex",alignItems:"stretch",flexDirection:{xs:"column",md:"row"},gap:2.5},children:[Be,U]}),x?null:o.jsx(Co,{bordered:!0,...s})]})}function Xt(){const u=io().tab,{t:c}=T();return o.jsxs(o.Fragment,{children:[o.jsx(ao,{children:o.jsx("title",{children:c("pageTitle.userCenter")})}),o.jsx(Ko,{disableAutoRedirect:u==="settings",autoPopupSetting:u==="settings"})]})}export{Xt as default};
1
+ import{a2 as _e,a3 as ze,j as o,u as T,r as H,bD as X,l as w,k,ap as je,B as l,A as ye,bE as Q,T as _,bk as De,bF as h,bG as S,bH as Te,bI as Le,a as te,bJ as z,n as ee,D as we,aI as $,v as F,bK as Ue,bL as ke,bM as xe,bN as Fe,bO as Me,J as Y,aZ as re,bP as Ee,bQ as We,Y as ne,bR as fe,aY as Oe,a7 as ie,bS as Ce,bT as Ne,bU as C,bV as He,bW as $e,bX as Ge,bY as Ve,t as qe,s as Qe,K as Ke,bZ as Ye,b_ as Je,b$ as Ze,c0 as Xe,c1 as eo,c2 as oo,c3 as to,m as ro,R as no,w as he,bC as io,H as ao}from"./index-dEKXkm4C.js";import{S as so,t as D,f as K,P as lo,a as co,b as po,M as uo,C as me,d as xo,c as fo,e as ho,E as mo,D as go,A as bo,g as N,I as vo,L as jo,h as yo,i as wo,H as ko,F as Co}from"./resource-dialog-D7wZSQZM.js";import{f as So,g as Po}from"./index-d-mPwPwc.js";import{T as Se}from"./index-YElVd5eM.js";import{E as Z}from"./index-Cyq88B7c.js";import{E as Io}from"./fallback-DNotPO94.js";import{d as Ao,U as Bo}from"./user-sessions-BIa10Xhc.js";import{N as Ro}from"./index-pMGk7BEW.js";import{u as ge}from"./uniqBy-BSt4eeqO.js";import{S as Pe}from"./index-DEG_Pe1F.js";import{i as _o}from"./index-CzXHRu12.js";import{S as Ie}from"./Select-DYnsfpKN.js";import{T as zo}from"./TextField-CO9VOqaC.js";import{I as Do}from"./InputAdornment-gT40mObj.js";import{A as To}from"./Alert-D-e8-MAP.js";import{S as Lo}from"./Stack-Cc1e8uS3.js";import{u as Uo}from"./use-mobile-kPLzB4n2.js";import"./index-CNW7JpLY.js";import"./index-BOpUgQ8H.js";import"./Menu-BeKA5iSq.js";import"./Toolbar-D_Z1ZGgn.js";import"./Hidden-DPr9AEQp.js";import"./ExpandMore-DrecSXMe.js";import"./Avatar-BoZ94vwc.js";import"./useSlot-2GhS7jdI.js";import"./index-DblJTJQz.js";import"./OpenInNew-C7tW6zIz.js";import"./Link-51uCMh9H.js";import"./Skeleton-CVZKKwKZ.js";import"./HelpOutline-epGv8mXi.js";import"./index-DheUDLUu.js";import"./ButtonGroup-CtoWRVeN.js";import"./DialogContentText-B73EoFbn.js";import"./MoreVert-GvhXcnsL.js";import"./FormControlLabel-C10RDNgA.js";import"./useFormControl-Cb-boaYc.js";import"./ListItemButton-DtweULpb.js";import"./selector-CbAq7CNk.js";import"./emotion-cache.browser.esm-FU3nBxaV.js";import"./purify.es-DutPtr9A.js";import"./utils-iop7lDec.js";import"./OutlinedInput-Do_G2JiI.js";import"./FormControl-Ve2KegjN.js";import"./useThemeProps-CK1ghsXu.js";import"./toPropertyKey-PLuKRk1e.js";import"./ViewColumn-DQ20ttLn.js";import"./FormGroup-C2DrHvar.js";import"./Grid-DZk6Z8OE.js";import"./Delete-LBSof570.js";import"./LastPage-DrjUl7Ym.js";import"./Clear-BkApEw3Y.js";import"./Search-BctSuhZ0.js";var ae={},Fo=ze;Object.defineProperty(ae,"__esModule",{value:!0});var Ae=ae.default=void 0,Mo=Fo(_e()),Eo=o;Ae=ae.default=(0,Mo.default)((0,Eo.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"RefreshOutlined");function be({user:e,isMyself:u=!0,showFullDid:c=!0,switchPassport:f,switchProfile:a,openSettings:d,...x}){var g;const{locale:n}=T(),{session:s}=H.useContext(X),[r,p]=H.useState(!1),m=w((v,j={})=>z(D,v,n,"en",j)),P=k(()=>{var v;return(v=(e==null?void 0:e.passports)||[])==null?void 0:v.find(j=>j.name===e.role)},[e==null?void 0:e.passports,e==null?void 0:e.role]),i=je(),b=i.breakpoints.down("md");if(!e)return null;const t=async()=>{try{p(!0),await s.refreshProfile(),s.refresh(),F.success(z(D,"refreshProfile.successfully",n))}catch(v){console.error(v),F.error(K(v))}finally{p(!1)}};return o.jsxs(l,{...x,sx:{position:"relative",...x.sx},children:[o.jsx(ye,{src:e==null?void 0:e.avatar,did:e==null?void 0:e.did,size:b?64:80,variant:"circle",shape:"circle",sx:{borderRadius:"100%",backgroundColor:"#fff",position:"relative",overflow:"hidden",mb:1.5,...u?{cursor:"pointer","&::after":{content:`"${m("switchProfile")}"`,color:"white",position:"absolute",fontSize:"12px",bottom:0,left:0,right:0,height:"50%",backgroundColor:"rgba(0, 0, 0, 0.3)",display:"flex",justifyContent:"center",alignItems:"center"}}:{}},onClick:u?a:Q}),o.jsxs(_,{variant:"h6",sx:{fontWeight:"bold",display:"flex",alignItems:"center",gap:1,fontSize:"24px !important"},children:[e==null?void 0:e.fullName,u?o.jsxs(o.Fragment,{children:[o.jsx(De,{label:(P==null?void 0:P.title)||(e==null?void 0:e.role)||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:h.textBase,borderColor:h.strokeBorderStrong,backgroundColor:"transparent",textTransform:"capitalize",pr:1,pl:.5,"&:hover":{backgroundColor:"rgba(0, 0, 0, 0.04)"},"&:active":{boxShadow:"none"}},clickable:!0,deleteIcon:o.jsx(S,{icon:Te,color:h.textBase}),onDelete:f,onClick:f}),!Le(e.url)&&o.jsx(te,{title:!r&&z(D,"refreshProfile.title",n),sx:{display:"flex",alignItems:"center"},children:r?o.jsx(ee,{size:"16px",sx:{color:(g=i==null?void 0:i.colors)==null?void 0:g.primary,ml:.5}}):o.jsx(Ae,{onClick:t})})]}):null]}),o.jsx(we,{did:e.did,showQrcode:!0,copyable:!0,compact:!c,responsive:!c,locale:n}),u?o.jsx($,{sx:{borderRadius:2,color:h.textBase,backgroundColor:"white",border:`1px solid ${h.strokeBorderBase}`,position:"absolute",top:0,right:0},disableFocusRipple:!0,onClick:d,children:o.jsx(S,{icon:so})}):null]})}function Wo({data:e,verified:u,...c}){return o.jsxs(l,{...c,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",...c.sx},children:[o.jsxs(_,{sx:{display:"flex",alignItems:"center",color:h.textBase,fontSize:"14px",gap:1,fontWeight:500},children:[e.icon,e.title]}),o.jsxs(l,{display:"flex",flexDirection:"row",alignItems:"center",children:[o.jsx(_,{sx:{color:h.textSubtitle,whiteSpace:"pre-wrap",fontSize:"14px"},children:e.content}),u&&o.jsx(Ao,{color:"success",style:{fontSize:16,marginLeft:4}})]})]})}function Oo({user:e,isMySelf:u=!1,...c}){const{locale:f}=T(),a=w((n,s={})=>z(D,n,f,"en",s)),d=k(()=>(e==null?void 0:e.sourceProvider)&&Ue[e.sourceProvider]||a("unknown"),[e==null?void 0:e.sourceProvider]),x=[];return u&&(x.push({icon:o.jsx(S,{fontSize:16,icon:ke}),title:a("email"),content:(e==null?void 0:e.email)||a("emptyField"),verified:e==null?void 0:e.emailVerified}),x.push({icon:o.jsx(S,{fontSize:16,icon:lo}),title:a("phone"),content:(e==null?void 0:e.phone)||a("emptyField"),verified:e==null?void 0:e.phoneVerified}),x.push({icon:o.jsx(S,{fontSize:16,icon:co}),title:a("lastLoginAt"),content:e!=null&&e.lastLoginAt?o.jsx(xe,{locale:f,value:e==null?void 0:e.lastLoginAt,relativeRange:3*86400*1e3}):a("unknown")}),x.push({icon:o.jsx(S,{fontSize:16,icon:po}),title:a("lastLoginIp"),content:(e==null?void 0:e.lastLoginIp)||a("unknown")})),x.push({icon:o.jsx(S,{fontSize:16,icon:uo}),title:a("createdAt"),content:e!=null&&e.createdAt?o.jsx(xe,{locale:f,value:e==null?void 0:e.createdAt}):a("unknown")}),u&&(x.push({icon:o.jsx(S,{fontSize:16,icon:me}),title:a("registerFrom"),content:d}),x.push({icon:o.jsx(S,{fontSize:16,icon:me}),title:a("invitedBy"),content:e!=null&&e.inviter?o.jsx(we,{did:e.inviter,showQrcode:!0,copyable:!0,compact:!0,responsive:!0,locale:f}):"-"})),o.jsx(l,{...c,sx:{display:"flex",flexDirection:"column",gap:1.5,...c==null?void 0:c.sx},children:x.map(n=>o.jsx(Wo,{data:n,sx:{flex:1},verified:n.verified},n.title))})}function No({passport:e,user:u,color:c,width:f=150,icon:a=null,createPassportSvg:d,children:x,...n}){const{t:s}=T();return o.jsxs(l,{...n,sx:{display:"flex",alignItems:"center",...n==null?void 0:n.sx},children:[!!e.display&&o.jsx(l,{className:"passport-item__display",sx:{width:f},children:o.jsx(Ro,{address:e.id,data:e.display,imageFilter:typeof f=="number"?{imageFilter:"resize",w:f}:null})}),!e.display&&o.jsx(l,{className:"passport-item__display",dangerouslySetInnerHTML:{__html:d({title:e.scope==="kyc"?e.name:e.title,issuer:e.issuer&&e.issuer.name,issuerDid:e.issuer&&e.issuer.id,ownerName:u.fullName,ownerDid:u.did,ownerAvatarUrl:u.avatar,revoked:e.revoked,scope:e.scope,role:e.role,display:e.display,preferredColor:c,width:f})}}),o.jsxs(l,{className:"passport-item__body",sx:{p:0,ml:3,mt:0},children:[o.jsxs(l,{className:"passport-item__title",sx:{display:"flex",alignItems:"center",fontWeight:400,fontSize:"16px",lineHeight:1.1875,color:"#222222"},children:[Fe(e.title),o.jsxs(l,{className:"passport-item__status-icon",sx:{svg:{fill:"#bfbfbf",height:"1.2em",marginLeft:"0.4em"}},children:[a,e.revoked&&o.jsx(xo,{})]})]}),e.expirationDate&&o.jsx(l,{className:"passport-item__title",sx:{display:"flex",alignItems:"center",fontWeight:400,fontSize:"16px",lineHeight:1.1875,color:"#222222"},children:s("team.passport.validUntil",{date:e.expirationDate})}),x]})]})}function Ho({user:e,...u}){var s,r;const{locale:c}=T(),f=w((p,m={})=>z(D,p,c,"en",m)),a=je(),d=k(()=>{const p=((e==null?void 0:e.passports)||[]).map(m=>({...m,revoked:m.status===Me.REVOKED}));return p.sort((m,P)=>m.revoked===P.revoked?0:m.revoked?1:-1),ge(p.filter(m=>!m.display),"role").concat(ge(p.filter(m=>m.display),"display.content"))},[e==null?void 0:e.passports]),x=k(()=>d==null?void 0:d.find(p=>p.name===e.role),[d,e==null?void 0:e.role]),n=k(()=>{var p,m;return((m=(p=a==null?void 0:a.palette)==null?void 0:p.primary)==null?void 0:m.main)||h.textBase},[(r=(s=a==null?void 0:a.palette)==null?void 0:s.primary)==null?void 0:r.main]);return d.length===0?o.jsx(l,{children:o.jsx(Z,{children:f("noPassport")})}):o.jsx(l,{...u,sx:{display:"grid",gridTemplateColumns:{xs:"repeat(2, 1fr)",sm:"repeat(3, 1fr)",md:"repeat(2, 1fr)"},gap:2.5,...u.sx},children:d.map(p=>o.jsx(No,{passport:p,user:e,color:window.blocklet.passportColor,createPassportSvg:fo,title:x&&x.role===p.role?f("currentPassport"):"",sx:{flexDirection:"column",alignItems:"center",gap:1,".passport-item__display":{width:166,height:166,borderRadius:2,px:2,display:"flex",justifyContent:"center",backgroundColor:h.backgroundsBgComponent,boxShadow:x&&x.role===p.role?`0px 2px 4px 0px ${n}, 0px 1px 2px -1px ${n}, 0px 0px 0px 1px ${n} !important`:"unset"},".passport-item__body":{marginLeft:"0 !important"}}},p.id))})}function ve({onTest:e=Q,onDelete:u=Q,onSave:c=Q,onCancel:f=Q,type:a="slack",url:d="",edit:x=!1}){const{locale:n}=T(),s=w((t,g={})=>z(D,t,n,"en",g)),r=Y({type:a||"slack",url:d||"",edit:x??!1,error:"",loading:!1}),p=w(()=>r.url?_o(r.url)?(r.error="",!0):(r.error=s("common.invalid"),!1):(r.error=s("common.required"),!1)),m=w(()=>{r.edit=!1,r.url=d||"",r.type=a||"slack",r.error="",r.loading=!1,f()}),P=w(async t=>{r.loading=!0,await e(t),r.loading=!1}),i=w(t=>()=>{p()&&t({type:r.type,url:r.url})}),b=k(()=>r.error?o.jsx(_,{component:"span",color:"error",children:r.error}):r.edit?r.loading?o.jsx(ee,{size:16}):o.jsx($,{size:"small",onClick:i(P),sx:{mr:-1},children:o.jsx(S,{icon:ho})}):null,[r.error,r.edit,r.loading]);return o.jsxs(l,{sx:{display:"flex",gap:1.5,width:"100%",alignItems:{xs:"flex-start",md:"center"},flexDirection:{xs:"column",md:"row"}},children:[o.jsxs(Ie,{sx:{borderRadius:2,"&.Mui-disabled":{backgroundColor:h.backgroundsBgField}},disabled:!r.edit||r.loading,size:"small",value:r.type,onChange:t=>{r.type=t.target.value},children:[o.jsx(re,{value:"api",children:s("webhook.url")}),o.jsx(re,{value:"slack",children:s("webhook.slack")})]}),o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:.5,width:"100%"},children:[o.jsx(zo,{sx:{flex:1,".MuiInputBase-root":{borderRadius:2,"&.Mui-disabled":{backgroundColor:h.backgroundsBgField}}},disabled:!r.edit||r.loading,fullWidth:!0,size:"small",required:!0,value:r.url,onChange:t=>{r.url=t.target.value,p()},error:!!r.error,InputProps:{endAdornment:o.jsx(Do,{position:"end",children:b})}}),o.jsx(l,{sx:{display:"flex",gap:.5},children:r.edit?o.jsxs(o.Fragment,{children:[o.jsx($,{color:"success",onClick:i((...t)=>{c(...t),r.edit=!1}),sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:Ee})}),o.jsx($,{color:"error",onClick:m,sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:We})})]}):o.jsxs(o.Fragment,{children:[o.jsx($,{onClick:()=>{r.edit=!0},sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:mo})}),o.jsx($,{color:"error",onClick:()=>{u({type:r.type,url:r.url})},sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`},children:o.jsx(S,{icon:go})})]})})]})]})}function oe({title:e,description:u,value:c,onChange:f}){return o.jsx(Pe,{checked:c,labelProps:{label:o.jsxs(_,{color:"text.primary",sx:{fontSize:14,display:"flex",flexFlow:"wrap",columnGap:1,flex:1},children:[e,u]})},size:"small",onChange:f})}function $o({user:e}){var i,b;const{locale:u}=T(),c=w((t,g={})=>z(D,t,u,"en",g)),f=Y({showAdd:!1}),a=ne(async()=>await N.user.getUserNotificationConfig(),{refreshDeps:[e],loadingDelay:300}),d=k(()=>{var t;return{wallet:!0,email:!0,phone:!1,push:!0,...((t=a==null?void 0:a.data)==null?void 0:t.notifications)||{}}},[(i=a==null?void 0:a.data)==null?void 0:i.notifications]),x=k(()=>{var t;return((t=a==null?void 0:a.data)==null?void 0:t.webhooks)||[]},[(b=a==null?void 0:a.data)==null?void 0:b.webhooks]),n=w(async t=>{try{await N.user.saveUserNotificationConfig(t),F.success(c("saveSuccess")),a.run()}catch(g){F.error(K(g))}}),s=w(async(t,g)=>{await n({notifications:{[t]:g}})}),r=async t=>{try{await N.user.testNotificationWebhook(t),F.success(c("webhookTested"))}catch(g){F.error(K(g))}},p=w(async t=>{await n({webhooks:x.filter((g,v)=>v!==t)})}),m=w(async(t,g)=>{await n({webhooks:x.map((v,j)=>j===t?g:v)})}),P=w(async t=>{await n({webhooks:[...x,t]}),f.showAdd=!1});return a.error?o.jsx(To,{severity:"error",children:a.error.message}):a.loading||!a.data?o.jsx(l,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100px"},children:o.jsx(ee,{})}):o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:2},children:[o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"start",".MuiFormControlLabel-root":{gap:1,m:0,flexDirection:{xs:"row-reverse",md:"row"},width:{xs:"100%",md:"unset"}},".MuiSwitch-track":{borderRadius:"100vw"},".MuiSwitch-thumb":{borderRadius:"100%"},".MuiSwitch-root.MuiSwitch-sizeSmall":{height:"20px",width:"36px",".MuiSwitch-thumb":{width:"16px",height:"16px"}}},children:[o.jsx(oe,{value:d.wallet,title:c("walletNotification"),onChange:t=>s("wallet",t.target.checked),description:fe(e)&&o.jsx(_,{component:"span",color:"text.secondary",fontSize:13,children:fe(e)})}),o.jsx(oe,{value:d.email,onChange:t=>s("email",t.target.checked),title:c("emailNotification"),description:(e==null?void 0:e.email)&&o.jsx(_,{component:"span",color:"text.secondary",fontSize:13,children:e==null?void 0:e.email})}),o.jsx(oe,{value:d.push,title:c("pushNotification"),onChange:t=>s("push",t.target.checked)})]}),o.jsx(Oe,{}),o.jsxs(Lo,{spacing:1.5,useFlexGap:!0,direction:"column",alignItems:"start",children:[x.map((t,g)=>o.jsx(ve,{onTest:r,onDelete:()=>p(g),onSave:(...v)=>m(g,...v),type:t.type,url:t.url,edit:!1},`${g}_${t.url}`)),f.showAdd&&o.jsx(ve,{onTest:r,onCancel:()=>{f.showAdd=!1},onSave:(...t)=>P(...t),edit:!0},"add"),o.jsx(ie,{variant:"outlined",size:"small",sx:{color:h.foregroundsFgBase,borderColor:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutral,"&:hover":{borderColor:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutralHover},py:.5,borderRadius:2},startIcon:o.jsx(S,{icon:bo}),onClick:()=>{f.showAdd=!0},children:c("addWebhook")})]})]})}function Go({configList:e,onSave:u}){const[c,f]=H.useState(e),{locale:a}=T(),d=w((n,s={})=>z(D,n,a,"en",s)),x=w(async(n,s)=>{try{const r=await N.user.saveUserPrivacyConfig({[n]:!s});f(c.map(p=>({...p,value:(r==null?void 0:r[p.key])??p.value}))),F.success(d("saveSuccess")),u("privacy")}catch(r){F.error(K(r))}});return o.jsx(l,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"start",".MuiFormControlLabel-root":{gap:1,m:0,flexDirection:{xs:"row-reverse",md:"row"},width:{xs:"100%",md:"unset"}},".MuiSwitch-track":{borderRadius:"100vw"},".MuiSwitch-thumb":{borderRadius:"100%"},".MuiSwitch-root.MuiSwitch-sizeSmall":{height:"20px",width:"36px",".MuiSwitch-thumb":{width:"16px",height:"16px"}}},children:c.map(n=>o.jsx(Pe,{checked:!n.value,labelProps:{label:o.jsx(_,{color:"text.primary",sx:{fontSize:14,display:"flex",flexFlow:"wrap",columnGap:1,flex:1},children:d("toPublic",{name:n.name})})},size:"small",onChange:s=>x(n.key,s.target.checked)},n.key))})}function Vo({item:e}){var t,g,v,j,A;const{confirmApi:u,confirmHolder:c}=Ce(),f=Y({loading:!1}),{locale:a}=T(),d=w((U,M={})=>z(D,U,a,"en",M)),{session:x}=H.useContext(X),{bindOAuth:n,unbindOAuth:s,setBaseUrl:r,baseUrl:p}=x.useOAuth(),m={[C.AUTH0]:ke,[C.APPLE]:He,[C.GITHUB]:$e,[C.GOOGLE]:Ge},P=k(()=>m[e==null?void 0:e.provider],[e==null?void 0:e.provider]),i=k(()=>Ne[e==null?void 0:e.provider]||"unknown",[e==null?void 0:e.provider]),b=w(async()=>{try{f.loading=!0,await new Promise((U,M)=>{var B;if(e!=null&&e._bind)u.open({title:d("thirdPartyLogin.confirmUnbind",{name:i}),content:d("thirdPartyLogin.confirmUnbindDescription",{name:i}),confirmButtonText:d("common.confirm"),cancelButtonText:d("common.cancel"),onConfirm(R){s({session:x,connectedAccount:{...Ve(e,["did","pk"]),showProvider:e.provider,provider:e._rawProvider}}).then(U).catch(M),R()},onCancel:U});else{const R=p,W=window==null?void 0:window.blocklet;let J="/";const G=qe(W),E=Qe(W);G&&(E!=null&&E.appPid)&&((B=x==null?void 0:x.user)!=null&&B.sourceAppPid)&&(J=E.appUrl),r(J),n({session:x,oauthItem:{...e,provider:e._rawProvider}}).then(U).catch(M).finally(()=>{r(R)})}})}catch(U){console.error(`Failed to ${e!=null&&e._bind?"unbind":"bind"} oauth account`,U)}finally{f.loading=!1}});return o.jsxs(o.Fragment,{children:[o.jsxs(l,{sx:{borderRadius:2,border:`1px solid ${h.strokeBorderBase}`,background:h.backgroundsBgField,display:"flex",alignItems:"center",py:1,px:1.5,gap:.75,fontSize:"14px",lineHeight:1,overflow:"hidden"},children:[o.jsx(l,{component:S,icon:P,width:"1em",height:"1em",sx:{flexShrink:0,fontSize:16}}),o.jsx(l,{sx:{flex:1},children:i}),o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:.5},children:[o.jsx(l,{sx:{flex:1,textOverflow:"ellipsis",overflow:"hidden",lineHeight:"normal"},children:((t=e.userInfo)==null?void 0:t.email)||e.did}),(g=e.userInfo)!=null&&g.email?o.jsx(te,{title:o.jsx(o.Fragment,{children:o.jsxs(l,{sx:{display:"flex",alignItems:"center",gap:1},children:[o.jsx(ye,{size:36,variant:"circle",shape:"circle",src:(v=e.userInfo)==null?void 0:v.picture,did:e.did}),o.jsxs(l,{children:[o.jsx(_,{sx:{whiteSpace:"normal",wordBreak:"break-all",fontSize:"0.9rem"},children:(j=e.userInfo)==null?void 0:j.name}),o.jsx(_,{sx:{whiteSpace:"normal",wordBreak:"break-all",fontSize:"0.9rem"},children:(A=e.userInfo)==null?void 0:A.email})]})]})}),children:o.jsx(l,{component:S,icon:vo,color:h.textSubtitle,fontSize:16,sx:{cursor:"pointer",flexShrink:0}})}):null]})]}),o.jsx(te,{title:e._mainProvider?d("thirdPartyLogin.mainProviderCantRemove"):"",children:o.jsx(l,{children:o.jsx(ie,{variant:"outlined",size:"small",sx:{color:e!=null&&e._bind?h.red:h.foregroundsFgBase,borderColor:e!=null&&e._bind?h.red:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutral,"&:hover":{borderColor:e!=null&&e._bind?h.red:h.strokeBorderBase,backgroundColor:h.buttonsButtonNeutralHover},py:.5,borderRadius:2,fontWeight:500,whiteSpace:"nowrap"},fullWidth:!0,startIcon:f.loading?null:o.jsx(S,{icon:jo}),onClick:b,disabled:e._mainProvider,loading:f.loading,children:e!=null&&e._bind?d("thirdPartyLogin.disconnect"):d("thirdPartyLogin.connect")})})}),c]})}function qo({user:e}){const{session:u}=H.useContext(X),[c,f]=H.useState({}),{getOAuthConfigs:a}=u.useOAuth();Ke(async()=>{const n=await a({sourceAppPid:e==null?void 0:e.sourceAppPid});f(n)},[e==null?void 0:e.sourceAppPid]);const d=k(()=>Object.keys(c).map(s=>({...c[s],provider:s})).filter(s=>s.enabled),[c]),x=k(()=>{const n=Ye(e);let s=!1,r="",p=Je(e);const m=n.find(i=>i.provider===C.AUTH0);return m&&(m.id.startsWith("google-oauth2|")&&(n.some(i=>i.provider==="google")||(s=!0,r=C.GOOGLE,p===C.AUTH0&&(p=C.GOOGLE))),m.id.startsWith("appleid|")&&(n.some(i=>i.provider===C.APPLE)||(s=!0,r=C.APPLE,p===C.AUTH0&&(p=C.APPLE))),m.id.startsWith("github|")&&(n.some(i=>i.provider===C.GITHUB)||(s=!0,r=C.GITHUB,p===C.AUTH0&&(p=C.GITHUB)))),d.map(i=>{if(i.provider===C.AUTH0&&s)return null;const b=s&&i.provider===r?n.find(t=>t.provider===C.AUTH0):n.find(t=>t.provider===i.provider);return b?{...i,provider:i.provider,did:b.did,pk:b.pk,userInfo:b.userInfo,_bind:!0,_rawProvider:b.provider,_mainProvider:i.provider===p}:{...i,provider:i.provider,_rawProvider:i.provider,_mainProvider:i.provider===p}}).filter(Boolean).sort((i,b)=>(i==null?void 0:i.order)!==void 0&&(b==null?void 0:b.order)!==void 0?i.order-b.order:(i==null?void 0:i.order)!==void 0?-1:1)},[e==null?void 0:e.connectedAccounts,d]);return o.jsx(l,{sx:{gap:1,display:"grid",gridTemplateColumns:"1fr min-content"},children:x.map(n=>o.jsx(Vo,{item:n},n==null?void 0:n.provider))})}const Qo=[{name:"English",code:"en"},{name:"中文",code:"zh"}];function Ko({user:e,onSave:u}){const{locale:c,changeLocale:f}=T(),a=w((n,s={})=>z(D,n,c,"en",s)),d=Y({locale:e.locale,loading:!1}),x=w(async n=>{try{const{value:s}=n.target;d.loading=!0,await N.user.saveProfile({locale:s}),await u("profile"),f(s),d.locale=s}catch(s){F.error(K(s))}finally{d.loading=!1}});return o.jsxs(l,{sx:{gap:1,display:"grid",alignItems:"center",gridTemplateColumns:{xs:"1fr",sm:"max-content 1fr"}},children:[o.jsx(l,{children:a("commonSetting.locale")}),o.jsxs(l,{children:[o.jsx(Ze,{color:"primary",sx:{visibility:d.loading?"visible":"hidden",height:2}}),o.jsx(Ie,{fullWidth:!0,value:d.locale,onChange:x,size:"small",children:(window.blocklet.languages||Qo).map(n=>o.jsx(re,{value:n.code,children:n.name}))})]})]})}function Yo({user:e,settings:u,onSave:c,...f}){var P;const{locale:a}=T(),d=w((i,b={})=>z(D,i,a,"en",b)),x=k(()=>((u==null?void 0:u.userCenterTabs)||[]).map(b=>({key:b.value,name:b.label,value:b.protected})),[u==null?void 0:u.userCenterTabs]),n=(P=window==null?void 0:window.blocklet)==null?void 0:P.componentMountPoints.some(i=>{var b;return((b=i.capabilities)==null?void 0:b.didSpace)==="requiredOnConnect"}),s=k(()=>[{label:d("commonSetting.title"),value:"common",content:o.jsx(Ko,{user:e,onSave:c})},{label:d("notificationManagement"),value:"notification",content:o.jsx($o,{user:e})},{label:d("thirdPartyLogin.title"),value:"thirdPartyLogin",content:o.jsx(qo,{user:e})},{label:d("privacyManagement"),value:"privacy",content:o.jsx(Go,{configList:x,onSave:c})},n&&{label:d("storageManagement"),value:"storage",content:o.jsx(yo,{children:o.jsx(wo,{})})},{label:d("sessionManagement"),value:"session",content:o.jsx(Bo,{user:e})}].filter(Boolean),[e,x]),r=Y({tab:s[0].value}),p=k(()=>s.find(i=>i.value===r.tab),[r.tab,s]),m=w(i=>{r.tab=i});return p&&o.jsxs(l,{...f,sx:{...f==null?void 0:f.sx,minWidth:{md:500},maxWidth:"100%"},children:[o.jsx(Se,{variant:"card",tabs:s,current:p.value,onChange:m}),o.jsx(l,{mt:2.5,children:p.content})]})}function Jo({children:e,notLoginContent:u=null,currentTab:c,contentProps:f={},disableAutoRedirect:a=!1,autoPopupSetting:d=!1,hideFooter:x=!1,headerProps:n={},footerProps:s={},userDid:r=void 0,stickySidebar:p=!1}){var se,le,ce,de,pe,ue;const{locale:m}=T(),P=Uo({}),i=w((y,I={})=>z(D,y,m,"en",I)),b=H.useContext(X),t=b==null?void 0:b.session,g=k(()=>{var L;if(r)return r;const y=window.location.href,I=Xe(y);return I!=null&&I.did?Array.isArray(I.did)?I.did[0]:I.did:(L=t==null?void 0:t.user)==null?void 0:L.did},[(se=t==null?void 0:t.user)==null?void 0:se.did,r]),v=k(()=>{var y;return t!=null&&t.user?g===((y=t==null?void 0:t.user)==null?void 0:y.did):!1},[g,(le=t==null?void 0:t.user)==null?void 0:le.did]),j=ne(async()=>{if(await eo(()=>t==null?void 0:t.initialized),v)return t.user;if(g)return N.user.getUserPublicInfo({did:g})},{refreshDeps:[g,v,t==null?void 0:t.initialized,t==null?void 0:t.user]}),A=ne(async()=>j.data&&c?await N.user.getUserPrivacyConfig({did:g}):null,{refreshDeps:[g,j.data,c],loadingDelay:300}),{confirmHolder:U,confirmApi:M}=Ce({fullScreen:P,sx:{".MuiDialog-paper":{borderRadius:2,maxWidth:1200},".ux-dialog_title":{fontWeight:600},".ux-dialog_closeButton":{p:1},".MuiDialogActions-root":{display:{xs:"none",md:"flex"}}}}),B=k(()=>{const y=oo(window.blocklet);try{return So(y)}catch(I){return console.error("Failed to format blocklet info",I,y),y}},[]),R=k(()=>{var L;const y=((L=B==null?void 0:B.navigation)==null?void 0:L.userCenter)||[];return(Po(y,m)||[]).map(O=>{var q;const V=O._rawLink??O.link;return{value:V,label:O.title,url:O.link,protected:((q=A==null?void 0:A.data)==null?void 0:q[V])??!1}})},[B,j.data,A==null?void 0:A.data,m]),W=k(()=>R.find(y=>y.value===c),[R]),J=w(y=>{const I=R.find(L=>L.value===y);I&&(window.location.href=he(I.url,{did:v?void 0:g}))}),G=k(()=>o.jsx(Yo,{user:j.data,settings:{userCenterTabs:R},onSave:async y=>y==="privacy"?(await A.runAsync(),A.data):(y==="profile"&&await t.refresh(),null)}),[j.data,R,A.data,A.runAsync]),E=w(()=>{M.open({title:i("settings"),content:G,showCancelButton:!1,confirmButtonText:i("done"),onConfirm:M.close})});to(()=>{M.update({content:G})},[G]),ro(()=>{d&&E()});const Be=k(()=>{var y,I,L,O,V;if(j.loading||t.loading)return null;if(j.error){if(((I=(y=j.error)==null?void 0:y.response)==null?void 0:I.status)===404)return o.jsx(l,{sx:{width:"100%"},children:o.jsx(no,{status:404,description:i("noUserFound")})});const Re={message:((O=(L=j.error.response)==null?void 0:L.data)==null?void 0:O.error)||j.error.message||"error occurred"};return o.jsx(l,{sx:{width:"100%"},children:o.jsx(Io,{error:Re})})}return!g&&!j.data?u||o.jsx(l,{sx:{width:"100%"},children:o.jsxs(l,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:1},children:[o.jsx(Z,{children:i("viewAfterLogin")}),o.jsx(ie,{size:"small",variant:"contained",onClick:()=>t.login(),children:i("loginNow")})]})}):o.jsxs(o.Fragment,{children:[o.jsxs(l,{sx:[{flex:{xs:"revert",md:1},overflow:"hidden"}],children:[(V=j==null?void 0:j.data)!=null&&V.fullName?o.jsx(_,{variant:"h4",sx:{py:1.5,fontSize:"18px !important",fontWeight:700,lineHeight:1.5,display:{xs:"none",md:"block"}},children:j.data.fullName}):null,o.jsx(be,{isMyself:v,switchPassport:t.switchPassport,switchProfile:t.switchProfile,openSettings:E,user:j.data,showFullDid:!1,sx:{display:{md:"none",xs:"block"},mb:1.5}}),R.length>0&&c?o.jsxs(l,{sx:{overflow:"auto",padding:"1px"},children:[o.jsx(Se,{variant:"line",tabs:R,current:c,onChange:J,sx:{mb:1.5}}),!A.data||A.loading?o.jsx(l,{sx:{height:"100%",minWidth:"160px",minHeight:"160px",display:"flex",justifyContent:"center",alignItems:"center"},children:o.jsx(ee,{sx:{color:h.primary100}})}):o.jsx(o.Fragment,{children:W!=null&&W.protected&&!v?o.jsx(l,{children:o.jsx(Z,{children:i("underProtected")})}):o.jsx(o.Fragment,{children:e&&o.jsx(l,{...f,children:e})})})]}):null,R.length===0?o.jsx(l,{sx:{display:{xs:v?"none":"block",md:"block"},py:3},children:o.jsx(Z,{children:i("emptyContent")})}):null]}),o.jsx(l,{sx:{display:{xs:"none",md:"block"},width:"1px",my:-3,backgroundColor:h.strokeSep}}),o.jsx(l,{sx:{width:{sx:"100%",md:420},maxWidth:"100%",position:"relative"},children:o.jsxs(l,{sx:{display:"flex",flexDirection:"column",gap:2.5,position:{xs:"static",md:p?"sticky":"static"},top:q=>p?q.spacing(3):"unset"},children:[o.jsx(be,{isMyself:v,switchPassport:t.switchPassport,switchProfile:t.switchProfile,openSettings:E,user:j.data,sx:{display:{xs:"none",md:"block"}}}),o.jsxs(l,{children:[o.jsx(_,{sx:{fontWeight:600,mb:1.5},children:i(v?"myInfo":"hisInfo")}),o.jsx(Oo,{user:j.data,isMySelf:v})]}),v?o.jsxs(l,{children:[o.jsx(_,{sx:{fontWeight:600,mb:1.5},children:i("passport")}),o.jsx(Ho,{user:j.data})]}):null]})})]})},[j,R,v,W,A,c,p]);if(!a&&!c&&((de=(ce=B==null?void 0:B.navigation)==null?void 0:ce.userCenter)==null?void 0:de.length)>0){const y=(ue=(pe=B==null?void 0:B.navigation)==null?void 0:pe.userCenter[0])==null?void 0:ue.link;return y&&window.location.replace(he(y,{did:v?void 0:g})),null}return o.jsxs(l,{sx:{backgroundColor:h.backgroundsBgSubtitle,minHeight:"100vh",display:"flex",flexDirection:"column"},children:[o.jsx(ko,{bordered:!0,...n}),o.jsxs(l,{flex:1,sx:{width:"100%",maxWidth:1200,margin:"0 auto",p:3,display:"flex",alignItems:"stretch",flexDirection:{xs:"column",md:"row"},gap:2.5},children:[Be,U]}),x?null:o.jsx(Co,{bordered:!0,...s})]})}function Jt(){const u=io().tab,{t:c}=T();return o.jsxs(o.Fragment,{children:[o.jsx(ao,{children:o.jsx("title",{children:c("pageTitle.userCenter")})}),o.jsx(Jo,{disableAutoRedirect:u==="settings",autoPopupSetting:u==="settings"})]})}export{Jt as default};
@@ -1 +1 @@
1
- import{a1 as J,a2 as G,j as i,k as D,B as p,A as Y,a as L,T as E,bk as X,bF as O,r as K,bD as Q,g as Z,u as U,bS as ee,l as C,X as te,b as M,bM as N,bJ as oe,eH as ne}from"./index-C7otKf8F.js";import{D as re}from"./index-C03QRPVb.js";import{U as R,g as F}from"./resource-dialog-CWTUaf-O.js";var k={},se=G;Object.defineProperty(k,"__esModule",{value:!0});var ie=k.default=void 0,ae=se(J()),le=i;ie=k.default=(0,ae.default)((0,le.jsx)("path",{d:"m23 12-2.44-2.79.34-3.69-3.61-.82-1.89-3.2L12 2.96 8.6 1.5 6.71 4.69 3.1 5.5l.34 3.7L1 12l2.44 2.79-.34 3.7 3.61.82L8.6 22.5l3.4-1.47 3.4 1.46 1.89-3.19 3.61-.82-.34-3.69zm-12.91 4.72-3.8-3.81 1.48-1.48 2.32 2.33 5.85-5.87 1.48 1.48z"}),"Verified");class ue extends Error{constructor(o){super(),this.name="AbortError",this.message=o}}const z=e=>globalThis.DOMException===void 0?new ue(e):new DOMException(e),_=e=>{const o=e.reason===void 0?z("This operation was aborted."):e.reason;return o instanceof Error?o:z(o)};async function ce(e,o,{concurrency:s=Number.POSITIVE_INFINITY,stopOnError:l=!0,signal:u}={}){return new Promise((w,y)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof o!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(s)||s===Number.POSITIVE_INFINITY)&&s>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${s}\` (${typeof s})`);const I=[],r=[],A=new Map;let x=!1,c=!1,S=!1,v=0,b=0;const j=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),f=m=>{x=!0,c=!0,y(m)};u&&(u.aborted&&f(_(u)),u.addEventListener("abort",()=>{f(_(u))}));const B=async()=>{if(c)return;const m=await j.next(),n=b;if(b++,m.done){if(S=!0,v===0&&!c){if(!l&&r.length>0){f(new AggregateError(r));return}if(c=!0,A.size===0){w(I);return}const t=[];for(const[a,g]of I.entries())A.get(a)!==P&&t.push(g);w(t)}return}v++,(async()=>{try{const t=await m.value;if(c)return;const a=await o(t,n);a===P&&A.set(n,a),I[n]=a,v--,await B()}catch(t){if(l)f(t);else{r.push(t),v--;try{await B()}catch(a){f(a)}}}})()};(async()=>{for(let m=0;m<s;m++){try{await B()}catch(n){f(n);break}if(S||x)break}})()})}const P=Symbol("skip");async function de(e,o){return ce(e,s=>s(),o)}function pe({user:e,sessionUser:o}){const s=D(()=>{var l;return(l=(e==null?void 0:e.passports)||[])==null?void 0:l.find(u=>u.name===o.role)},[e==null?void 0:e.passports,o==null?void 0:o.role]);return i.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(Y,{size:40,variant:"circle",shape:"circle",src:o.avatar,did:o.did,sx:{flexShrink:0}}),i.jsxs(p,{sx:{flex:1,overflow:"hidden"},children:[i.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(L,{title:o.fullName,children:i.jsx(E,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:o.fullName})}),i.jsx(X,{label:(s==null?void 0:s.title)||(s==null?void 0:s.name)||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:O.textBase,borderColor:O.strokeBorderStrong,backgroundColor:"transparent",textTransform:"capitalize",pr:.5,pl:0,height:"auto"}})]}),i.jsx(L,{title:o.email,children:i.jsx(E,{variant:"body2",color:"grey",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:o.email})})]})]})}const fe={zh:{confirm:"确认",cancel:"取消",visitorId:"设备标识",deviceType:"设备类型",platform:"操作系统",walletOS:"钱包类型",role:"角色",fullname:"姓名",email:"邮箱",avatar:"头像",user:"用户",createdAt:"首次活动时间",updatedAt:"最近活动时间",lastLoginIp:"最近活动地址",actions:"操作",logoutAll:"注销所有会话",logoutAllTips:"不会注销当前会话",logout:"注销",currentSession:"当前会话",unknown:"未知",expired:"已过期",remove:"删除",logoutThisSession:"注销指定会话",logoutThisSessionConfirm:"确定要注销此会话吗?",logoutAllSession:"注销所有会话",logoutAllSessionConfirm:"确定要注销所有会话吗?"},en:{confirm:"Confirm",cancel:"Cancel",visitorId:"Device ID",deviceType:"Device Type",platform:"Platform",walletOS:"Wallet OS",role:"Role",fullname:"Fullname",email:"Email",avatar:"Avatar",user:"User",createdAt:"First Active Time",updatedAt:"Last Active Time",actions:"Actions",lastLoginIp:"Last Login IP",logoutAll:"Logout all",logoutAllTips:"Will not logout current session",logout:"Logout",currentSession:"Current Session",unknown:"Unknown",expired:"Expired",remove:"Remove",logoutThisSession:"Logout this session",logoutThisSessionConfirm:"Are you sure to logout this session?",logoutAllSession:"Logout all sessions",logoutAllSessionConfirm:"Are you sure to logout all sessions?"}},q="Reserved IP",W="ip-region-cache";async function me(e){const o=`https://ipapi.co/${e}/json/`,l=await(await fetch(o)).json();let u="";return l.error?l.reserved&&(u=q):u=[l.country_name,l.region,l.city].filter(Boolean).join("/"),u}async function ge(e){const o=`https://api.ip.sb/geoip/${e}`,l=await(await fetch(o)).json();let u="";return l.error?l.reserved&&(u=q):u=[l.country,l.region,l.city].filter(Boolean).join("/"),u}async function xe(e){let o="",s={};try{const l=localStorage.getItem(W);l&&(s=JSON.parse(l))}catch{s={}}if(s[e])o=s[e];else{try{o=await ge(e)}catch{console.warn("Fail to get ip region from ip.sb")}if(!o)try{o=await me(e)}catch{console.warn("Fail to get ip region from ip-api.co")}}if(o){const l=Object.keys(s);l.length>100&&delete s[l[0]],s[e]&&delete s[e],s[e]=o,localStorage.setItem(W,JSON.stringify(s))}return o}async function he(e){return Promise.all(e.map(o=>xe(o)))}const V=e=>new R(e,{browser:[[/(ArcWallet)\/([\w\.]+)/i],[R.BROWSER.NAME,R.BROWSER.VERSION]]}).getResult();function Ie({user:e,showAction:o=!0,showUser:s=!0}){const{session:l}=K.useContext(Q),u=Z(),{locale:w}=U(),{confirmApi:y,confirmHolder:I}=ee(),r=C((n,t={})=>oe(fe,n,w,"en",t)),A=C(async()=>{let n=(e==null?void 0:e.userSessions)||[];try{!n&&l.user&&(n=await F.userSession.getMyLoginSessions());const a=n==null?void 0:n.map((d,T)=>[T,d.lastLoginIp]).filter(d=>!!d[1]),g=a==null?void 0:a.map(d=>d[1]),h=await he(g);for(let d=0;d<h.length;d++){const T=h[d],$=a[d],H=n[$[0]];H.ipRegion=T}}catch(a){console.warn("Failed to convert ip to region"),console.error(a)}const t=new Date().getTime();return ne(n,a=>a.visitorId===u?-1:t-new Date(a.updatedAt).getTime())}),x=te(A),c=D(()=>x.data||[],[x.data]),S=D(()=>c.reduce((n,t)=>(n[t.lastLoginIp]=t.ipRegion,n),{}),[c]),v=C(({visitorId:n})=>{y.open({title:r("logoutThisSession"),content:r("logoutThisSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{await F.user.logout({visitorId:n}),x.refresh(),y.close()}})}),b=D(()=>c.filter(t=>t.visitorId!==u),[c]),j=C(()=>{y.open({title:r("logoutAllSession"),content:r("logoutAllSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{const n=b.map(t=>()=>F.user.logout({visitorId:t.visitorId}));await de(n,{concurrency:3,stopOnError:!1}),x.refresh(),y.close()}})}),f=[];o&&f.push(i.jsx(L,{title:r("logoutAllTips"),children:i.jsx(M,{sx:{ml:.5},size:"small",variant:"contained",color:"error",onClick:j,disabled:b.length===0,children:r("logoutAll")})},"logoutAll"));const B=D(()=>({search:!1,sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!1,searchDebounceTime:600}),[]),m=[{label:r("platform"),name:"platform",options:{customBodyRenderLite:n=>{var g,h;const t=c[n],a=V(t.ua);return i.jsx(p,{children:[(g=a.os)==null?void 0:g.name,(h=a.os)==null?void 0:h.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("deviceType"),name:"deviceType",options:{customBodyRenderLite:n=>{var g,h;const t=c[n],a=V(t.ua);return i.jsx(p,{children:[(g=a.browser)==null?void 0:g.name,(h=a.browser)==null?void 0:h.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("walletOS"),name:"walletOS",options:{customBodyRenderLite:n=>{var a;const t=c[n];return i.jsx(p,{children:((a=t.extra)==null?void 0:a.walletOS)||r("unknown")})}}},s&&{label:r("user"),name:"user",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{sx:{minWidth:150,maxWidth:250},children:i.jsx(pe,{sessionUser:t.user,user:e})})}}},{label:r("createdAt"),name:"createdAt",options:{customBodyRenderLite:n=>{const t=c[n];return t.createdAt?i.jsx(N,{value:t.createdAt,relativeRange:3*86400*1e3,locale:w}):r("unknown")}}},{label:r("updatedAt"),name:"updatedAt",options:{customBodyRenderLite:n=>{const t=c[n];return t.status==="expired"?r("expired"):i.jsx(N,{value:t.updatedAt,relativeRange:3*86400*1e3,locale:w})}}},{label:r("lastLoginIp"),name:"lastLoginIp",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{children:S[t.lastLoginIp]?i.jsxs(i.Fragment,{children:[i.jsx(E,{variant:"body2",children:S[t.lastLoginIp]}),i.jsx(E,{variant:"body2",color:"grey",children:t.lastLoginIp||r("unknown")})]}):i.jsx(E,{children:t.lastLoginIp||r("unknown")})})}}},o&&{label:r("actions"),name:"actions",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{children:i.jsx(M,{sx:{whiteSpace:"nowrap",fontSize:"12px",px:1},disabled:u===t.visitorId,variant:"outlined",size:"small",color:"error",onClick:()=>v({visitorId:t.visitorId}),children:t.status==="expired"?r("remove"):u===t.visitorId?r("currentSession"):r("logout")})})}}}].filter(Boolean);return i.jsxs(p,{sx:{".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"}},children:[I,i.jsx(re,{locale:w,data:c,columns:m,customButtons:f,options:B,loading:x.loading})]})}export{Ie as U,ie as d};
1
+ import{a2 as Y,a3 as G,j as i,k as D,B as p,A as H,a as L,T as E,bk as K,bF as O,r as Q,bD as X,g as Z,u as U,bS as ee,l as C,Y as te,b as M,bM as N,bJ as oe,eI as ne}from"./index-dEKXkm4C.js";import{D as re}from"./index-CNW7JpLY.js";import{U as R,g as F}from"./resource-dialog-D7wZSQZM.js";var k={},se=G;Object.defineProperty(k,"__esModule",{value:!0});var ie=k.default=void 0,ae=se(Y()),le=i;ie=k.default=(0,ae.default)((0,le.jsx)("path",{d:"m23 12-2.44-2.79.34-3.69-3.61-.82-1.89-3.2L12 2.96 8.6 1.5 6.71 4.69 3.1 5.5l.34 3.7L1 12l2.44 2.79-.34 3.7 3.61.82L8.6 22.5l3.4-1.47 3.4 1.46 1.89-3.19 3.61-.82-.34-3.69zm-12.91 4.72-3.8-3.81 1.48-1.48 2.32 2.33 5.85-5.87 1.48 1.48z"}),"Verified");class ue extends Error{constructor(o){super(),this.name="AbortError",this.message=o}}const z=e=>globalThis.DOMException===void 0?new ue(e):new DOMException(e),_=e=>{const o=e.reason===void 0?z("This operation was aborted."):e.reason;return o instanceof Error?o:z(o)};async function ce(e,o,{concurrency:s=Number.POSITIVE_INFINITY,stopOnError:l=!0,signal:u}={}){return new Promise((w,y)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof o!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(s)||s===Number.POSITIVE_INFINITY)&&s>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${s}\` (${typeof s})`);const I=[],r=[],A=new Map;let x=!1,c=!1,S=!1,v=0,b=0;const j=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),f=m=>{x=!0,c=!0,y(m)};u&&(u.aborted&&f(_(u)),u.addEventListener("abort",()=>{f(_(u))}));const B=async()=>{if(c)return;const m=await j.next(),n=b;if(b++,m.done){if(S=!0,v===0&&!c){if(!l&&r.length>0){f(new AggregateError(r));return}if(c=!0,A.size===0){w(I);return}const t=[];for(const[a,g]of I.entries())A.get(a)!==P&&t.push(g);w(t)}return}v++,(async()=>{try{const t=await m.value;if(c)return;const a=await o(t,n);a===P&&A.set(n,a),I[n]=a,v--,await B()}catch(t){if(l)f(t);else{r.push(t),v--;try{await B()}catch(a){f(a)}}}})()};(async()=>{for(let m=0;m<s;m++){try{await B()}catch(n){f(n);break}if(S||x)break}})()})}const P=Symbol("skip");async function de(e,o){return ce(e,s=>s(),o)}function pe({user:e,sessionUser:o}){const s=D(()=>{var l;return(l=(e==null?void 0:e.passports)||[])==null?void 0:l.find(u=>u.name===o.role)},[e==null?void 0:e.passports,o==null?void 0:o.role]);return i.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(H,{size:40,variant:"circle",shape:"circle",src:o.avatar,did:o.did,sx:{flexShrink:0}}),i.jsxs(p,{sx:{flex:1,overflow:"hidden"},children:[i.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(L,{title:o.fullName,children:i.jsx(E,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:o.fullName})}),i.jsx(K,{label:(s==null?void 0:s.title)||(s==null?void 0:s.name)||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:O.textBase,borderColor:O.strokeBorderStrong,backgroundColor:"transparent",textTransform:"capitalize",pr:.5,pl:0,height:"auto"}})]}),i.jsx(L,{title:o.email,children:i.jsx(E,{variant:"body2",color:"grey",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:o.email})})]})]})}const fe={zh:{confirm:"确认",cancel:"取消",visitorId:"设备标识",deviceType:"设备类型",platform:"操作系统",walletOS:"钱包类型",role:"角色",fullname:"姓名",email:"邮箱",avatar:"头像",user:"用户",createdAt:"首次活动时间",updatedAt:"最近活动时间",lastLoginIp:"最近活动地址",actions:"操作",logoutAll:"注销所有会话",logoutAllTips:"不会注销当前会话",logout:"注销",currentSession:"当前会话",unknown:"未知",expired:"已过期",remove:"删除",logoutThisSession:"注销指定会话",logoutThisSessionConfirm:"确定要注销此会话吗?",logoutAllSession:"注销所有会话",logoutAllSessionConfirm:"确定要注销所有会话吗?"},en:{confirm:"Confirm",cancel:"Cancel",visitorId:"Device ID",deviceType:"Device Type",platform:"Platform",walletOS:"Wallet OS",role:"Role",fullname:"Fullname",email:"Email",avatar:"Avatar",user:"User",createdAt:"First Active Time",updatedAt:"Last Active Time",actions:"Actions",lastLoginIp:"Last Login IP",logoutAll:"Logout all",logoutAllTips:"Will not logout current session",logout:"Logout",currentSession:"Current Session",unknown:"Unknown",expired:"Expired",remove:"Remove",logoutThisSession:"Logout this session",logoutThisSessionConfirm:"Are you sure to logout this session?",logoutAllSession:"Logout all sessions",logoutAllSessionConfirm:"Are you sure to logout all sessions?"}},q="Reserved IP",W="ip-region-cache";async function me(e){const o=`https://ipapi.co/${e}/json/`,l=await(await fetch(o)).json();let u="";return l.error?l.reserved&&(u=q):u=[l.country_name,l.region,l.city].filter(Boolean).join("/"),u}async function ge(e){const o=`https://api.ip.sb/geoip/${e}`,l=await(await fetch(o)).json();let u="";return l.error?l.reserved&&(u=q):u=[l.country,l.region,l.city].filter(Boolean).join("/"),u}async function xe(e){let o="",s={};try{const l=localStorage.getItem(W);l&&(s=JSON.parse(l))}catch{s={}}if(s[e])o=s[e];else{try{o=await ge(e)}catch{console.warn("Fail to get ip region from ip.sb")}if(!o)try{o=await me(e)}catch{console.warn("Fail to get ip region from ip-api.co")}}if(o){const l=Object.keys(s);l.length>100&&delete s[l[0]],s[e]&&delete s[e],s[e]=o,localStorage.setItem(W,JSON.stringify(s))}return o}async function he(e){return Promise.all(e.map(o=>xe(o)))}const V=e=>new R(e,{browser:[[/(ArcWallet)\/([\w\.]+)/i],[R.BROWSER.NAME,R.BROWSER.VERSION]]}).getResult();function Ie({user:e,showAction:o=!0,showUser:s=!0}){const{session:l}=Q.useContext(X),u=Z(),{locale:w}=U(),{confirmApi:y,confirmHolder:I}=ee(),r=C((n,t={})=>oe(fe,n,w,"en",t)),A=C(async()=>{let n=(e==null?void 0:e.userSessions)||[];try{!n&&l.user&&(n=await F.userSession.getMyLoginSessions());const a=n==null?void 0:n.map((d,T)=>[T,d.lastLoginIp]).filter(d=>!!d[1]),g=a==null?void 0:a.map(d=>d[1]),h=await he(g);for(let d=0;d<h.length;d++){const T=h[d],$=a[d],J=n[$[0]];J.ipRegion=T}}catch(a){console.warn("Failed to convert ip to region"),console.error(a)}const t=new Date().getTime();return ne(n,a=>a.visitorId===u?-1:t-new Date(a.updatedAt).getTime())}),x=te(A),c=D(()=>x.data||[],[x.data]),S=D(()=>c.reduce((n,t)=>(n[t.lastLoginIp]=t.ipRegion,n),{}),[c]),v=C(({visitorId:n})=>{y.open({title:r("logoutThisSession"),content:r("logoutThisSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{await F.user.logout({visitorId:n}),x.refresh(),y.close()}})}),b=D(()=>c.filter(t=>t.visitorId!==u),[c]),j=C(()=>{y.open({title:r("logoutAllSession"),content:r("logoutAllSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{const n=b.map(t=>()=>F.user.logout({visitorId:t.visitorId}));await de(n,{concurrency:3,stopOnError:!1}),x.refresh(),y.close()}})}),f=[];o&&f.push(i.jsx(L,{title:r("logoutAllTips"),children:i.jsx(M,{sx:{ml:.5},size:"small",variant:"contained",color:"error",onClick:j,disabled:b.length===0,children:r("logoutAll")})},"logoutAll"));const B=D(()=>({search:!1,sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!1,searchDebounceTime:600}),[]),m=[{label:r("platform"),name:"platform",options:{customBodyRenderLite:n=>{var g,h;const t=c[n],a=V(t.ua);return i.jsx(p,{children:[(g=a.os)==null?void 0:g.name,(h=a.os)==null?void 0:h.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("deviceType"),name:"deviceType",options:{customBodyRenderLite:n=>{var g,h;const t=c[n],a=V(t.ua);return i.jsx(p,{children:[(g=a.browser)==null?void 0:g.name,(h=a.browser)==null?void 0:h.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("walletOS"),name:"walletOS",options:{customBodyRenderLite:n=>{var a;const t=c[n];return i.jsx(p,{children:((a=t.extra)==null?void 0:a.walletOS)||r("unknown")})}}},s&&{label:r("user"),name:"user",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{sx:{minWidth:150,maxWidth:250},children:i.jsx(pe,{sessionUser:t.user,user:e})})}}},{label:r("createdAt"),name:"createdAt",options:{customBodyRenderLite:n=>{const t=c[n];return t.createdAt?i.jsx(N,{value:t.createdAt,relativeRange:3*86400*1e3,locale:w}):r("unknown")}}},{label:r("updatedAt"),name:"updatedAt",options:{customBodyRenderLite:n=>{const t=c[n];return t.status==="expired"?r("expired"):i.jsx(N,{value:t.updatedAt,relativeRange:3*86400*1e3,locale:w})}}},{label:r("lastLoginIp"),name:"lastLoginIp",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{children:S[t.lastLoginIp]?i.jsxs(i.Fragment,{children:[i.jsx(E,{variant:"body2",children:S[t.lastLoginIp]}),i.jsx(E,{variant:"body2",color:"grey",children:t.lastLoginIp||r("unknown")})]}):i.jsx(E,{children:t.lastLoginIp||r("unknown")})})}}},o&&{label:r("actions"),name:"actions",options:{customBodyRenderLite:n=>{const t=c[n];return i.jsx(p,{children:i.jsx(M,{sx:{whiteSpace:"nowrap",fontSize:"12px",px:1},disabled:u===t.visitorId,variant:"outlined",size:"small",color:"error",onClick:()=>v({visitorId:t.visitorId}),children:t.status==="expired"?r("remove"):u===t.visitorId?r("currentSession"):r("logout")})})}}}].filter(Boolean);return i.jsxs(p,{sx:{".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"}},children:[I,i.jsx(re,{locale:w,data:c,columns:m,customButtons:f,options:B,loading:x.loading})]})}export{Ie as U,ie as d};
@@ -1 +1 @@
1
- import{a1 as l,a2 as d,j as h,bc as c,fs as P,ft as p,af as x,K as u}from"./index-C7otKf8F.js";var f={},v=d;Object.defineProperty(f,"__esModule",{value:!0});var E=f.default=void 0,R=v(l()),g=h;E=f.default=(0,R.default)((0,g.jsx)("path",{d:"M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2M1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2"}),"ShoppingCart");const s=P;var _=(e,t)=>s(e)===s(t);const y=c(_),T=(e,t)=>{if(e.type===u.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error(`${t("router.validation.redirectUrlRequired")}`);if(!e.redirectCode)return new Error(`redirect ${t("router.validation.redirectCodeRequired")}`)}else if(e.type===u.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},w=(e,t)=>{const r=T(e,t);return r||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},b=({params:e,blocklet:t})=>{if(t){const r=(t.children||[]).find(n=>p.hasStartEngine(n.meta)&&y(n.mountPoint,e.pathPrefix));let i="";return r&&(i=r.mountPoint),t.meta.group!=="gateway"&&e.pathPrefix==="/"&&(i="/"),i}return""},S=({params:e,blocklets:t,blocklet:r,locale:i="en"})=>{if(r&&b({params:e,blocklet:r}))return{zh:`挂载点 ${e.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${e.pathPrefix} already exist, please use another mount point`}[i];const n=t.find(a=>a.meta.did===e.did);if(!n)return"";const o=n.meta.interfaces.find(a=>a.type==="web");return o&&o.prefix!==x.BLOCKLET_DYNAMIC_PATH_PREFIX&&e.pathPrefix!==o.prefix?{zh:`该 blocklet 只能挂载在 ${o.prefix}`,en:`This blocklet can only be mounted on ${o.prefix}`}[i]:""},m=e=>{if(!e||typeof e!="string")return e;let t=e.trim();try{return t=t.toLowerCase(),t.startsWith("http://")||t.startsWith("https://")?new URL(t).hostname:t}catch(r){return console.error("format domain failed",r),t}};export{w as a,E as d,b as e,m as p,S as v};
1
+ import{a2 as l,a3 as d,j as h,bc as c,fs as P,ft as p,ag as x,L as u}from"./index-dEKXkm4C.js";var f={},v=d;Object.defineProperty(f,"__esModule",{value:!0});var E=f.default=void 0,R=v(l()),g=h;E=f.default=(0,R.default)((0,g.jsx)("path",{d:"M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2M1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2"}),"ShoppingCart");const s=P;var _=(e,t)=>s(e)===s(t);const y=c(_),T=(e,t)=>{if(e.type===u.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error(`${t("router.validation.redirectUrlRequired")}`);if(!e.redirectCode)return new Error(`redirect ${t("router.validation.redirectCodeRequired")}`)}else if(e.type===u.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},w=(e,t)=>{const r=T(e,t);return r||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},L=({params:e,blocklet:t})=>{if(t){const r=(t.children||[]).find(n=>p.hasStartEngine(n.meta)&&y(n.mountPoint,e.pathPrefix));let i="";return r&&(i=r.mountPoint),t.meta.group!=="gateway"&&e.pathPrefix==="/"&&(i="/"),i}return""},S=({params:e,blocklets:t,blocklet:r,locale:i="en"})=>{if(r&&L({params:e,blocklet:r}))return{zh:`挂载点 ${e.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${e.pathPrefix} already exist, please use another mount point`}[i];const n=t.find(a=>a.meta.did===e.did);if(!n)return"";const o=n.meta.interfaces.find(a=>a.type==="web");return o&&o.prefix!==x.BLOCKLET_DYNAMIC_PATH_PREFIX&&e.pathPrefix!==o.prefix?{zh:`该 blocklet 只能挂载在 ${o.prefix}`,en:`This blocklet can only be mounted on ${o.prefix}`}[i]:""},m=e=>{if(!e||typeof e!="string")return e;let t=e.trim();try{return t=t.toLowerCase(),t.startsWith("http://")||t.startsWith("https://")?new URL(t).hostname:t}catch(r){return console.error("format domain failed",r),t}};export{w as a,E as d,L as e,m as p,S as v};
@@ -0,0 +1 @@
1
+ function t(r){return r!=null&&!(Array.isArray(r)&&r.length===0)}function e(r,a=!1){return r&&(t(r.value)&&r.value!==""||a&&t(r.defaultValue)&&r.defaultValue!=="")}function n(r){return r.startAdornment}export{n as a,e as i};
@@ -0,0 +1 @@
1
+ const n={auth:{noPermission:{title:"Không có Quyền",description:"Bạn không phải là quản trị viên của blocklet"}},login:{reLogin:"Kết nối lại",description:"Bạn phải kết nối ví DID để truy cập {name}",already:"Bạn đã kết nối với",connectWallet:"Kết nối Ví DID",closeWindow:"Đóng cửa sổ",accessLimit:{title:"Truy cập trang bị hạn chế",description:"Trang này yêu cầu thông qua hộ chiếu sau để truy cập, vui lòng kết nối với ví để thay đổi hoặc đăng ký thông qua tương ứng.",alreadyHavePassport:"Đã có hộ chiếu",connectWithPassport:"Kết nối với hộ chiếu này",buyPassport:"MuaHộChiếu"},switchDid:{title:"Chuyển đổi Ví DID",scan:"Quét mã QR dưới đây để chuyển đổi tài khoản",confirm:"Xác nhận chuyển đổi trong Ví DID của bạn",success:"Đã chuyển đổi thành công"},switchSpecifiedDid:{title:"Chuyển đổi ví DID",scan:"Bạn cần chuyển đổi DID thành {did} để hoàn thành các thao tác sau",confirm:"Xác nhận chuyển đổi trong ví DID của bạn",success:"Chuyển đổi thành công"},connect:{title:"Kết nối Ví DID",scan:"Kết nối Ví DID của bạn để truy cập ứng dụng này",confirm:"Xác nhận trên ví DID của bạn",success:"Bạn đã kết nối thành công"},needManualClose:"Đăng nhập thành công, nếu cửa sổ này không tự động đóng, hãy đóng nó lại.",connectWithPassport:"Kết nối với hộ chiếu này",invalidRedirectUrl:"URL chuyển hướng không hợp lệ",issueKyc:{pageDescription:"Hoàn tất xác minh để bảo vệ tài khoản của bạn và nhận một NFT có thể tái sử dụng, mà có thể tin cậy bởi các trang web khác (xác minh một lần và hiển thị ở mọi nơi).",verifyButton:"Xác minh",sendCodeButton:"Nhận Mã Xác Minh",codeSentMessage:"Chúng tôi vừa gửi mã xác minh đến {email}, mã sẽ có hiệu lực trong 30 phút, vui lòng kiểm tra hộp thư đến hoặc thư rác của bạn.",codeSentSuccess:"Mã xác minh đã gửi thành công",claim:"Chứng chỉ Email Đã Xác minh Được Yêu cầu",scan:"Kết nối Ví DID của bạn để nhận chứng chỉ",confirm:"Xác nhận trên Ví DID của bạn",success:"Chúc mừng! Bạn đã xác minh email thành công và nhận chứng chỉ trong Ví DID của bạn.",backToHome:"Quay về Trang chủ",emailPlaceholder:"Địa chỉ email của bạn",verifyTitle:"Xác minh Địa chỉ Email của bạn",issueTitle:"Yêu cầu xác minh Email NFT",verifyAction:"Xác minh",issueAction:"Đòi lại",issueTarget:"Bạn đang {action} cho DID sau đây, nhấp vào hình đại diện để thêm DID khác"},updateKyc:{button:"Chứng chỉ Hiện tại",title:"Chứng chỉ Email Đã Xác Minh Hiện Tại",scan:"Kết nối Ví DID của bạn để trình bày chứng chỉ",confirm:"Xác nhận trên ví DID của bạn",success:"Chúc mừng! NFT của bạn đã được xác minh và chấp nhận."},invalidOpenerUrl:"URL mở đầu không hợp lệ"},studio:{home:"Studio",preferences:"Trình tạo Sở thích",localization:"Địa phương hóa",branding:"Hình ảnh Thương Hiệu",ratio:"Tỷ lệ",size:"Kích thước",count:"Đếm",tip:"Mẹo",change:"Nhấp vào logo để thay đổi.",order:"Đặt hàng",orderTip:"kéo để thay đổi",orderTipLong:"Kéo để thay đổi, nếu bạn xóa bất kỳ ảnh chụp màn hình nào trên đĩa, vui lòng làm mới trang.",type:"Loại",videoTipLong:"Nhấp vào bìa để chỉnh sửa liên kết video.",video:"Video",videoTooltip:"Kéo để thay đổi thứ tự",videoType:"Các trang web được hỗ trợ",videoDialogTitle:"Thêm Video",videoDialogEditTitle:"Chỉnh sửa/Xóa Video",videoInputLabel:"Nhập liên kết video YouTube hoặc Vimeo",videoDialogNoSrc:"Vui lòng nhập một liên kết video hợp lệ",duplicateVideo:"Video này đã được thêm vào",confirm:"Xác nhận",cancel:"Hủy",preview:"Xem trước",delete:"Xóa",title:"Cung cấp hình ảnh cho {title}",description:"Để biết thêm thông tin, vui lòng tham khảo",documentation:"Tài liệu"},blocklet:{startApplication:"Bắt đầu ứng dụng",startDescription:"Sẵn sàng bắt đầu, {name}",start:"Bắt đầu",starting:"Bắt đầu...",open:"Mở",suspended:"Ứng dụng đã bị tạm ngưng",manageSubscription:"Quản lý Đăng ký",suspendedCausedByExpired:"Ứng dụng này đã bị tạm dừng vì hết hạn thanh toán. Vui lòng gia hạn trước {deadline} để tiếp tục. Việc không gia hạn trong khung thời gian quy định sẽ dẫn đến việc không thể gia hạn hoặc tiếp tục.",suspendedCausedByTerminated:"Ứng dụng đã bị chấm dứt do đăng ký đã bị hủy, đăng ký đã bị hủy trên {canceledAt}, và dữ liệu sẽ được giữ lại cho tới {deadline}; trước khi dữ liệu bị xóa, bạn có thể sao lưu dữ liệu vào DID Spaces.",terminated:"Ứng dụng đã đóng",gotoVisitError:"Không thể truy cập URL Blocklet, vui lòng thử lại sau"},setup:{steps:{connect:"Kết nối",didSpace:"DID Spaces",config:"Cấu hình",domain:"Miền",access:"Kiểm soát truy cập",fuel:"Nhiên liệu",complete:"Hoàn thành",introduction:"Giới thiệu",selectNodeDesc:"Chọn máy chủ Blocklet",launchAppDesc:"Cài đặt Blocklet vào máy chủ",setupAppDesc:"Cài đặt Blocklet",launched:"Hoàn thành"},connect:{title:"Kết nối với Ứng dụng",scan:"Kết nối ví DID của bạn để cung cấp hồ sơ người dùng và các đặc quyền của chủ sở hữu blocklet, sau đó bạn có thể cấu hình và khởi chạy ứng dụng.",confirm:"Xác nhận trên Ví DID của bạn",success:"Bạn đã kết nối thành công"},domain:{addTitle:"Liên kết miền hiện có (Tùy chọn)",title:"Cài đặt miền",subTitle:"Đặt một tên miền tùy chỉnh cho ứng dụng",label:"Vui lòng cung cấp tên miền hợp lệ",tipStart:"Vui lòng đảm bảo",tipEnd:"có điểm tới Máy chủ hiện tại",cannotResolve:"{domain} không thể được giải quyết, vui lòng kiểm tra cấu hình DNS của bạn",checkingResolvable:"Đang kiểm tra trạng thái tên miền...",addingCert:"Đang tạo chứng chỉ...",addingDomain:"Đang thêm tên miền...",recordType:"Loại hồ sơ",recordValue:"Giá trị ghi",skipStart:"Bạn có thể",skip:"Bỏ qua cài đặt tên miền tùy chỉnh",skipEnd:"và sử dụng miền mặc định để truy cập ứng dụng",genCertSuccess:"Chứng chỉ {domain} đã được phát hành thành công",genCertFailed:"Không thể phát hành chứng chỉ cho {domain}: {message}",genCertFailedForNFTDomain:"Thêm miền NFT thành công, nhưng không thể tạo chứng chỉ HTTPS, vui lòng thử lại sau",resolvedAddressError:"{domain} không trỏ đến cùng địa chỉ IP như {curDomain}",invalidDNSReminder:"Tuy nhiên, bạn có thể tiếp tục thêm tên miền, nhưng không có chức năng tạo chứng chỉ tự động.",continueAdd:"Tiếp tục Thêm",buyDIDDomainTitle:"Mua tên miền DID (Tùy chọn)",buyDIDDomainTips:"Sau khi mua một DID Domain, tên miền sẽ tự động được liên kết với ứng dụng."},didSpace:{title:"Cấu hình DID Spaces",subTitle:"Hoàn thành quy trình kết nối sau để lưu trữ dữ liệu ứng dụng trong DID Spaces",tips:"Mẹo",description:"Cấu hình địa chỉ instance DID Spaces và lưu dữ liệu ứng dụng trong DID Spaces sau khi kết nối thành công",label:"Vui lòng chọn dịch vụ DID Spaces",connected:"Bạn đã kết nối thành công với DID Spaces",connect:"Kết nối Ngay",reconnect:"Kết nối lại",addressCannotEmpty:"Địa chỉ không thể để trống",addressNotValid:"{url} không phải là một địa chỉ hợp lệ",authorize:{title:"Kết nối {appName} với DID Spaces",scan:"Sử dụng Ví DID của bạn để quét mã QR bên dưới để cho phép ứng dụng {appName} kết nối với Không gian DID",success:"Kết nối thành công"}},config:{title:"Cấu hình",subTitle:"Các mục cấu hình khác (bạn cũng cần thiết lập các mục sau)"},complete:{title:"Mọi thứ đã sẵn sàng",failedTitle:"Không thể khởi động Blocklet",backToServer:"Quay lại máy chủ Blocklet",notRunning:"Blocklet không khởi động được lần đầu tiên, vui lòng thử lại"},fuel:{title:"Nhiên liệu cần thiết để khởi động",tipStart:"khe cắm",tipEnd:"là bắt buộc để ứng dụng này hoạt động một cách chính xác, các quỹ được lưu trong ví ứng dụng và có thể sử dụng cho mục đích thanh toán phí giao dịch. Bạn có thể rút số dư của mình bất kỳ khi nào bạn không còn chạy ứng dụng nữa.",addressTitle:"Tài khoản Ứng dụng",addressTip:"Nạp ứng dụng bằng Ví DID",need:"Cần",current:"Hiện tại",fuelApp:"Cấp nhiên liệu cho ứng dụng"},title:"Thiết lập",next:"Tiếp theo",previous:"Trước đó",continue:"Tiếp tục",skip:"Bỏ qua",startNow:"Bắt đầu Ngay bây giờ",confirm:"Xác nhận",cancel:"Hủy"},user:{walletNotification:"Thông báo ví DID",emailNotification:"Thông báo qua email",smsNotification:"Thông báo qua SMS",addWebhook:"Thêm Webhook Mới"},pageTitle:{login:"Đăng nhập",dashboard:"Bảng điều khiển Blocklet",userCenter:"Trung tâm người dùng",invite:"Mời",issuePassport:"Cấp hộ chiếu",lostPassport:"Hộ Chiếu Bị Mất"}};export{n as default};
@@ -1 +1 @@
1
- import{aD as _,aE as i,a8 as e,j as r,aF as a}from"./index-C7otKf8F.js";const u={en:_(i),ar:()=>e(()=>import("./ar-B3QGVHSJ.js"),[]).then(t=>_(t.default)),de:()=>e(()=>import("./de-CuczgAA8.js"),[]).then(t=>_(t.default)),es:()=>e(()=>import("./es-D938HYco.js"),[]).then(t=>_(t.default)),fr:()=>e(()=>import("./fr-BUgkJkru.js"),[]).then(t=>_(t.default)),hi:()=>e(()=>import("./hi-CLGvJ0VO.js"),[]).then(t=>_(t.default)),id:()=>e(()=>import("./id-CoJHfLJv.js"),[]).then(t=>_(t.default)),ja:()=>e(()=>import("./ja-BfQ6NQ1Q.js"),[]).then(t=>_(t.default)),ko:()=>e(()=>import("./ko-OirMS2DQ.js"),[]).then(t=>_(t.default)),pt:()=>e(()=>import("./pt-DFNHF52P.js"),[]).then(t=>_(t.default)),ru:()=>e(()=>import("./ru-D1ipkx7j.js"),[]).then(t=>_(t.default)),th:()=>e(()=>import("./th-Bq0BOWuO.js"),[]).then(t=>_(t.default)),vi:()=>e(()=>import("./vi-w34NOSIe.js"),[]).then(t=>_(t.default)),"zh-TW":()=>e(()=>import("./zh-tw-BvZpzT6d.js"),[]).then(t=>_(t.default)),zh:()=>e(()=>import("./zh-C8AwRuvb.js"),[]).then(t=>_(t.default))};function n(t){return function(o){return r.jsx(a,{translations:u,children:r.jsx(t,{...o})})}}export{n as w};
1
+ import{aE as _,aF as i,a9 as e,j as r,aG as a}from"./index-dEKXkm4C.js";const u={en:_(i),ar:()=>e(()=>import("./ar-B3QGVHSJ.js"),[]).then(t=>_(t.default)),de:()=>e(()=>import("./de-CuczgAA8.js"),[]).then(t=>_(t.default)),es:()=>e(()=>import("./es-D938HYco.js"),[]).then(t=>_(t.default)),fr:()=>e(()=>import("./fr-BUgkJkru.js"),[]).then(t=>_(t.default)),hi:()=>e(()=>import("./hi-CLGvJ0VO.js"),[]).then(t=>_(t.default)),id:()=>e(()=>import("./id-CoJHfLJv.js"),[]).then(t=>_(t.default)),ja:()=>e(()=>import("./ja-BfQ6NQ1Q.js"),[]).then(t=>_(t.default)),ko:()=>e(()=>import("./ko-OirMS2DQ.js"),[]).then(t=>_(t.default)),pt:()=>e(()=>import("./pt-DFNHF52P.js"),[]).then(t=>_(t.default)),ru:()=>e(()=>import("./ru-D1ipkx7j.js"),[]).then(t=>_(t.default)),th:()=>e(()=>import("./th-Bq0BOWuO.js"),[]).then(t=>_(t.default)),vi:()=>e(()=>import("./vi-w34NOSIe.js"),[]).then(t=>_(t.default)),"zh-TW":()=>e(()=>import("./zh-tw-BvZpzT6d.js"),[]).then(t=>_(t.default)),zh:()=>e(()=>import("./zh-C8AwRuvb.js"),[]).then(t=>_(t.default))};function n(t){return function(o){return r.jsx(a,{translations:u,children:r.jsx(t,{...o})})}}export{n as w};
@@ -0,0 +1 @@
1
+ const e={auth:{noPermission:{title:"没有权限",description:"你不是 Blocklet 的管理员"}},studio:{home:"Studio",preferences:"偏好设计",localization:"国际化",branding:"品牌",type:"类型",ratio:"比例",size:"大小",count:"数量",tip:"提示",title:"为 {title} 提供图片",description:"更多信息,请参考",documentation:"文档",change:"点击标志更改。",order:"顺序",orderTip:"拖动更改",orderTipLong:"拖动以更改,若你在磁盘上删除了任何截图,请刷新页面。",videoTipLong:"点击封面编辑视频链接。",video:"视频",videoTooltip:"拖动以更改顺序。",videoType:"支持的网站",videoDialogTitle:"添加 Video",videoDialogEditTitle:"编辑/删除 视频",videoInputLabel:"输入 YouTube 或 Vimeo 视频链接",videoDialogNoSrc:"请输入有效的视频链接",duplicateVideo:"已添加此视频",confirm:"确认",cancel:"取消",preview:"预览",delete:"删除"},login:{reLogin:"重新连接",description:"需要连接 DID 钱包才可以访问 {name}",already:"你已经连接",connectWallet:"连接钱包",closeWindow:"关闭窗口",switchDid:{title:"切换账号",scan:"请使用 DID 钱包扫码下面的二维码完成切换",confirm:"在 DID 钱包中确认切换",success:"切换成功"},switchSpecifiedDid:{title:"切换账号",scan:"你需要切换账号至 {did} 才能完成后续的操作",confirm:"在 DID 钱包中确认切换",success:"切换成功"},connect:{title:"连接 DID 钱包",scan:"连接您的 DID 钱包以访问此应用程序",confirm:"在您的 DID 钱包上确认",success:"连接成功"},accessLimit:{title:"页面访问受限",description:"本页面需要持有以下通行证才可访问,请连接钱包更换或者申请对应的通行证。",alreadyHavePassport:"已有通行证",buyPassport:"购买通行证",connectWithPassport:"通过此护照连线"},connectWithPassport:"使用该通行证连接",needManualClose:"登录成功,如果此窗口未自动关闭,请将其关闭。",invalidRedirectUrl:"无效的重定向 URL",invalidOpenerUrl:"无效的 URL",issueKyc:{pageDescription:"完成验证以确保您的帐户安全,并获得可信赖的可重复使用的 NFT,可在其他站点使用(一次验证,随处展示)。",verifyButton:"验证",sendCodeButton:"获取验证码",codeSentMessage:"我们刚刚向 {email} 发送了一个验证码,该验证码将在 30 分钟内有效,请检查您的收件箱或垃圾邮箱文件夹。",codeSentSuccess:"验证码发送成功",claim:"认领邮箱 KYC NFT",scan:"连接您的 DID 钱包以接收 NFT",confirm:"在您的 DID 钱包上确认",success:"恭喜!您已成功验证了您的邮箱并在您的 DID 钱包中认领 NFT。",backToHome:"返回首页",emailPlaceholder:"您的邮箱地址",verifyTitle:"验证您的邮箱地址",issueTitle:"认领邮箱验证 NFT",verifyAction:"验证邮箱",issueAction:"认领 NFT",issueTarget:"您正在为以下 DID {action},请点击头像添加或切换 DID"},updateKyc:{button:"出示 NFT",title:"出示已验证邮箱 NFT",scan:"连接您的 DID 钱包以出示邮箱 NFT",confirm:"在您的 DID 钱包上确认",success:"恭喜!您的邮箱验证 NFT 已被验证并接受。"}},blocklet:{startApplication:"启动应用",startDescription:"准备启动 {name}",start:"启动",starting:"启动中...",open:"打开",suspended:"应用已被停止",suspendedCausedByExpired:"此应用因订阅欠费被停止,在 {deadline} 之前完成续费即可恢复,超期将无法续费和恢复。",suspendedCausedByTerminated:"应用因订阅取消被终止,取消于 {canceledAt},数据将被保留至 {deadline}; 在数据被删除之前,您可以将数据被备份到 DID Spaces.",manageSubscription:"管理订阅",terminated:"应用程序已终止",gotoVisitError:"无法访问 blocklet 地址,请稍后再试"},setup:{steps:{connect:"连接",didSpace:"DID Spaces",config:"配置",domain:"域名",access:"访问控制",fuel:"燃料",complete:"完成",introduction:"简介",selectNodeDesc:"选择节点",launchAppDesc:"安装应用到节点",setupAppDesc:"设置应用",launched:"启动"},domain:{addTitle:"绑定现有域名 (可选)",title:"域名设置",subTitle:"为应用设置自定义域名",tipStart:"请确保",tipEnd:"已经解析到了当前节点",cannotResolve:"{domain} 无法解析,请检查你的 DNS 配置",checkingResolvable:"检测域名状态...",addingCert:"生成证书...",addingDomain:"添加域名...",recordType:"记录类型",recordValue:"记录值",skipStart:"你可以",skip:"跳过自定义域名设置",skipEnd:",使用默认域名访问应用",genCertSuccess:"已成功为 {domain} 签发证书",genCertFailed:"为 {domain} 生成证书失败: {message}",genCertFailedForNFTDomain:"添加 NFT 域名成功,但是生成证书失败, 请稍后重试",resolvedAddressError:"{domain} 没有指向与 {curDomain} 相同的 IP 地址",invalidDNSReminder:"{error}。不过您可以继续添加域名,但无法自动生成证书。",continueAdd:"继续添加",label:"请提供一个有效的域名",buyDIDDomainTitle:"购买一个 DID Domain (可选)",buyDIDDomainTips:"购买 DID 域名后,域名将自动绑定到应用程序。"},didSpace:{title:"配置 DID Spaces",subTitle:"完成以下连接流程,即可将应用数据存储到 DID Spaces 中",tips:"提示",description:"配置 DID Spaces 实例地址,连接成功后即可将应用数据存储到 DID Spaces",label:"请选择 DID Spaces 服务",connected:"你已成功连接至 DID Spaces",connect:"立即连接",reconnect:"重新连接",addressCannotEmpty:"地址不能为空",addressNotValid:"{url} 不是一个合法的地址",authorize:{title:"连接 {appName} 至 DID Spaces",scan:"使用你的 DID Wallet 扫描下面的二维码以允许应用 {appName} 连接至 DID Spaces",success:"连接成功"}},config:{title:"设置",subTitle:"其他配置项(您还需要设置以下项目)"},complete:{title:"一切已就绪",failedTitle:"启动失败",backToServer:"返回 Blocklet Server",notRunning:"应用未能成功启动,请重试"},connect:{title:"连接至应用",scan:"用您的 DID 钱包扫描下面的二维码,提供该应用的所有者权限,然后可以配置和启动应用。",confirm:"在您的 DID 钱包上确认",success:"连接成功"},fuel:{title:"启动所需燃料",tipStart:"此应用程序需要 ",tipEnd:" 才能正常运行,资金会保存在应用程序钱包中,将用于交易所需 Gas 费。您以后不再运行此应用的时候可以随时提取余额。",addressTitle:"应用账户",addressTip:"使用 DID 钱包为应用提供资金",need:"需要",current:"当前",fuelApp:"为应用提供燃料"},title:"设置",next:"下一步",previous:"上一步",continue:"继续配置",skip:"跳过",startNow:"立即启动",confirm:"确定",cancel:"取消"},user:{walletNotification:"钱包通知",emailNotification:"邮箱通知",smsNotification:"短信通知",addWebhook:"新增 Webhook"},pageTitle:{login:"登录",dashboard:"Blocklet 仪表板",userCenter:"用户中心",invite:"邀请",issuePassport:"领发护照",lostPassport:"丢失护照"}};export{e as default};
@@ -0,0 +1 @@
1
+ const e={auth:{noPermission:{title:"無許可權",description:"您不是該區塊鏈應用的管理員"}},login:{reLogin:"重新連接",description:"您必須連接您的DID錢包才能訪問{name}",already:"您已連線為{name}",connectWallet:"連接DID錢包",closeWindow:"關閉視窗",accessLimit:{title:"頁面訪問受限",description:"訪問此頁面需要以下護照,請連接到錢包以更改或申請相應的通行證。",alreadyHavePassport:"已經有護照了",connectWithPassport:"使用此護照連線",buyPassport:"購買護照"},switchDid:{title:"切換DID錢包",scan:"掃描以下 QR 碼以切換帳號",confirm:"確認在您的DID錢包中切換",success:"成功切換"},switchSpecifiedDid:{title:"切換DID錢包",scan:"您需要將DID切換到{did}以完成以下操作",confirm:"確認在您的DID錢包中切換",success:"成功切換"},connect:{title:"連接DID錢包",scan:"連接您的DID錢包以提供護照",confirm:"在您的 DID 錢包上確認",success:"你已成功連線"},needManualClose:"登入成功,如果此視窗未自動關閉,請將其關閉。",connectWithPassport:"使用此護照連線",invalidRedirectUrl:"無效的重新導向網址",issueKyc:{pageDescription:"完成驗證以確保您的帳戶安全,並獲得可信賴的可重複使用的NFT,可在其他站點使用(一次驗證,隨處展示)。",verifyButton:"驗證",sendCodeButton:"取得驗證碼",codeSentMessage:"我們剛剛向 {email} 發送了一個驗證碼,該驗證碼將在30分鐘內有效,請檢查您的收件箱或垃圾郵件文件夾。",codeSentSuccess:"驗證碼發送成功",claim:"認領已驗證的電子郵件證書",scan:"連接您的 DID 錢包以接收證書",confirm:"在您的DID錢包上確認",success:"恭喜!您已成功驗證了您的電子郵件並在您的DID錢包中認領證書。",backToHome:"返回首頁",emailPlaceholder:"您的電子郵件地址",verifyTitle:"驗證您的電子郵件地址",issueTitle:"認領電子郵件驗證NFT",verifyAction:"驗證",issueAction:"認領",issueTarget:"您正在{action}以下DID,請點擊頭像添加另一個DID"},updateKyc:{button:"現證書",title:"目前驗證的電子郵件證書",scan:"連接您的DID錢包以展示證書",confirm:"在您的DID錢包上確認",success:"恭喜!您的NFT已被驗證並接受。"},invalidOpenerUrl:"無效的開啟 URL"},studio:{home:"Studio",preferences:"偏好設定建構器",localization:"本地化",branding:"品牌",ratio:"比例",size:"大小",count:"數量",tip:"提示",change:"點擊標誌更改。",order:"順序",orderTip:"拖曳以更改",orderTipLong:"拖曳以更改,如果您在磁碟中刪除任何螢幕截圖,請重新整理頁面。",type:"類型",videoTipLong:"點擊封面編輯影片連結。",video:"影片",videoTooltip:"拖曳以更改順序。",videoType:"支援的網站",videoDialogTitle:"新增 Video",videoDialogEditTitle:"編輯/刪除 影片",videoInputLabel:"輸入 YouTube 或 Vimeo 影片連結",videoDialogNoSrc:"請輸入有效的影片連結",duplicateVideo:"已新增此影片",confirm:"確認",cancel:"取消",preview:"預覽",delete:"刪除",title:"提供圖片給 {title}",description:"更多資訊,請參考",documentation:"文件"},blocklet:{startApplication:"啟動應用程式",startDescription:"準備好開始, {name}",start:"開始",starting:"開始...",open:"打開",suspended:"應用程式已暫停",manageSubscription:"管理訂閱",suspendedCausedByExpired:"由於付款過期,此申請已暫停。請在 {deadline} 之前續訂以恢復。如果在指定的時間範圍內未續訂,將導致無法續訂或恢復。",suspendedCausedByTerminated:"由於訂閱已取消,應用程式已終止,該訂閱於 {canceledAt} 取消,資料將保留至 {deadline};在資料刪除之前,您可以將資料備份到 DID 空間。",terminated:"應用程式已終止",gotoVisitError:"無法訪問 blocklet url,請稍後再試"},setup:{steps:{connect:"連線",didSpace:"DID 空間",config:"配置",domain:"領域",access:"存取控制",fuel:"燃料",complete:"完成",introduction:"介紹",selectNodeDesc:"選擇Blocklet伺服器",launchAppDesc:"將 Blocklet 安裝到伺服器",setupAppDesc:"設置 Blocklet",launched:"完成"},connect:{title:"連線到應用程式",scan:"連接您的DID錢包以提供用户設定檔和blocklet的擁有者權限,然後您可以配置和啟動應用程式。",confirm:"在您的DID錢包上進行確認",success:"你已成功連線"},domain:{addTitle:"綁定現有網域 (選項)",title:"域名設定",subTitle:"為應用設定自定義域名",label:"請提供一個有效的域名",tipStart:"請務必確保",tipEnd:"指向當前伺服器",cannotResolve:"{domain} 無法解析,請檢查您的DNS配置",checkingResolvable:"檢查網域狀態中...",addingCert:"正在產生證書...",addingDomain:"正在新增網域...",recordType:"記錄類型",recordValue:"記錄值",skipStart:"你可以",skip:"跳過自訂域名設定",skipEnd:"並使用預設域訪問應用程序",genCertSuccess:"{domain}證書發行成功",genCertFailed:"無法為{domain}簽發憑證:{message}",genCertFailedForNFTDomain:"成功添加NFT域名,但無法生成HTTPS憑證,請稍後再試。",resolvedAddressError:"{domain} 不指向與 {curDomain} 相同的 IP 地址",invalidDNSReminder:"然而,您可以繼續新增網域,但自動產生憑證不可用。",continueAdd:"繼續添加",buyDIDDomainTitle:"購買一個 DID Domain (選擇性)",buyDIDDomainTips:"購買 DID 網域名稱後,網域名稱將自動綁定到應用程式。"},didSpace:{title:"配置DID空間",subTitle:"完成以下連接過程,將應用程式資料儲存於DID Spaces中",tips:"小秘訣",description:"在成功連接後,配置DID Spaces實例地址並將應用程式資料存儲在DID Spaces中",label:"請選擇DID Spaces服務",connected:"您已成功連接到DID空間",connect:"立即連接",reconnect:"重新連接",addressCannotEmpty:"地址不能為空",addressNotValid:"{url} 不是一個有效的地址",authorize:{title:"將 {appName} 連接到 DID Spaces",scan:"使用您的DID錢包掃描下方的QR碼,允許應用程式{appName}連接到DID空間",success:"成功連接"}},config:{title:"配置",subTitle:"其他配置項(您還需要設置以下項)"},complete:{title:"一切就緒",failedTitle:"啟動 Blocklet失敗",backToServer:"返回到區塊鏈伺服器",notRunning:"Blocklet在第一次嘗試中無法啟動,請重試"},fuel:{title:"啟動所需燃料",tipStart:"插槽",tipEnd:"本應用程式正確運作所需,資金存放在應用程式的錢包中,可以用於交易費用。當您不再執行應用程式時,可以隨時提取您的餘額。",addressTitle:"應用帳戶",addressTip:"用DID錢包給應用程式加油",need:"需要",current:"目前",fuelApp:"加油應用程式"},title:"設置",next:"下一個",previous:"以前",continue:"繼續",skip:"跳過",startNow:"現在開始",confirm:"確認",cancel:"取消"},user:{walletNotification:"DID錢包通知",emailNotification:"電子郵件通知",smsNotification:"簡訊通知",addWebhook:"新增 Webhook"},pageTitle:{login:"登入",dashboard:"Blocklet 儀表板",userCenter:"用户中心",invite:"邀請",issuePassport:"領發護照",lostPassport:"遺失護照"}};export{e as default};
package/dist/index.html CHANGED
@@ -15,7 +15,7 @@
15
15
  background-color: transparent;
16
16
  }
17
17
  </style>
18
- <script type="module" crossorigin src="/.well-known/service/static/assets/index-C7otKf8F.js"></script>
18
+ <script type="module" crossorigin src="/.well-known/service/static/assets/index-dEKXkm4C.js"></script>
19
19
  <link rel="stylesheet" crossorigin href="/.well-known/service/static/assets/index-B4oT57Ax.css">
20
20
  <link rel="manifest" href="/.well-known/service/static/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/.well-known/service/static/registerSW.js"></script></head>
21
21
 
@@ -1,2 +1,2 @@
1
1
  try{self["workbox:core:7.0.0"]&&_()}catch{}const ae=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},ne=ae;let y=class extends Error{constructor(e,t){const r=ne(e,t);super(r),this.name=e,this.details=t}};const ie=new Set,d={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},N=s=>[d.prefix,s,d.suffix].filter(e=>e&&e.length>0).join("-"),ce=s=>{for(const e of Object.keys(d))s(e)},oe={updateDetails:s=>{ce(e=>{typeof s[e]=="string"&&(d[e]=s[e])})},getGoogleAnalyticsName:s=>s||N(d.googleAnalytics),getPrecacheName:s=>s||N(d.precache),getPrefix:()=>d.prefix,getRuntimeName:s=>s||N(d.runtime),getSuffix:()=>d.suffix};function $(s,e){const t=new URL(s);for(const r of e)t.searchParams.delete(r);return t.href}async function le(s,e,t,r){const a=$(e.url,t);if(e.url===a)return s.match(e,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),n=await s.keys(e,i);for(const c of n){const o=$(c.url,t);if(a===o)return s.match(c,r)}}let he=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};async function ue(){for(const s of ie)await s()}const fe=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function de(s){return new Promise(e=>setTimeout(e,s))}function pe(){self.addEventListener("activate",()=>self.clients.claim())}try{self["workbox:core:7.0.0"]&&_()}catch{}const ge=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},me=ge;let u=class extends Error{constructor(e,t){const r=me(e,t);super(r),this.name=e,this.details=t}};const p={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},M=s=>[p.prefix,s,p.suffix].filter(e=>e&&e.length>0).join("-"),we=s=>{for(const e of Object.keys(p))s(e)},j={updateDetails:s=>{we(e=>{typeof s[e]=="string"&&(p[e]=s[e])})},getGoogleAnalyticsName:s=>s||M(p.googleAnalytics),getPrecacheName:s=>s||M(p.precache),getPrefix:()=>p.prefix,getRuntimeName:s=>s||M(p.runtime),getSuffix:()=>p.suffix};function H(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.0.0"]&&_()}catch{}const ye="__WB_REVISION__";function _e(s){if(!s)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const i=new URL(s,location.href);return{cacheKey:i.href,url:i.href}}const{revision:e,url:t}=s;if(!t)throw new u("add-to-cache-list-unexpected-type",{entry:s});if(!e){const i=new URL(t,location.href);return{cacheKey:i.href,url:i.href}}const r=new URL(t,location.href),a=new URL(t,location.href);return r.searchParams.set(ye,e),{cacheKey:r.href,url:a.href}}class Re{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:r})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;r?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return r}}}class be{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:r})=>{const a=(r==null?void 0:r.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let b;function Ce(){if(b===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),b=!0}catch{b=!1}b=!1}return b}async function xe(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new u("cross-origin-copy-response",{origin:t});const r=s.clone(),i={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},n=Ce()?r.body:await r.blob();return new Response(n,i)}const ke=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function B(s,e){const t=new URL(s);for(const r of e)t.searchParams.delete(r);return t.href}async function Ee(s,e,t,r){const a=B(e.url,t);if(e.url===a)return s.match(e,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),n=await s.keys(e,i);for(const c of n){const o=B(c.url,t);if(a===o)return s.match(c,r)}}class De{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const Ue=new Set;async function Le(){for(const s of Ue)await s()}function Pe(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function D(s){return typeof s=="string"?new Request(s):s}let ve=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new De,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=D(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new u("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=D(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=D(e);await Pe(0);const a=await this.getCacheKey(r,"write");if(!t)throw new u("cache-put-with-no-response",{url:ke(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await Ee(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await Le(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=D(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}},Ne=class{constructor(e={}){this.cacheName=j.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new ve(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new u("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}};class w extends Ne{constructor(e={}){e.cacheName=j.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(w.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const r=await t.cacheMatch(e);return r||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let r;const a=t.params||{};if(this._fallbackToNetwork){const i=a.integrity,n=e.integrity,c=!n||n===i;r=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?n||i:void 0})),i&&c&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,r.clone()))}else throw new u("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const r=await t.fetch(e);if(!await t.cachePut(e,r.clone()))throw new u("bad-precaching-response",{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[r,a]of this.plugins.entries())a!==w.copyRedirectedCacheableResponsesPlugin&&(a===w.defaultPrecacheCacheabilityPlugin&&(e=r),a.cacheWillUpdate&&t++);t===0?this.plugins.push(w.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}w.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};w.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await xe(s):s}};class Me{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:r=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new w({cacheName:j.getPrecacheName(e),plugins:[...t,new be({precacheController:this})],fallbackToNetwork:r}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const r of e){typeof r=="string"?t.push(r):r&&r.revision===void 0&&t.push(r.url);const{cacheKey:a,url:i}=_e(r),n=typeof r!="string"&&r.revision?"reload":"default";if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==a)throw new u("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:a});if(typeof r!="string"&&r.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==r.integrity)throw new u("add-to-cache-list-conflicting-integrities",{url:i});this._cacheKeysToIntegrities.set(a,r.integrity)}if(this._urlsToCacheKeys.set(i,a),this._urlsToCacheModes.set(i,n),t.length>0){const c=`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
- This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return H(e,async()=>{const t=new Re;this.strategy.plugins.push(t);for(const[i,n]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(n),o=this._urlsToCacheModes.get(i),l=new Request(i,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:l,event:e}))}const{updatedURLs:r,notUpdatedURLs:a}=t;return{updatedURLs:r,notUpdatedURLs:a}})}activate(e){return H(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),r=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),i=[];for(const n of r)a.has(n.url)||(await t.delete(n),i.push(n.url));return{deletedURLs:i}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let T;const J=()=>(T||(T=new Me),T);try{self["workbox:routing:7.0.0"]&&_()}catch{}const z="GET",P=s=>s&&typeof s=="object"?s:{handle:s};let E=class{constructor(e,t,r=z){this.handler=P(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=P(e)}},Te=class extends E{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}},Oe=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=z){this._defaultHandlerMap.set(t,P(e))}setCatchHandler(e){this._catchHandler=P(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},C;const Se=()=>(C||(C=new Oe,C.addFetchListener(),C.addCacheListener()),C);function Ae(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new E(n,e,t)}else if(s instanceof RegExp)r=new Te(s,e,t);else if(typeof s=="function")r=new E(s,e,t);else if(s instanceof E)r=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Se().registerRoute(r),r}function Ke(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(r=>r.test(t))&&s.searchParams.delete(t);return s}function*Ie(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:r=!0,urlManipulation:a}={}){const i=new URL(s,location.href);i.hash="",yield i.href;const n=Ke(i,e);if(yield n.href,t&&n.pathname.endsWith("/")){const c=new URL(n.href);c.pathname+=t,yield c.href}if(r){const c=new URL(n.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:i});for(const o of c)yield o.href}}class We extends E{constructor(e,t){const r=({request:a})=>{const i=e.getURLsToCacheKeys();for(const n of Ie(a.url,t)){const c=i.get(n);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(r,e.strategy)}}function je(s){const e=J(),t=new We(e,s);Ae(t)}function qe(s){J().precache(s)}function $e(s,e){qe(s),je(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const He=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Be=He;class Fe extends Error{constructor(e,t){const r=Be(e,t);super(r),this.name=e,this.details=t}}function X(s){s.then(()=>{})}const Ve=(s,e)=>e.some(t=>s instanceof t);let F,V;function Ge(){return F||(F=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Qe(){return V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,I=new WeakMap,Z=new WeakMap,O=new WeakMap,q=new WeakMap;function Je(s){const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("success",i),s.removeEventListener("error",n)},i=()=>{t(m(s.result)),a()},n=()=>{r(s.error),a()};s.addEventListener("success",i),s.addEventListener("error",n)});return e.then(t=>{t instanceof IDBCursor&&Y.set(t,s)}).catch(()=>{}),q.set(e,s),e}function ze(s){if(I.has(s))return;const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",n),s.removeEventListener("abort",n)},i=()=>{t(),a()},n=()=>{r(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",i),s.addEventListener("error",n),s.addEventListener("abort",n)});I.set(s,e)}let W={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return I.get(s);if(e==="objectStoreNames")return s.objectStoreNames||Z.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Xe(s){W=s(W)}function Ye(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=s.call(S(this),e,...t);return Z.set(r,e.sort?e.sort():[e]),m(r)}:Qe().includes(s)?function(...e){return s.apply(S(this),e),m(Y.get(this))}:function(...e){return m(s.apply(S(this),e))}}function Ze(s){return typeof s=="function"?Ye(s):(s instanceof IDBTransaction&&ze(s),Ve(s,Ge())?new Proxy(s,W):s)}function m(s){if(s instanceof IDBRequest)return Je(s);if(O.has(s))return O.get(s);const e=Ze(s);return e!==s&&(O.set(s,e),q.set(e,s)),e}const S=s=>q.get(s);function et(s,e,{blocked:t,upgrade:r,blocking:a,terminated:i}={}){const n=indexedDB.open(s,e),c=m(n);return r&&n.addEventListener("upgradeneeded",o=>{r(m(n.result),o.oldVersion,o.newVersion,m(n.transaction),o)}),t&&n.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{i&&o.addEventListener("close",()=>i()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function tt(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",r=>e(r.oldVersion,r)),m(t).then(()=>{})}const st=["get","getKey","getAll","getAllKeys","count"],rt=["put","add","delete","clear"],A=new Map;function G(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(A.get(e))return A.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,a=rt.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(a||st.includes(t)))return;const i=async function(n,...c){const o=this.transaction(n,a?"readwrite":"readonly");let l=o.store;return r&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return A.set(e,i),i}Xe(s=>({...s,get:(e,t,r)=>G(e,t)||s.get(e,t,r),has:(e,t)=>!!G(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const at="workbox-expiration",x="cache-entries",Q=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class nt{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(x,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&tt(this._cacheName)}async setTimestamp(e,t){e=Q(e);const r={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},i=(await this.getDb()).transaction(x,"readwrite",{durability:"relaxed"});await i.store.put(r),await i.done}async getTimestamp(e){const r=await(await this.getDb()).get(x,this._getId(e));return r==null?void 0:r.timestamp}async expireEntries(e,t){const r=await this.getDb();let a=await r.transaction(x).store.index("timestamp").openCursor(null,"prev");const i=[];let n=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&n>=t?i.push(a.value):n++),a=await a.continue()}const c=[];for(const o of i)await r.delete(x,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Q(e)}async getDb(){return this._db||(this._db=await et(at,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class it{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new nt(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(const a of t)await r.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,X(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),r=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<r:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},K=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),ct=s=>{for(const e of Object.keys(g))s(e)},ot={updateDetails:s=>{ct(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||K(g.googleAnalytics),getPrecacheName:s=>s||K(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||K(g.runtime),getSuffix:()=>g.suffix},lt=new Set;function ht(s){lt.add(s)}class ut{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:r,cacheName:a,cachedResponse:i})=>{if(!i)return null;const n=this._isResponseDateFresh(i),c=this._getCacheExpiration(a);X(c.expireEntries());const o=c.updateTimestamp(r.url);if(t)try{t.waitUntil(o)}catch{}return n?i:null},this.cacheDidUpdate=async({cacheName:t,request:r})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(r.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ht(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===ot.getRuntimeName())throw new Fe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new it(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const r=Date.now();return t>=r-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};class L{constructor(e,t,r=ee){this.handler=v(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=v(e)}}class ft extends L{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}}class dt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new y("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new y("unregister-route-route-not-registered")}}let k;const pt=()=>(k||(k=new dt,k.addFetchListener(),k.addCacheListener()),k);function te(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new L(n,e,t)}else if(s instanceof RegExp)r=new ft(s,e,t);else if(typeof s=="function")r=new L(s,e,t);else if(s instanceof L)r=s;else throw new y("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return pt().registerRoute(r),r}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function U(s){return typeof s=="string"?new Request(s):s}class gt{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new he,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=U(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new y("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=U(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=U(e);await de(0);const a=await this.getCacheKey(r,"write");if(!t)throw new y("cache-put-with-no-response",{url:fe(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await le(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ue(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=U(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}}class se{constructor(e={}){this.cacheName=oe.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new gt(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new y("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}}class mt extends se{async _handle(e,t){let r=await t.cacheMatch(e),a;if(!r)try{r=await t.fetchAndCachePut(e)}catch(i){i instanceof Error&&(a=i)}if(!r)throw new y("no-response",{url:e.url,error:a});return r}}const wt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class yt extends se{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(wt)}async _handle(e,t){const r=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(r);let a=await t.cacheMatch(e),i;if(!a)try{a=await r}catch(n){n instanceof Error&&(i=n)}if(!a)throw new y("no-response",{url:e.url,error:i});return a}}$e(([{"revision":null,"url":"assets/_createAggregator-aO50YhXH.js"},{"revision":null,"url":"assets/access-control-DplRO33H.js"},{"revision":null,"url":"assets/actions-CchlEsiO.js"},{"revision":null,"url":"assets/Add-C-MUV7pC.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/add-component-core-oabwwAHL.js"},{"revision":null,"url":"assets/add-resource-Pr1QILYG.js"},{"revision":null,"url":"assets/addon-k5gcfsfJ.js"},{"revision":null,"url":"assets/Alert-DbN0O0aN.js"},{"revision":null,"url":"assets/analytics-9EII-v2b.js"},{"revision":null,"url":"assets/api-BKvFaP38.js"},{"revision":null,"url":"assets/ar-B3QGVHSJ.js"},{"revision":null,"url":"assets/ar-C077vlSK.js"},{"revision":null,"url":"assets/ArrowDropDown-BD-n5g-y.js"},{"revision":null,"url":"assets/audit-logs-BRW30t3L.js"},{"revision":null,"url":"assets/Autocomplete-xp0cyiCL.js"},{"revision":null,"url":"assets/Avatar-BbstlMJY.js"},{"revision":null,"url":"assets/base32-Cog_VZ0k.js"},{"revision":null,"url":"assets/branding-CJWvfGxB.js"},{"revision":null,"url":"assets/bundle-avatar-C-1ahBAR.js"},{"revision":null,"url":"assets/button-CSzyfzmK.js"},{"revision":null,"url":"assets/ButtonGroup-YqMGRNaj.js"},{"revision":null,"url":"assets/CheckCircle-C-J8R9KR.js"},{"revision":null,"url":"assets/ChevronLeft-dqkQph81.js"},{"revision":null,"url":"assets/ChevronRight-B2k9Gvlw.js"},{"revision":null,"url":"assets/click-to-copy-BBLmW78J.js"},{"revision":null,"url":"assets/complete-BRGGVyCs.js"},{"revision":null,"url":"assets/component-BOFPPqD8.js"},{"revision":null,"url":"assets/config-BuQgZfpX.js"},{"revision":null,"url":"assets/config-iLqs6SqP.js"},{"revision":null,"url":"assets/config-navigation-C5_bJU0f.js"},{"revision":null,"url":"assets/config-space-C56d0lRU.js"},{"revision":null,"url":"assets/confirm-DGKnhqaC.js"},{"revision":null,"url":"assets/connect-DOaWC9ft.js"},{"revision":null,"url":"assets/connect-o-hOItU0.js"},{"revision":null,"url":"assets/connect-to-CUmo43dQ.js"},{"revision":null,"url":"assets/content-layout-Coi8AV4p.js"},{"revision":null,"url":"assets/CSSTransition-CXxbf41Q.js"},{"revision":null,"url":"assets/dashboard-CazjqRmG.js"},{"revision":null,"url":"assets/de-3qFVPzmX.js"},{"revision":null,"url":"assets/de-CuczgAA8.js"},{"revision":null,"url":"assets/Delete-DOl4nPF3.js"},{"revision":null,"url":"assets/DeleteOutline-DYH6KsRs.js"},{"revision":null,"url":"assets/deprecate-B2OaYvW_.js"},{"revision":null,"url":"assets/DialogContentText-COq3rw-i.js"},{"revision":null,"url":"assets/did-address-CqYEOOvT.js"},{"revision":null,"url":"assets/domain-BjG22k3m.js"},{"revision":null,"url":"assets/domain-list-IwhSKnxn.js"},{"revision":null,"url":"assets/Done-DEI256sV.js"},{"revision":null,"url":"assets/Download-B7Y03H7t.js"},{"revision":null,"url":"assets/EditIcon-WRiAz_Ii.js"},{"revision":null,"url":"assets/email-DD_llVWt.js"},{"revision":null,"url":"assets/emotion-cache.browser.esm-CuIm0Hab.js"},{"revision":null,"url":"assets/Error-BqDO0zZY.js"},{"revision":null,"url":"assets/es-D938HYco.js"},{"revision":null,"url":"assets/es-DmfpsaZ4.js"},{"revision":null,"url":"assets/exchange-passport-Bj5rusMj.js"},{"revision":null,"url":"assets/ExpandMore-BO8jF1bn.js"},{"revision":null,"url":"assets/fallback-CVomANXA.js"},{"revision":null,"url":"assets/form-text-input-dBeTAT7j.js"},{"revision":null,"url":"assets/format-error-CXOPpcrE.js"},{"revision":null,"url":"assets/FormControl-BsxgOlTX.js"},{"revision":null,"url":"assets/FormControlLabel-Dgpj-XRb.js"},{"revision":null,"url":"assets/FormGroup-b58twP-q.js"},{"revision":null,"url":"assets/fr-BdiBXaSB.js"},{"revision":null,"url":"assets/fr-BUgkJkru.js"},{"revision":null,"url":"assets/fuel-CDp9ZffP.js"},{"revision":null,"url":"assets/fullpage-CWXnpLtu.js"},{"revision":null,"url":"assets/get-safe-url-B3_JzMvg.js"},{"revision":null,"url":"assets/get-safe-url-DLq03enx.js"},{"revision":null,"url":"assets/Google-D_mc2y32.js"},{"revision":null,"url":"assets/Grid-tsC4khHx.js"},{"revision":null,"url":"assets/HelpOutline-BoXfs1w7.js"},{"revision":null,"url":"assets/hi-BkZt_7Gb.js"},{"revision":null,"url":"assets/hi-CLGvJ0VO.js"},{"revision":null,"url":"assets/Hidden-ipoc6BxF.js"},{"revision":null,"url":"assets/home-CSMD2Z1d.js"},{"revision":null,"url":"assets/id-Cg1I2efN.js"},{"revision":null,"url":"assets/id-CoJHfLJv.js"},{"revision":null,"url":"assets/iframe-DCD_qn_b.js"},{"revision":null,"url":"assets/index-2Q0z0xFE.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-B-5mC5YF.js"},{"revision":null,"url":"assets/index-B2QN3yxT.js"},{"revision":null,"url":"assets/index-B4oT57Ax.css"},{"revision":null,"url":"assets/index-B5C90-kX.js"},{"revision":null,"url":"assets/index-BAC0visH.js"},{"revision":null,"url":"assets/index-BbwkcNKT.js"},{"revision":null,"url":"assets/index-BJPpUK5T.js"},{"revision":null,"url":"assets/index-BkwS3xmJ.js"},{"revision":null,"url":"assets/index-BLKPMstc.js"},{"revision":null,"url":"assets/index-Bw4jUIg2.js"},{"revision":null,"url":"assets/index-BWCk5LbW.js"},{"revision":null,"url":"assets/index-C03QRPVb.js"},{"revision":null,"url":"assets/index-C2TlC4O6.js"},{"revision":null,"url":"assets/index-C2ynZPOY.js"},{"revision":null,"url":"assets/index-C7otKf8F.js"},{"revision":null,"url":"assets/index-CgETkxdp.js"},{"revision":null,"url":"assets/index-CGNW_HS5.js"},{"revision":null,"url":"assets/index-Ci5RfQ59.js"},{"revision":null,"url":"assets/index-ClKfKXJz.js"},{"revision":null,"url":"assets/index-CMGrAADS.js"},{"revision":null,"url":"assets/index-CS43LeKQ.js"},{"revision":null,"url":"assets/index-CxwdZ5FQ.js"},{"revision":null,"url":"assets/index-D4PP6P2d.css"},{"revision":null,"url":"assets/index-D7VlJHOF.js"},{"revision":null,"url":"assets/index-DbAVBGvq.js"},{"revision":null,"url":"assets/index-DEcPGLHC.js"},{"revision":null,"url":"assets/index-DIA9qwvc.js"},{"revision":null,"url":"assets/index-DnlBG2uS.js"},{"revision":null,"url":"assets/index-DOuTbUzq.js"},{"revision":null,"url":"assets/index-DQSbUwd9.js"},{"revision":null,"url":"assets/index-DsAOaF68.js"},{"revision":null,"url":"assets/index-DTEEl-sV.js"},{"revision":null,"url":"assets/index-DvbaB47F.js"},{"revision":null,"url":"assets/index-foZCwT8M.css"},{"revision":null,"url":"assets/index-MlLLj7ox.js"},{"revision":null,"url":"assets/index-UA6q4JVO.js"},{"revision":null,"url":"assets/index-unKKAfCB.js"},{"revision":null,"url":"assets/InfoOutlined-BxU1CEPg.js"},{"revision":null,"url":"assets/InputAdornment-BiYr4cW6.js"},{"revision":null,"url":"assets/invitation-8Vja2ez-.js"},{"revision":null,"url":"assets/invite-CagtO6bL.js"},{"revision":null,"url":"assets/isEmail-B6BHZ8TX.js"},{"revision":null,"url":"assets/issue-passport-D8pAGg2V.js"},{"revision":null,"url":"assets/item-rGVvbhmE.js"},{"revision":null,"url":"assets/ja-BfQ6NQ1Q.js"},{"revision":null,"url":"assets/ja-DgVJN0fA.js"},{"revision":null,"url":"assets/jss-plugin-props-sort.esm-BqC3mtsa.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-CXw5-Tyj.js"},{"revision":null,"url":"assets/ko-OirMS2DQ.js"},{"revision":null,"url":"assets/LastPage--sm4pHpX.js"},{"revision":null,"url":"assets/Launch-6LXlwp2H.js"},{"revision":null,"url":"assets/launch-result-message-fLJdiQ4t.js"},{"revision":null,"url":"assets/LaunchOutlined-B6l7-o_Y.js"},{"revision":null,"url":"assets/layout-Df9B9CD5.js"},{"revision":null,"url":"assets/Link-fX4KUiej.js"},{"revision":null,"url":"assets/list-header-8wYyLFjq.js"},{"revision":null,"url":"assets/ListItemButton-YchFGwTe.js"},{"revision":null,"url":"assets/ListSubheader-CKfDOFlq.js"},{"revision":null,"url":"assets/LoadingButton-C4TIaNaq.js"},{"revision":null,"url":"assets/localization-BSqs41PK.js"},{"revision":null,"url":"assets/LockIcon-DtPBoSNv.js"},{"revision":null,"url":"assets/log-CXrE-Pqc.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/login-oauth-callback-CgPqb7Lq.js"},{"revision":null,"url":"assets/login-wunPRpnb.js"},{"revision":null,"url":"assets/logo-uploader-DESUa9bt.js"},{"revision":null,"url":"assets/Loop-BmB9k803.js"},{"revision":null,"url":"assets/lost-passport-Bh8A1qX6.js"},{"revision":null,"url":"assets/lottie-react.esm-BSqfmkGG.js"},{"revision":null,"url":"assets/MarkEmailRead-D59Dom04.js"},{"revision":null,"url":"assets/Menu-CasLu-ky.js"},{"revision":null,"url":"assets/MoreHoriz-B5aoiijW.js"},{"revision":null,"url":"assets/MoreVert-C9UJnjfF.js"},{"revision":null,"url":"assets/notifications-0BDelSaD.js"},{"revision":null,"url":"assets/open-window-ByvPY_IP.js"},{"revision":null,"url":"assets/OpenInNew-YMhtYwHE.js"},{"revision":null,"url":"assets/overview-NyLZyTzQ.js"},{"revision":null,"url":"assets/page-header-9hNVxRoa.js"},{"revision":null,"url":"assets/Pagination-Df9SRmt8.js"},{"revision":null,"url":"assets/permission-CaRXgle6.js"},{"revision":null,"url":"assets/PlayArrow-BEtJ369o.js"},{"revision":null,"url":"assets/preferences-CUsklTmz.js"},{"revision":null,"url":"assets/pt-C5FGXBS-.js"},{"revision":null,"url":"assets/pt-DFNHF52P.js"},{"revision":null,"url":"assets/publish-resource-7Yi_94S6.js"},{"revision":null,"url":"assets/purify.es-DutPtr9A.js"},{"revision":null,"url":"assets/QuestionMarkCircle-CuvZsXbn.js"},{"revision":null,"url":"assets/RadioGroup-CGMGVlf2.js"},{"revision":null,"url":"assets/raf-schd.esm-Bnef47nT.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-CpS0-Aqe.js"},{"revision":null,"url":"assets/redux-CluOqhW1.js"},{"revision":null,"url":"assets/refType-BNRJ1Xey.js"},{"revision":null,"url":"assets/resource-dialog-CWTUaf-O.js"},{"revision":null,"url":"assets/ru-D1ipkx7j.js"},{"revision":null,"url":"assets/ru-Dk6dsYPJ.js"},{"revision":null,"url":"assets/sdk-DNBFu3Vd.js"},{"revision":null,"url":"assets/Search-CKwfa740.js"},{"revision":null,"url":"assets/Select-B3cdfIzb.js"},{"revision":null,"url":"assets/selector-Bgtpcya_.js"},{"revision":null,"url":"assets/ServerLogo-BAQKQJ7V.js"},{"revision":null,"url":"assets/session-SThzCGTr.js"},{"revision":null,"url":"assets/setup-CWvIujH2.js"},{"revision":null,"url":"assets/shorten-label-DtvVN3_a.js"},{"revision":null,"url":"assets/simple-select-DE145g5Z.js"},{"revision":null,"url":"assets/Skeleton-D0-q_hvU.js"},{"revision":null,"url":"assets/slicedToArray-gtBWtJl8.js"},{"revision":null,"url":"assets/Stack-BO9M0PIW.js"},{"revision":null,"url":"assets/start-C4tmiEBt.js"},{"revision":null,"url":"assets/step-actions-Bbj9n3cG.js"},{"revision":null,"url":"assets/Stepper-RItm9i-D.js"},{"revision":null,"url":"assets/studio-GA30qFJk.js"},{"revision":null,"url":"assets/switch-control-86ykn9ge.js"},{"revision":null,"url":"assets/TextField-BWghiml0.js"},{"revision":null,"url":"assets/th-Bq0BOWuO.js"},{"revision":null,"url":"assets/th-K6XbH1UY.js"},{"revision":null,"url":"assets/Toolbar-DYiylaGG.js"},{"revision":null,"url":"assets/toPropertyKey-PLuKRk1e.js"},{"revision":null,"url":"assets/toUpper--yB2KjPh.js"},{"revision":null,"url":"assets/transfer-BqyfwC5R.js"},{"revision":null,"url":"assets/trim-08Op5xjY.js"},{"revision":null,"url":"assets/uniqBy-DFF7Lt_J.js"},{"revision":null,"url":"assets/unsubscribe-Dy2MxVJy.js"},{"revision":null,"url":"assets/url-join-fD9yT9x3.js"},{"revision":null,"url":"assets/use-mobile-Bdr2kObC.js"},{"revision":null,"url":"assets/use-mobile-BjsDuAgv.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/useAsync-Co-ihL9T.js"},{"revision":null,"url":"assets/useFormControl-Ef5WMbDC.js"},{"revision":null,"url":"assets/useLocalStorage-DElqf361.js"},{"revision":null,"url":"assets/user-center-PWXrG48O.js"},{"revision":null,"url":"assets/user-sessions-CbhSRGeB.js"},{"revision":null,"url":"assets/useSetState-CuEGVXqh.js"},{"revision":null,"url":"assets/useSlot-C9LBI1FF.js"},{"revision":null,"url":"assets/useSlotProps-CP7QQ02c.js"},{"revision":null,"url":"assets/useThemeProps-55Y0sL0H.js"},{"revision":null,"url":"assets/util-D3UE9Z7D.js"},{"revision":null,"url":"assets/vi-CgCRvPul.js"},{"revision":null,"url":"assets/vi-w34NOSIe.js"},{"revision":null,"url":"assets/ViewColumn-Bz1lupxM.js"},{"revision":null,"url":"assets/ViewList-BaL8evRq.js"},{"revision":null,"url":"assets/visuallyHidden-Dan1xhjv.js"},{"revision":null,"url":"assets/wrap-locale-CuTZ5aof.js"},{"revision":null,"url":"assets/zh-C8AwRuvb.js"},{"revision":null,"url":"assets/zh-EJ-gpgMc.js"},{"revision":null,"url":"assets/zh-tw-BvZpzT6d.js"},{"revision":null,"url":"assets/zh-tw-OB9rgk8B.js"},{"revision":"f721b2e3b07fae4525a8534822b83acf","url":"index.html"},{"revision":"186b2f1889d7c89ecd30e422ab415c8a","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"ecdddc9b1297e7511cad18529d5cfd89","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));pe();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const re=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));te(s=>{const{request:e}=s;return re(e)?!1:e.url.includes("/static/")},new mt({cacheName:"static",plugins:[new ut({maxEntries:200})]}));te(s=>{const{request:e}=s;return re(e)?!1:e.url.includes("/images/")||e.url.includes("/router/-template-styles/")},new yt);
2
+ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(c)}}}install(e){return H(e,async()=>{const t=new Re;this.strategy.plugins.push(t);for(const[i,n]of this._urlsToCacheKeys){const c=this._cacheKeysToIntegrities.get(n),o=this._urlsToCacheModes.get(i),l=new Request(i,{integrity:c,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:l,event:e}))}const{updatedURLs:r,notUpdatedURLs:a}=t;return{updatedURLs:r,notUpdatedURLs:a}})}activate(e){return H(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),r=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),i=[];for(const n of r)a.has(n.url)||(await t.delete(n),i.push(n.url));return{deletedURLs:i}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new u("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let T;const J=()=>(T||(T=new Me),T);try{self["workbox:routing:7.0.0"]&&_()}catch{}const z="GET",P=s=>s&&typeof s=="object"?s:{handle:s};let E=class{constructor(e,t,r=z){this.handler=P(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=P(e)}},Te=class extends E{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}},Oe=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=z){this._defaultHandlerMap.set(t,P(e))}setCatchHandler(e){this._catchHandler=P(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new u("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new u("unregister-route-route-not-registered")}},C;const Se=()=>(C||(C=new Oe,C.addFetchListener(),C.addCacheListener()),C);function Ae(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new E(n,e,t)}else if(s instanceof RegExp)r=new Te(s,e,t);else if(typeof s=="function")r=new E(s,e,t);else if(s instanceof E)r=s;else throw new u("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return Se().registerRoute(r),r}function Ke(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(r=>r.test(t))&&s.searchParams.delete(t);return s}function*Ie(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:r=!0,urlManipulation:a}={}){const i=new URL(s,location.href);i.hash="",yield i.href;const n=Ke(i,e);if(yield n.href,t&&n.pathname.endsWith("/")){const c=new URL(n.href);c.pathname+=t,yield c.href}if(r){const c=new URL(n.href);c.pathname+=".html",yield c.href}if(a){const c=a({url:i});for(const o of c)yield o.href}}class We extends E{constructor(e,t){const r=({request:a})=>{const i=e.getURLsToCacheKeys();for(const n of Ie(a.url,t)){const c=i.get(n);if(c){const o=e.getIntegrityForCacheKey(c);return{cacheKey:c,integrity:o}}}};super(r,e.strategy)}}function je(s){const e=J(),t=new We(e,s);Ae(t)}function qe(s){J().precache(s)}function $e(s,e){qe(s),je(e)}try{self["workbox:core:7.0.0"]&&_()}catch{}const He=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},Be=He;class Fe extends Error{constructor(e,t){const r=Be(e,t);super(r),this.name=e,this.details=t}}function X(s){s.then(()=>{})}const Ve=(s,e)=>e.some(t=>s instanceof t);let F,V;function Ge(){return F||(F=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Qe(){return V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,I=new WeakMap,Z=new WeakMap,O=new WeakMap,q=new WeakMap;function Je(s){const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("success",i),s.removeEventListener("error",n)},i=()=>{t(m(s.result)),a()},n=()=>{r(s.error),a()};s.addEventListener("success",i),s.addEventListener("error",n)});return e.then(t=>{t instanceof IDBCursor&&Y.set(t,s)}).catch(()=>{}),q.set(e,s),e}function ze(s){if(I.has(s))return;const e=new Promise((t,r)=>{const a=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",n),s.removeEventListener("abort",n)},i=()=>{t(),a()},n=()=>{r(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",i),s.addEventListener("error",n),s.addEventListener("abort",n)});I.set(s,e)}let W={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return I.get(s);if(e==="objectStoreNames")return s.objectStoreNames||Z.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Xe(s){W=s(W)}function Ye(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=s.call(S(this),e,...t);return Z.set(r,e.sort?e.sort():[e]),m(r)}:Qe().includes(s)?function(...e){return s.apply(S(this),e),m(Y.get(this))}:function(...e){return m(s.apply(S(this),e))}}function Ze(s){return typeof s=="function"?Ye(s):(s instanceof IDBTransaction&&ze(s),Ve(s,Ge())?new Proxy(s,W):s)}function m(s){if(s instanceof IDBRequest)return Je(s);if(O.has(s))return O.get(s);const e=Ze(s);return e!==s&&(O.set(s,e),q.set(e,s)),e}const S=s=>q.get(s);function et(s,e,{blocked:t,upgrade:r,blocking:a,terminated:i}={}){const n=indexedDB.open(s,e),c=m(n);return r&&n.addEventListener("upgradeneeded",o=>{r(m(n.result),o.oldVersion,o.newVersion,m(n.transaction),o)}),t&&n.addEventListener("blocked",o=>t(o.oldVersion,o.newVersion,o)),c.then(o=>{i&&o.addEventListener("close",()=>i()),a&&o.addEventListener("versionchange",l=>a(l.oldVersion,l.newVersion,l))}).catch(()=>{}),c}function tt(s,{blocked:e}={}){const t=indexedDB.deleteDatabase(s);return e&&t.addEventListener("blocked",r=>e(r.oldVersion,r)),m(t).then(()=>{})}const st=["get","getKey","getAll","getAllKeys","count"],rt=["put","add","delete","clear"],A=new Map;function G(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(A.get(e))return A.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,a=rt.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(a||st.includes(t)))return;const i=async function(n,...c){const o=this.transaction(n,a?"readwrite":"readonly");let l=o.store;return r&&(l=l.index(c.shift())),(await Promise.all([l[t](...c),a&&o.done]))[0]};return A.set(e,i),i}Xe(s=>({...s,get:(e,t,r)=>G(e,t)||s.get(e,t,r),has:(e,t)=>!!G(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.0.0"]&&_()}catch{}const at="workbox-expiration",x="cache-entries",Q=s=>{const e=new URL(s,location.href);return e.hash="",e.href};class nt{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(x,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&tt(this._cacheName)}async setTimestamp(e,t){e=Q(e);const r={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},i=(await this.getDb()).transaction(x,"readwrite",{durability:"relaxed"});await i.store.put(r),await i.done}async getTimestamp(e){const r=await(await this.getDb()).get(x,this._getId(e));return r==null?void 0:r.timestamp}async expireEntries(e,t){const r=await this.getDb();let a=await r.transaction(x).store.index("timestamp").openCursor(null,"prev");const i=[];let n=0;for(;a;){const o=a.value;o.cacheName===this._cacheName&&(e&&o.timestamp<e||t&&n>=t?i.push(a.value):n++),a=await a.continue()}const c=[];for(const o of i)await r.delete(x,o.id),c.push(o.url);return c}_getId(e){return this._cacheName+"|"+Q(e)}async getDb(){return this._db||(this._db=await et(at,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class it{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new nt(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(const a of t)await r.delete(a,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,X(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),r=Date.now()-this._maxAgeSeconds*1e3;return t!==void 0?t<r:!0}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}const g={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},K=s=>[g.prefix,s,g.suffix].filter(e=>e&&e.length>0).join("-"),ct=s=>{for(const e of Object.keys(g))s(e)},ot={updateDetails:s=>{ct(e=>{typeof s[e]=="string"&&(g[e]=s[e])})},getGoogleAnalyticsName:s=>s||K(g.googleAnalytics),getPrecacheName:s=>s||K(g.precache),getPrefix:()=>g.prefix,getRuntimeName:s=>s||K(g.runtime),getSuffix:()=>g.suffix},lt=new Set;function ht(s){lt.add(s)}class ut{constructor(e={}){this.cachedResponseWillBeUsed=async({event:t,request:r,cacheName:a,cachedResponse:i})=>{if(!i)return null;const n=this._isResponseDateFresh(i),c=this._getCacheExpiration(a);X(c.expireEntries());const o=c.updateTimestamp(r.url);if(t)try{t.waitUntil(o)}catch{}return n?i:null},this.cacheDidUpdate=async({cacheName:t,request:r})=>{const a=this._getCacheExpiration(t);await a.updateTimestamp(r.url),await a.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&ht(()=>this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===ot.getRuntimeName())throw new Fe("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new it(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(t===null)return!0;const r=Date.now();return t>=r-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),a=new Date(t).getTime();return isNaN(a)?null:a}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}try{self["workbox:routing:7.0.0"]&&_()}catch{}const ee="GET",v=s=>s&&typeof s=="object"?s:{handle:s};class L{constructor(e,t,r=ee){this.handler=v(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=v(e)}}class ft extends L{constructor(e,t,r){const a=({url:i})=>{const n=e.exec(i.href);if(n&&!(i.origin!==location.origin&&n.index!==0))return n.slice(1)};super(a,t,r)}}class dt{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const i=new Request(...a);return this.handleRequest({request:i,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){const r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;const a=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:r});let c=n&&n.handler;const o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;let l;try{l=c.handle({url:r,request:e,event:t,params:i})}catch(h){l=Promise.reject(h)}const f=n&&n.catchHandler;return l instanceof Promise&&(this._catchHandler||f)&&(l=l.catch(async h=>{if(f)try{return await f.handle({url:r,request:e,event:t,params:i})}catch(R){R instanceof Error&&(h=R)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw h})),l}findMatchingRoute({url:e,sameOrigin:t,request:r,event:a}){const i=this._routes.get(r.method)||[];for(const n of i){let c;const o=n.match({url:e,sameOrigin:t,request:r,event:a});if(o)return c=o,(Array.isArray(c)&&c.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(c=void 0),{route:n,params:c}}return{}}setDefaultHandler(e,t=ee){this._defaultHandlerMap.set(t,v(e))}setCatchHandler(e){this._catchHandler=v(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new y("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new y("unregister-route-route-not-registered")}}let k;const pt=()=>(k||(k=new dt,k.addFetchListener(),k.addCacheListener()),k);function te(s,e,t){let r;if(typeof s=="string"){const i=new URL(s,location.href),n=({url:c})=>c.href===i.href;r=new L(n,e,t)}else if(s instanceof RegExp)r=new ft(s,e,t);else if(typeof s=="function")r=new L(s,e,t);else if(s instanceof L)r=s;else throw new y("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return pt().registerRoute(r),r}try{self["workbox:strategies:7.0.0"]&&_()}catch{}function U(s){return typeof s=="string"?new Request(s):s}class gt{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new he,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const r of this._plugins)this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let r=U(e);if(r.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const n=await t.preloadResponse;if(n)return n}const a=this.hasCallback("fetchDidFail")?r.clone():null;try{for(const n of this.iterateCallbacks("requestWillFetch"))r=await n({request:r.clone(),event:t})}catch(n){if(n instanceof Error)throw new y("plugin-error-request-will-fetch",{thrownErrorMessage:n.message})}const i=r.clone();try{let n;n=await fetch(r,r.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const c of this.iterateCallbacks("fetchDidSucceed"))n=await c({event:t,request:i,response:n});return n}catch(n){throw a&&await this.runCallbacks("fetchDidFail",{error:n,event:t,originalRequest:a.clone(),request:i.clone()}),n}}async fetchAndCachePut(e){const t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){const t=U(e);let r;const{cacheName:a,matchOptions:i}=this._strategy,n=await this.getCacheKey(t,"read"),c=Object.assign(Object.assign({},i),{cacheName:a});r=await caches.match(n,c);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))r=await o({cacheName:a,matchOptions:i,cachedResponse:r,request:n,event:this.event})||void 0;return r}async cachePut(e,t){const r=U(e);await de(0);const a=await this.getCacheKey(r,"write");if(!t)throw new y("cache-put-with-no-response",{url:fe(a.url)});const i=await this._ensureResponseSafeToCache(t);if(!i)return!1;const{cacheName:n,matchOptions:c}=this._strategy,o=await self.caches.open(n),l=this.hasCallback("cacheDidUpdate"),f=l?await le(o,a.clone(),["__WB_REVISION__"],c):null;try{await o.put(a,l?i.clone():i)}catch(h){if(h instanceof Error)throw h.name==="QuotaExceededError"&&await ue(),h}for(const h of this.iterateCallbacks("cacheDidUpdate"))await h({cacheName:n,oldResponse:f,newResponse:i.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let a=e;for(const i of this.iterateCallbacks("cacheKeyWillBeUsed"))a=U(await i({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[r]=a}return this._cacheKeys[r]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const r=this._pluginStateMap.get(t);yield i=>{const n=Object.assign(Object.assign({},i),{state:r});return t[e](n)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return r||t&&t.status!==200&&(t=void 0),t}}class se{constructor(e={}){this.cacheName=oe.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,r=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,i=new gt(this,{event:t,request:r,params:a}),n=this._getResponse(i,r,t),c=this._awaitComplete(n,i,r,t);return[n,c]}async _getResponse(e,t,r){await e.runCallbacks("handlerWillStart",{event:r,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new y("no-response",{url:t.url})}catch(i){if(i instanceof Error){for(const n of e.iterateCallbacks("handlerDidError"))if(a=await n({error:i,event:r,request:t}),a)break}if(!a)throw i}for(const i of e.iterateCallbacks("handlerWillRespond"))a=await i({event:r,request:t,response:a});return a}async _awaitComplete(e,t,r,a){let i,n;try{i=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:r,response:i}),await t.doneWaiting()}catch(c){c instanceof Error&&(n=c)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:r,response:i,error:n}),t.destroy(),n)throw n}}class mt extends se{async _handle(e,t){let r=await t.cacheMatch(e),a;if(!r)try{r=await t.fetchAndCachePut(e)}catch(i){i instanceof Error&&(a=i)}if(!r)throw new y("no-response",{url:e.url,error:a});return r}}const wt={cacheWillUpdate:async({response:s})=>s.status===200||s.status===0?s:null};class yt extends se{constructor(e={}){super(e),this.plugins.some(t=>"cacheWillUpdate"in t)||this.plugins.unshift(wt)}async _handle(e,t){const r=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(r);let a=await t.cacheMatch(e),i;if(!a)try{a=await r}catch(n){n instanceof Error&&(i=n)}if(!a)throw new y("no-response",{url:e.url,error:i});return a}}$e(([{"revision":null,"url":"assets/_createAggregator-dQcfls_H.js"},{"revision":null,"url":"assets/access-control-BXwHzkCA.js"},{"revision":null,"url":"assets/actions-D67DGwR5.js"},{"revision":null,"url":"assets/add-component-core-Bfu_zvLX.js"},{"revision":null,"url":"assets/add-component-core-D-IRi6XF.css"},{"revision":null,"url":"assets/Add-DcTdY6TL.js"},{"revision":null,"url":"assets/add-resource-Bopi2F5-.js"},{"revision":null,"url":"assets/addon-yHbJNe3B.js"},{"revision":null,"url":"assets/Alert-D-e8-MAP.js"},{"revision":null,"url":"assets/analytics-DecQzqwH.js"},{"revision":null,"url":"assets/api-DH8IdxXg.js"},{"revision":null,"url":"assets/ar-B3QGVHSJ.js"},{"revision":null,"url":"assets/ar-BAnh0kq-.js"},{"revision":null,"url":"assets/ArrowDropDown-BvKbPg9O.js"},{"revision":null,"url":"assets/audit-logs-Blyvfwui.js"},{"revision":null,"url":"assets/Autocomplete-BX46bk2_.js"},{"revision":null,"url":"assets/Avatar-BoZ94vwc.js"},{"revision":null,"url":"assets/base32-DTb-J1h_.js"},{"revision":null,"url":"assets/branding-Cr7lzDNp.js"},{"revision":null,"url":"assets/bundle-avatar-TCiQIGsc.js"},{"revision":null,"url":"assets/button-B2WmAAQP.js"},{"revision":null,"url":"assets/ButtonGroup-CtoWRVeN.js"},{"revision":null,"url":"assets/CheckCircle-DuplVjH9.js"},{"revision":null,"url":"assets/ChevronLeft-CRxnDPnp.js"},{"revision":null,"url":"assets/ChevronRight-6ehYjoIB.js"},{"revision":null,"url":"assets/Clear-BkApEw3Y.js"},{"revision":null,"url":"assets/click-to-copy-C-hq6Slv.js"},{"revision":null,"url":"assets/complete-CFh6Nef4.js"},{"revision":null,"url":"assets/component-G-UDGzGu.js"},{"revision":null,"url":"assets/config-CdE9iwiR.js"},{"revision":null,"url":"assets/config-navigation-DAx0e99X.js"},{"revision":null,"url":"assets/config-R9luUUXo.js"},{"revision":null,"url":"assets/config-space-DGTpbWBc.js"},{"revision":null,"url":"assets/confirm-BC8TTdT0.js"},{"revision":null,"url":"assets/connect-Ca4Z5ZCG.js"},{"revision":null,"url":"assets/connect-DYbGPYA1.js"},{"revision":null,"url":"assets/connect-to-CK3sPRsk.js"},{"revision":null,"url":"assets/content-layout-DPhqwbjU.js"},{"revision":null,"url":"assets/CSSTransition-DhDaGYf6.js"},{"revision":null,"url":"assets/dashboard-DqNsUCmU.js"},{"revision":null,"url":"assets/de-CuczgAA8.js"},{"revision":null,"url":"assets/de-CYAy3iib.js"},{"revision":null,"url":"assets/Delete-LBSof570.js"},{"revision":null,"url":"assets/DeleteOutline-DoKDfJgl.js"},{"revision":null,"url":"assets/deprecate-BzwAgeY6.js"},{"revision":null,"url":"assets/DialogContentText-B73EoFbn.js"},{"revision":null,"url":"assets/DialogTitle-B7_qt6er.js"},{"revision":null,"url":"assets/did-address-_iA2JBVL.js"},{"revision":null,"url":"assets/domain-CdS6WH7r.js"},{"revision":null,"url":"assets/domain-list-DgnHKWqf.js"},{"revision":null,"url":"assets/Done-BdhX20sl.js"},{"revision":null,"url":"assets/Download-cZILKd7o.js"},{"revision":null,"url":"assets/EditIcon-D9kgkBKD.js"},{"revision":null,"url":"assets/email-pILbo7GY.js"},{"revision":null,"url":"assets/emotion-cache.browser.esm-FU3nBxaV.js"},{"revision":null,"url":"assets/Error-ClsC7NrR.js"},{"revision":null,"url":"assets/es-Bn01DRSJ.js"},{"revision":null,"url":"assets/es-D938HYco.js"},{"revision":null,"url":"assets/exchange-passport-Bz0OFLm3.js"},{"revision":null,"url":"assets/ExpandMore-DrecSXMe.js"},{"revision":null,"url":"assets/fallback-DNotPO94.js"},{"revision":null,"url":"assets/form-text-input-BMDOwfx4.js"},{"revision":null,"url":"assets/format-error-DwZSxaHw.js"},{"revision":null,"url":"assets/FormControl-Ve2KegjN.js"},{"revision":null,"url":"assets/FormControlLabel-C10RDNgA.js"},{"revision":null,"url":"assets/FormGroup-C2DrHvar.js"},{"revision":null,"url":"assets/fr-BUgkJkru.js"},{"revision":null,"url":"assets/fr-D3J0B-tk.js"},{"revision":null,"url":"assets/fuel-BLdY2pe6.js"},{"revision":null,"url":"assets/fullpage-DizVq3Q0.js"},{"revision":null,"url":"assets/get-safe-url-BFPkD_-w.js"},{"revision":null,"url":"assets/get-safe-url-DZ-z9Y11.js"},{"revision":null,"url":"assets/Google-qzzGwT5f.js"},{"revision":null,"url":"assets/Grid-DZk6Z8OE.js"},{"revision":null,"url":"assets/HelpOutline-epGv8mXi.js"},{"revision":null,"url":"assets/hi-CLGvJ0VO.js"},{"revision":null,"url":"assets/hi-DdEYPkL3.js"},{"revision":null,"url":"assets/Hidden-DPr9AEQp.js"},{"revision":null,"url":"assets/home-Tu1r9UUP.js"},{"revision":null,"url":"assets/id-C6kfQsmT.js"},{"revision":null,"url":"assets/id-CoJHfLJv.js"},{"revision":null,"url":"assets/iframe-CaVEoPzZ.js"},{"revision":null,"url":"assets/index-4W47mya0.js"},{"revision":null,"url":"assets/index-AgKpYdvC.css"},{"revision":null,"url":"assets/index-B3taNgzi.js"},{"revision":null,"url":"assets/index-B4oT57Ax.css"},{"revision":null,"url":"assets/index-B5C90-kX.js"},{"revision":null,"url":"assets/index-BcBVFEsU.js"},{"revision":null,"url":"assets/index-BEJPw-Yp.js"},{"revision":null,"url":"assets/index-BH89MPC8.js"},{"revision":null,"url":"assets/index-Bj8u1Jq1.js"},{"revision":null,"url":"assets/index-BjsbrYRH.js"},{"revision":null,"url":"assets/index-BM80ek7x.js"},{"revision":null,"url":"assets/index-Bn2ctnS8.js"},{"revision":null,"url":"assets/index-BOpUgQ8H.js"},{"revision":null,"url":"assets/index-BuFsUoby.js"},{"revision":null,"url":"assets/index-BWn04_iI.js"},{"revision":null,"url":"assets/index-BXvoL3Iu.js"},{"revision":null,"url":"assets/index-CjBMqGWM.js"},{"revision":null,"url":"assets/index-CNW7JpLY.js"},{"revision":null,"url":"assets/index-CWzdBGm2.js"},{"revision":null,"url":"assets/index-Cyq88B7c.js"},{"revision":null,"url":"assets/index-CzXHRu12.js"},{"revision":null,"url":"assets/index-d-mPwPwc.js"},{"revision":null,"url":"assets/index-D3U2QoHe.js"},{"revision":null,"url":"assets/index-D4PP6P2d.css"},{"revision":null,"url":"assets/index-D7t6icMl.js"},{"revision":null,"url":"assets/index-DblJTJQz.js"},{"revision":null,"url":"assets/index-DDG6nzV-.js"},{"revision":null,"url":"assets/index-DEG_Pe1F.js"},{"revision":null,"url":"assets/index-dEKXkm4C.js"},{"revision":null,"url":"assets/index-DheUDLUu.js"},{"revision":null,"url":"assets/index-DLfBZi9C.js"},{"revision":null,"url":"assets/index-DPiBRCz4.js"},{"revision":null,"url":"assets/index-DTEEl-sV.js"},{"revision":null,"url":"assets/index-DUDLGVrz.js"},{"revision":null,"url":"assets/index-DWDFxHgN.js"},{"revision":null,"url":"assets/index-foZCwT8M.css"},{"revision":null,"url":"assets/index-lJoTfApr.js"},{"revision":null,"url":"assets/index-pMGk7BEW.js"},{"revision":null,"url":"assets/index-YElVd5eM.js"},{"revision":null,"url":"assets/InfoOutlined-B8LkdcP3.js"},{"revision":null,"url":"assets/InputAdornment-gT40mObj.js"},{"revision":null,"url":"assets/invitation-BFbVuQFx.js"},{"revision":null,"url":"assets/invite-Bron7GEw.js"},{"revision":null,"url":"assets/isEmail-5f9jXFqI.js"},{"revision":null,"url":"assets/issue-passport-BMTa-EpO.js"},{"revision":null,"url":"assets/item-BYnIVyyp.js"},{"revision":null,"url":"assets/ja-BfQ6NQ1Q.js"},{"revision":null,"url":"assets/ja-DN837plG.js"},{"revision":null,"url":"assets/jss-plugin-props-sort.esm-CxRI79tr.js"},{"revision":null,"url":"assets/keyboard-arrow-down-rounded-DadBVmpO.js"},{"revision":null,"url":"assets/ko-LU148n3o.js"},{"revision":null,"url":"assets/ko-OirMS2DQ.js"},{"revision":null,"url":"assets/LastPage-DrjUl7Ym.js"},{"revision":null,"url":"assets/Launch-CyTNEiOE.js"},{"revision":null,"url":"assets/launch-result-message-DXzliFie.js"},{"revision":null,"url":"assets/LaunchOutlined-ByFC01OF.js"},{"revision":null,"url":"assets/layout-CAsilLGB.js"},{"revision":null,"url":"assets/Link-51uCMh9H.js"},{"revision":null,"url":"assets/list-header-YJQAbm9g.js"},{"revision":null,"url":"assets/ListItemButton-DtweULpb.js"},{"revision":null,"url":"assets/ListSubheader-DfLnu3fa.js"},{"revision":null,"url":"assets/LoadingButton-jLzgx1P7.js"},{"revision":null,"url":"assets/localization-CoaLMiV4.js"},{"revision":null,"url":"assets/LockIcon-De6Ad6SH.js"},{"revision":null,"url":"assets/log-Bdo9FkyE.js"},{"revision":null,"url":"assets/log-D33dFtt_.css"},{"revision":null,"url":"assets/login-D8bQWYck.js"},{"revision":null,"url":"assets/login-oauth-callback-DQ0fJI0M.js"},{"revision":null,"url":"assets/logo-uploader-cFGQ2Gvc.js"},{"revision":null,"url":"assets/Loop-tTR2yrlz.js"},{"revision":null,"url":"assets/lost-passport-Cut0hEBf.js"},{"revision":null,"url":"assets/lottie-react.esm-BMrLVwC-.js"},{"revision":null,"url":"assets/MarkEmailRead-B6ZiEWoQ.js"},{"revision":null,"url":"assets/Menu-BeKA5iSq.js"},{"revision":null,"url":"assets/MoreHoriz-B1JvEOcC.js"},{"revision":null,"url":"assets/MoreVert-GvhXcnsL.js"},{"revision":null,"url":"assets/notifications-OcsJQIbe.js"},{"revision":null,"url":"assets/open-window-D7sglcpE.js"},{"revision":null,"url":"assets/OpenInNew-C7tW6zIz.js"},{"revision":null,"url":"assets/OutlinedInput-Do_G2JiI.js"},{"revision":null,"url":"assets/overview-DYkC_WUD.js"},{"revision":null,"url":"assets/page-header-Bs0D4BNJ.js"},{"revision":null,"url":"assets/Pagination-CkastftC.js"},{"revision":null,"url":"assets/permission-BXmIoXZx.js"},{"revision":null,"url":"assets/PlayArrow-DDe0KUdi.js"},{"revision":null,"url":"assets/preferences-C4gMbsXE.js"},{"revision":null,"url":"assets/pt-CSZkEO8C.js"},{"revision":null,"url":"assets/pt-DFNHF52P.js"},{"revision":null,"url":"assets/publish-resource-D-e2YEIQ.js"},{"revision":null,"url":"assets/purify.es-DutPtr9A.js"},{"revision":null,"url":"assets/QuestionMarkCircle-BbZ4QGV2.js"},{"revision":null,"url":"assets/RadioGroup-CTXZALsL.js"},{"revision":null,"url":"assets/raf-schd.esm-4I_ky4wN.js"},{"revision":null,"url":"assets/react-beautiful-dnd.esm-0qjksHeu.js"},{"revision":null,"url":"assets/refType-B6FV0kei.js"},{"revision":null,"url":"assets/resource-dialog-D7wZSQZM.js"},{"revision":null,"url":"assets/ru-CPz1NiGU.js"},{"revision":null,"url":"assets/ru-D1ipkx7j.js"},{"revision":null,"url":"assets/sdk-DbJuRsBZ.js"},{"revision":null,"url":"assets/Search-BctSuhZ0.js"},{"revision":null,"url":"assets/Select-DYnsfpKN.js"},{"revision":null,"url":"assets/selector-CbAq7CNk.js"},{"revision":null,"url":"assets/ServerLogo-BLAQXKZ3.js"},{"revision":null,"url":"assets/session-uB27dTXO.js"},{"revision":null,"url":"assets/setup-CfBWQVLM.js"},{"revision":null,"url":"assets/shorten-label-DwdHohLo.js"},{"revision":null,"url":"assets/simple-select-DABb5zZb.js"},{"revision":null,"url":"assets/Skeleton-CVZKKwKZ.js"},{"revision":null,"url":"assets/slicedToArray-oTB17pto.js"},{"revision":null,"url":"assets/Stack-Cc1e8uS3.js"},{"revision":null,"url":"assets/start-6oXQjfyP.js"},{"revision":null,"url":"assets/step-actions-6E9sNomZ.js"},{"revision":null,"url":"assets/Stepper-DsIq58ia.js"},{"revision":null,"url":"assets/studio-rQhXFpEr.js"},{"revision":null,"url":"assets/switch-control-BEdKOp6L.js"},{"revision":null,"url":"assets/TextField-CO9VOqaC.js"},{"revision":null,"url":"assets/th-Bq0BOWuO.js"},{"revision":null,"url":"assets/th-DN9Th20c.js"},{"revision":null,"url":"assets/Toolbar-D_Z1ZGgn.js"},{"revision":null,"url":"assets/toPropertyKey-PLuKRk1e.js"},{"revision":null,"url":"assets/toUpper-DUJEYm58.js"},{"revision":null,"url":"assets/transfer-I7cX7406.js"},{"revision":null,"url":"assets/trim-Dlp2Wnor.js"},{"revision":null,"url":"assets/uniqBy-BSt4eeqO.js"},{"revision":null,"url":"assets/unsubscribe-HqTE-lAn.js"},{"revision":null,"url":"assets/url-join-D5NytcuV.js"},{"revision":null,"url":"assets/use-mobile-CPfu5RWb.js"},{"revision":null,"url":"assets/use-mobile-kPLzB4n2.js"},{"revision":null,"url":"assets/use-passport-id-B-b-_oYF.js"},{"revision":null,"url":"assets/useAsync-BYLVsyCe.js"},{"revision":null,"url":"assets/useFormControl-Cb-boaYc.js"},{"revision":null,"url":"assets/useLocalStorage-DwpjAyRq.js"},{"revision":null,"url":"assets/user-center-De5_2TQv.js"},{"revision":null,"url":"assets/user-sessions-BIa10Xhc.js"},{"revision":null,"url":"assets/useSetState-BZm8P2F-.js"},{"revision":null,"url":"assets/useSlot-2GhS7jdI.js"},{"revision":null,"url":"assets/useSlotProps-Dxo3NBwX.js"},{"revision":null,"url":"assets/useThemeProps-CK1ghsXu.js"},{"revision":null,"url":"assets/util-CJcl9xCr.js"},{"revision":null,"url":"assets/utils-iop7lDec.js"},{"revision":null,"url":"assets/vi-ChReTICx.js"},{"revision":null,"url":"assets/vi-w34NOSIe.js"},{"revision":null,"url":"assets/ViewColumn-DQ20ttLn.js"},{"revision":null,"url":"assets/ViewList-Bnq-Bz9v.js"},{"revision":null,"url":"assets/visuallyHidden-Dan1xhjv.js"},{"revision":null,"url":"assets/wrap-locale-CZRJioV-.js"},{"revision":null,"url":"assets/zh-BTeqEH4T.js"},{"revision":null,"url":"assets/zh-C8AwRuvb.js"},{"revision":null,"url":"assets/zh-tw-BvZpzT6d.js"},{"revision":null,"url":"assets/zh-tw-CJBhIBvB.js"},{"revision":"d72e4c8dddcae1071c2aa3aa643f39b7","url":"index.html"},{"revision":"186b2f1889d7c89ecd30e422ab415c8a","url":"registerSW.js"},{"revision":"07a287e43ae8e959a20d6b367a581667","url":"router-template-styles/styles.css"},{"revision":"ecdddc9b1297e7511cad18529d5cfd89","url":"manifest.webmanifest"}]||[]).filter(s=>s.url!=="/"&&!s.url.includes("index.html")));pe();self.addEventListener("activate",()=>{console.log("Service Worker activated")});self.addEventListener("install",s=>{console.log("Service Worker installed"),s.waitUntil(self.skipWaiting())});const re=s=>!!(s.method!=="GET"||s.url.includes("/api")||s.url.includes("__meta__.js")||s.url.includes("__blocklet__.js"));te(s=>{const{request:e}=s;return re(e)?!1:e.url.includes("/static/")},new mt({cacheName:"static",plugins:[new ut({maxEntries:200})]}));te(s=>{const{request:e}=s;return re(e)?!1:e.url.includes("/images/")||e.url.includes("/router/-template-styles/")},new yt);